#cc-ai-page { background:#fff!important; }
.ai-rich { width:100%; max-width:1280px; padding:55px 48px 64px; margin:0 auto; }
.ar-heading { text-align:center; padding:25px 0 42px; }
.ar-heading>span { font:11px/1.5 Arial,sans-serif; letter-spacing:.14em; color:#77868e; }
#cc-ai-page .ar-heading h2 { margin:18px 0 20px; font-size:clamp(36px,4.5vw,60px); line-height:1.2; letter-spacing:-.04em; color:#171d21; font-weight:600; }
.ar-heading>p { color:#6b7980; font-size:18px; line-height:1.8; margin-bottom:24px; }
.ar-consult { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 26px; border-radius:999px; color:#fff; background:#181d20; font-size:14px; font-weight:600; }
.ar-consult:hover { background:#007b88; color:#fff; }
#cc-ai-page .ar-nav { display:flex; flex-wrap:wrap; justify-content:center; padding:22px 0; margin:0; border-top:1px solid #edf0f1; border-bottom:1px solid #edf0f1; gap:12px 32px; }
#cc-ai-page .ar-nav a { padding:0; border:0; background:transparent; font-size:14px; color:#69777e; border-radius:0; }
#cc-ai-page .ar-nav a:hover { color:#007b88; }
.ar-service { padding:64px 0; border-bottom:1px solid #e8edef; }
.ar-section-label { display:flex; align-items:center; gap:12px; margin-bottom:28px; color:#007989; font-size:14px; }
.ar-section-label>span { font:12px/1.4 Consolas,monospace; padding:6px 9px; background:#edf7f7; border-radius:5px; }
.ar-section-label>b { font-weight:500; }
.ar-overview { display:grid; grid-template-columns:.87fr 1.25fr; align-items:center; gap:48px; }
#ai-section-2 .ar-overview { display:block; }
#ai-section-2 .ar-copy { max-width:1000px; }
#ai-section-2 .ar-main-shot { margin-top:32px; width:100%; }
#ai-section-2 .ar-main-shot .ar-image-button img { aspect-ratio:auto; width:100%; height:auto; }
#cc-ai-page .ar-copy h3 { color:#181f24; font-size:clamp(32px,3.3vw,46px); font-weight:600; line-height:1.25; margin:0 0 22px; letter-spacing:-.035em; }
.ar-headline { color:#2d4852; font-size:20px; line-height:1.65; margin-bottom:18px; }
.ar-description { font-size:16px; color:#72818a; line-height:1.95; }
.ar-shot { min-width:0; margin:0; }
.ar-image-button { display:block; position:relative; width:100%; padding:0!important; border:1px solid #e0e7ec; border-radius:12px!important; background:#f5f7f9; overflow:hidden; cursor:zoom-in; }
#cc-ai-page .ar-image-button { border-radius:12px!important; }
.ar-image-button img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:contain; background:#f4f6f8; transition:transform .35s; }
.ar-main-shot .ar-image-button img { aspect-ratio:4/3; }
.ar-enlarge { position:absolute; right:12px; bottom:12px; padding:5px 10px; border:1px solid #dce6e9; color:#4d6a76; background:#ffffffed; border-radius:999px; font-size:11px; opacity:0; transition:opacity .2s; }
.ar-image-button:hover img { transform:scale(1.018); }
.ar-image-button:hover .ar-enlarge,.ar-image-button:focus-visible .ar-enlarge { opacity:1; }
.ar-shot figcaption { padding:16px 2px 0; }
#cc-ai-page .ar-shot figcaption h4 { font-size:17px; color:#273c46; line-height:1.5; margin:0 0 7px; font-weight:600; }
.ar-shot figcaption p { font-size:14px; color:#89969d; line-height:1.8; margin:0; }
.ar-points { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:35px 0; padding:26px 0; border-top:1px solid #edf0f2; border-bottom:1px solid #edf0f2; }
.ar-points>div { padding-left:17px; border-left:2px solid #b7dfe1; }
#cc-ai-page .ar-points h4 { font-size:18px; font-weight:600; color:#29424c; margin:0 0 10px; line-height:1.5; }
.ar-points p { font-size:15px; color:#7b8a92; line-height:1.85; margin:0; }
.ar-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:30px; }
.ar-gallery-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ar-portrait-gallery .ar-image-button { padding:20px!important; background:linear-gradient(140deg,#f4f8fb,#eaf1f5); }
.ar-portrait-gallery .ar-image-button img { aspect-ratio:auto; height:340px; object-fit:contain; background:transparent; }
.ar-case-heading { max-width:890px; margin-bottom:30px; }
#cc-ai-page .ar-case-heading h3 { font-size:38px; color:#182b34; line-height:1.4; margin-bottom:18px; font-weight:600; }
.ar-case-heading>p { font-size:17px; color:#7a8991; line-height:1.95; }
.ar-dashboard img { aspect-ratio:auto; }
.ar-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-top:38px; }
.ar-stats>div { background:#f6f9fa; border:1px solid #e5ecee; border-radius:10px; padding:23px 18px; }
.ar-stats strong { display:block; color:#087f8d; font-size:32px; font-weight:600; line-height:1.3; letter-spacing:-.035em; }
.ar-stats small { font-size:12px; margin-left:4px; letter-spacing:0; }
.ar-stats>div>span { display:block; font-size:12px; color:#7f8e95; line-height:1.8; margin-top:10px; }
.ar-source-note { margin-top:18px; color:#a1abb0; font-size:11px; line-height:1.8; }
.ar-end { text-align:center; padding:55px 24px 5px; }
#cc-ai-page .ar-end h3 { font-size:30px; line-height:1.5; color:#233841; font-weight:600; margin-bottom:15px; }
.ar-end p { font-size:16px; line-height:1.8; color:#849199; margin-bottom:24px; }
.ar-lightbox { border:1px solid #e0e8eb; border-radius:16px; padding:20px; width: min(1400px,calc(100vw - 36px)); max-height:calc(100dvh - 36px); overflow:auto; margin:auto; background:#fff; color:#243d49; }
.ar-lightbox::backdrop { background:#061723b8; backdrop-filter:blur(6px); }
.ar-lightbox-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; }
.ar-lightbox-title { font-size:17px; font-weight:600; }
.ar-lightbox-close { display:grid; place-items:center; flex:none; width:40px; height:40px; padding:0!important; line-height:1!important; border:1px solid #dfe7eb; background:#fff; color:#34515d; border-radius:50%!important; }
.ar-lightbox-close svg { display:block; }
.ar-lightbox img { display:block; width:auto; max-width:100%; max-height:calc(100dvh - 150px); margin:auto; object-fit:contain; }
@media(max-width:950px) {
 .ai-rich { padding-inline:30px; }.ar-overview { gap:28px; grid-template-columns:1fr 1.1fr; }.ar-stats { grid-template-columns:repeat(3,1fr); }.ar-gallery { gap:18px; }.ar-points { gap:18px; }
}
@media(max-width:700px) {
 .ai-rich { padding:30px 20px 40px; }.ar-heading { padding:12px 0 30px; }#cc-ai-page .ar-heading h2 { font-size:34px; margin:15px 0 18px; }.ar-heading>p { font-size:15px; line-height:1.9; }.ar-heading>span { font-size:9px; }
 #cc-ai-page .ar-nav { gap:14px 22px; padding-block:20px; }#cc-ai-page .ar-nav a { font-size:12px; }
 .ar-service { padding:36px 0; }.ar-section-label { margin-bottom:22px; font-size:12px; gap:9px; }
 .ar-overview { grid-template-columns:1fr; gap:26px; }#cc-ai-page .ar-copy h3 { font-size:32px; margin-bottom:16px; }.ar-headline { font-size:18px; line-height:1.7; margin-bottom:13px; }.ar-description { font-size:15px; line-height:1.95; }
 .ar-main-shot .ar-image-button img { aspect-ratio:16/10; }.ar-gallery,.ar-gallery-two { grid-template-columns:1fr; gap:26px; margin-top:26px; }
 .ar-points { grid-template-columns:1fr; gap:22px; padding:22px 0; margin:28px 0; }#cc-ai-page .ar-points h4 { font-size:17px; margin-bottom:6px; }.ar-points p { font-size:14px; }
 .ar-shot figcaption { padding-top:13px; }#cc-ai-page .ar-shot figcaption h4 { font-size:16px; }.ar-shot figcaption p { font-size:13px; }
 .ar-enlarge { opacity:1; font-size:10px; right:9px; bottom:9px; }.ar-portrait-gallery .ar-image-button img { height:330px; }
 #cc-ai-page .ar-case-heading h3 { font-size:29px; }.ar-case-heading>p { font-size:15px; }.ar-stats { grid-template-columns:repeat(2,1fr); gap:10px; margin-top:28px; }.ar-stats>div { padding:19px 15px; }.ar-stats strong { font-size:28px; }.ar-stats small { font-size:11px; }.ar-stats>div>span { font-size:11px; }
 .ar-end { padding:36px 0 0; }#cc-ai-page .ar-end h3 { font-size:24px; }.ar-end p { font-size:14px; }
 .ar-lightbox { padding:14px; width:calc(100vw - 20px); border-radius:12px; }.ar-lightbox-title { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .ar-image-button img,.ar-enlarge { transition:none; }.ar-image-button:hover img { transform:none; } }
