/* September feedback: relaxed tracking, compact headlines, grouped artwork. */
body { letter-spacing:.045em; }
h1,h2,h3 { font-feature-settings:normal; }
.hero h1 { line-height:1.08; letter-spacing:.005em; max-width:100%; font-feature-settings:"palt"; }
.hero-lead > span { display:inline-block; }
.faq-section { grid-template-columns:290px minmax(0,1fr); }
.faq-heading h2 { font-size:34px; }
.section-head h2,.support-section h2,.flow-section h2,.profile-section h2,.faq-section h2,.contact-section h2,.problem-heading h2 { letter-spacing:.025em; }
.hero .hero-lead { letter-spacing:.025em; font-feature-settings:normal; font-size:clamp(20px,1.8vw,26px); margin-top:28px; max-width:550px; }
.site-header { max-width:none; width:100%; padding-inline:max(32px,calc((100% - 1216px)/2)); }
.global-nav,.header-cta,.button { letter-spacing:.035em; }
.header-cta { white-space:nowrap; }
.problem-portrait { width:330px; max-width:80%; margin:22px auto 0; }
.inline-cta p { font-size:20px; font-weight:900; color:var(--ink); }
.concept-section { display:block; }
.concept-section .section-head { max-width:750px; margin-bottom:30px; }
.concept-section h2 { font-size:clamp(29px,3.1vw,44px); }
.mode-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.mode-list article { padding:20px 24px 24px; background:#fff; border-radius:20px; }
.mode-list article + article { padding:20px 24px 24px; }
.mode-list img { width:100%; height:230px; object-fit:contain; margin-bottom:26px; }
.mode-list h3 { font-size:21px; letter-spacing:.035em; }
.mode-list p { font-size:16px; }
.value-list article > b { font-size:44px; font-weight:800; line-height:1.1; letter-spacing:.03em; }
.approach-person { width:250px; max-height:210px; }
.difference-section { background:#f6f7f8; }
.comparison { border:0; border-radius:20px; overflow:hidden; box-shadow:0 18px 45px #2631400d; }
.comparison > div { grid-template-columns:130px .9fr 1.1fr; border-bottom:1px solid #e6e9ec; }
.comparison span,.comparison strong { padding:26px; font-size:17px; }
.comparison-head { background:#e9edf1; }
.comparison-head span { font-size:15px; font-weight:700; }
.comparison-head span:last-child { background:#202a35; color:#fff; border-top:5px solid #ff8400; }
.comparison .comparison-label { background:#fff; color:#6a7480; font-size:14px; }
.comparison strong { background:#fff2da; color:#252d36; font-size:20px; font-weight:800; }
.comparison strong::before { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:#ff8000; color:white; font-size:17px; }
.profile-section { align-items:start; }
.newsletter-link { position:relative; overflow:hidden; padding:28px 32px; border:0; border-radius:18px; background:linear-gradient(115deg,#202a35,#354957); color:#fff; }
.newsletter-link::after { content:'AI × DESIGN'; position:absolute; right:-12px; bottom:-18px; font-size:68px; font-weight:900; letter-spacing:-.03em; color:#ffffff0a; pointer-events:none; white-space:nowrap; }
.newsletter-link .newsletter-caption { color:#ffca62; }
.newsletter-link h3 { font-size:clamp(24px,2.5vw,34px); letter-spacing:.055em; }
.newsletter-link p { max-width:650px; margin-block:12px; color:#edf1f3; }
.newsletter-link a { position:relative; z-index:1; color:#202a35; background:#ffcf68; border-radius:100px; padding:10px 22px; font-size:14px; text-decoration:none; }
.price-list { gap:24px; padding-top:20px; }
.price-list article,.price-list article:first-child { position:relative; padding:30px 24px; background:#f7f8fa; border:0; border-radius:16px; }
.price-list article.featured { outline:2px solid #ff9900; background:#fff8e8; }
.price-list .recommend-badge { position:absolute; top:-17px; right:22px; margin:0; }
.price-list h3 { min-height:3.2em; letter-spacing:.025em; }
.seminar-offer { position:relative; isolation:isolate; color:white; padding-block:65px; background:#263440 url('./assets/seminar-background.webp') center/cover; overflow:hidden; }
.seminar-offer::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#132431eb,#182734b8); z-index:-1; }
.seminar-offer h2 { font-size:34px; letter-spacing:.04em; }
.seminar-offer p,.seminar-offer .price,.seminar-offer .price span { color:#fff; }
.seminar-offer .seminar-offer-label { color:#ffce76; }
.seminar-offer .draft-note { font-size:13px; color:#e7ebed; }
.image-disclaimer { position:absolute; right:20px; bottom:10px; font-size:12px; color:#e7ebed; }
.site-footer .brand-logo-image { width:300px; }
.service-compare { display:grid; gap:0; border-radius:20px; overflow:hidden; background:white; box-shadow:0 12px 45px #202a3509; }
.service-compare-head,.service-compare-row { display:grid; grid-template-columns:190px 1fr 1fr; }
.service-compare-head > * { padding:28px; margin:0; background:#e9edf0; }
.service-compare-head .compare-spacer { display:flex; align-items:center; background:#fff; font-size:14px; color:#667079; }
.service-compare-head > :last-child { background:#ffde85; color:#202a35; }
.service-compare-head small { display:block; font-size:14px; margin-bottom:8px; }
.service-compare-head strong { font-size:30px; line-height:1.4; letter-spacing:.015em; }
.service-compare-row > * { padding:26px 28px; margin:0; display:flex; align-items:center; border-top:1px solid #e5e9ed; }
.service-compare-row h3 { font-size:16px; color:#48545e; }
.service-compare-row p { font-size:18px; line-height:1.7; color:#667079; background:#fafbfc; }
.service-compare-row p:last-child { background:#fff6df; color:#202a35; font-size:20px; }
.compare-takeaway { margin:28px 0 0; font-size:18px; text-align:center; }
.compare-takeaway strong { display:block; margin-top:4px; font-size:22px; }
.contact-section .assurances { gap:12px; margin-top:26px; }
.contact-section .assurances li { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:12px; padding:16px 14px; background:#fffdf4d9; border:1px solid #ffffff8c; border-radius:14px; min-height:94px; }
.contact-section .assurances img { width:52px; height:52px; }
.contact-section .assurances small { display:block; font-size:12px; color:#635730; font-weight:500; line-height:1.5; letter-spacing:.02em; }
.contact-section .assurances strong { display:block; margin-top:3px; font-size:19px; line-height:1.4; letter-spacing:.035em; }
@media(max-width:900px) { .service-compare-head,.service-compare-row { grid-template-columns:150px 1fr 1fr; } .service-compare-head strong { font-size:25px; } }
@media(max-width:680px) {
 .service-compare { order:2; border-radius:16px; }
 .service-compare-head,.service-compare-row { grid-template-columns:1fr 1fr; }
 .service-compare-head .compare-spacer { display:none; }
 .service-compare-head > * { padding:20px 14px; }
 .service-compare-head small { font-size:12px; min-height:3em; }
 .service-compare-head strong { font-size:21px; display:block; }
 .service-compare-head strong span { display:block; }
 .service-compare-row h3 { grid-column:1/-1; padding:10px 14px; background:#fff; font-size:14px; border-bottom:1px solid #e5e9ed; }
 .service-compare-row p { padding:20px 14px; font-size:15px; border-top:0; }
 .service-compare-row p:last-child { font-size:16px; }
 .compare-takeaway { order:3; font-size:16px; text-align:left; }
 .compare-takeaway strong { font-size:20px; }
 .difference-section .comparison-caveat { order:4; }
 .contact-section .assurances li { grid-template-columns:40px minmax(0,1fr); gap:8px; padding:14px 10px; min-height:84px; }
 .contact-section .assurances img { width:40px; height:44px; }
 .contact-section .assurances small { font-size:11px; }
 .contact-section .assurances strong { font-size:17px; }
}
.difference-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.difference-cards article { background:white; border-radius:18px; overflow:hidden; border:1px solid #e4e8eb; box-shadow:0 10px 25px #23334006; }
.difference-card-top { display:flex; align-items:center; gap:12px; padding:20px 22px 0; }
.difference-card-top span { font-size:32px; line-height:1; font-weight:800; color:#b6bec5; }
.difference-card-top p { margin:0; font-size:14px; font-weight:700; }
.training-side { padding:18px 22px 22px; margin:0; font-size:16px; color:#6c7580; }
.training-side small,.partner-side small { display:block; font-size:12px; margin-bottom:8px; }
.partner-side { background:linear-gradient(135deg,#fff0d0,#fff8e9); border-top:3px solid #ff8400; padding:22px; min-height:232px; }
.partner-side small { color:#9f4e00; font-weight:700; }
.partner-side h3 { font-size:24px; line-height:1.55; margin:16px 0; letter-spacing:.015em; }
.partner-side p { font-size:14px; margin:0; color:#555d65; }
.comparison-caveat { margin:18px 0 0; font-size:12px; color:#6c7580; }
.assurances { gap:18px; }
.assurances li { flex-direction:column; align-items:flex-start; gap:8px; font-size:14px; }
.assurances img { width:64px; height:64px; object-fit:contain; }
.form-status:empty { display:none; }
@media(min-width:681px) and (max-width:1100px) { .difference-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
 .system-section .section-head { display:flex; flex-direction:column; }
 .system-section .section-head h2 { order:-1; }
 .system-section .approach-person { margin:22px auto 0; width:260px; max-height:none; }
 .difference-section { display:flex; flex-direction:column; }
 .difference-section .section-head { order:0; padding-right:0; min-height:0; margin-bottom:0; }
 .difference-section .comparison-person { position:static; order:1; width:135px; height:135px; margin:12px auto 24px; }
 .difference-cards { order:2; grid-template-columns:1fr; gap:24px; }
 .comparison-caveat { order:3; }
 .difference-card-top { padding:20px 24px 0; }
 .training-side { padding:14px 24px 20px; }
 .partner-side { padding:22px 24px 26px; min-height:0; }
 .partner-side h3 { font-size:26px; margin-block:12px; }
 .assurances li { font-size:13px; }
 .assurances img { width:60px; height:60px; }
}
@media(max-width:1050px) {
 .site-header { padding-inline:24px; }
 .mode-list { gap:20px; }
 .mode-list img { height:180px; }
 .mode-list article,.mode-list article + article { padding:20px; }
 .comparison span,.comparison strong { padding:20px 16px; }
 .comparison strong { font-size:18px; }
}
@media(max-width:680px) {
 .faq-section { grid-template-columns:1fr; }
 body { letter-spacing:.035em; }
 .site-header { padding:12px 16px; gap:12px; grid-template-columns:minmax(0,1fr) auto; }
 .site-header .brand-logo-image { width:210px; }
 .header-cta { font-size:11px; padding:10px; gap:5px; }
 .header-cta .cta-triangle { width:8px; }
 .hero h1 { font-size:clamp(32px,10.2vw,58px); line-height:1.1; }
 .hero .hero-lead { font-size:20px; line-height:1.75; }
 .lead-break { display:none; }
 .hero-actions .button { font-size:13px; padding-inline:14px; gap:8px; width:100%; }
 .inline-cta p { font-size:20px; line-height:1.7; }
 .problem-portrait { width:300px; max-width:90%; }
 .mode-list { grid-template-columns:1fr; gap:20px; }
 .mode-list img { height:220px; margin-bottom:20px; }
 .mode-list h3 { font-size:22px; }
 .system-section .section-head { padding-right:0; min-height:0; }
 .approach-person { position:static; margin:0 0 24px auto; width:210px; }
 .value-list article > b { font-size:38px; }
 .comparison > div { grid-template-columns:1fr 1fr; }
 .comparison span,.comparison strong { padding:18px 12px; font-size:14px; }
 .comparison strong { align-items:flex-start; flex-direction:column; gap:10px; }
 .comparison-head span { font-size:13px; }
 .comparison .comparison-label { background:#e9edf1; font-size:14px; }
 .newsletter-link { padding:24px; }
 .newsletter-link h3 { font-size:24px; }
 .price-list h3 { min-height:0; font-size:20px; }
 .price-list { gap:28px; }
 .seminar-offer { border-radius:0; padding-block:48px; }
 .seminar-offer h2 { font-size:28px; }
 .seminar-offer .button { font-size:14px; padding-inline:18px; }
 .contact-section h2 { font-size:27px; }
 .site-footer .brand-logo-image { width:280px; }
}
