/* Readable black typography and quiet architectural motion.
   Loaded last so desktop and small-screen text share one type scale. */
:root { --reading-size: 19px; --support-size: 15px; }
.section-heading > p, .business-intro p, .expertise-card p,
.concept-body p, .industry-grid p, .delivery-grid p,
.capability-detail-grid p, .deliverable-grid p, .faq-list p,
.concept-detail p, .value-grid p, .governance-grid p,
.launch-heading p, .showcase-intro > p, .service-range-intro {
  color: #111;
  font-size: var(--reading-size);
  line-height: 1.85;
}
.hero-content > p, .service-hero-copy > p, .page-intro > p,
.contact-intro > p, .about-intro > p {
  color: #090909;
  font-size: 21px;
  line-height: 1.85;
  font-weight: 450;
}
.hero-content > p { max-width: 660px; }
.hero-content h1 { color: #050505; font-weight: 700; }
.hero-content h1 span { color: #050505; }
.hero-content h1, .hero-content > p, .hero-actions { animation: none; }
.hero-content { padding-top: 90px; }
.hero-actions { margin-top: 32px; }
.business-intro p { max-width: 60ch; }
.section-heading > p { max-width: 52ch; }
.expertise-card h3, .industry-grid h3, .value-grid h3,
.deliverable-grid h3, .governance-grid h3 { color: #080808; font-size: 25px; }
.expertise-card { padding: 34px 28px; }
.expertise-card p { margin-top: 18px; }
.button { font-size: 17px; min-height: 56px; font-weight: 650; }
.text-link, .card-more { font-size: 17px; }
.eyebrow, .hero-overline { font-size: 13px; }
.utility, .language-switch a { color: #111; font-size: 13px; }
.mega-links b { font-size: 17px; }
.mega-links small, .hero-caption, .hero-selector button b,
.hero-selector button > span:first-child, .image-disclaimer,
.form-privacy, .contact-address p, .line-contact p,
.brief-dialog > p, .search-result p, .card-index,
.service-hero-caption, .tags span, .concept-detail li {
  color: #111;
  font-size: var(--support-size);
  line-height: 1.75;
}
.hero-selector button { padding: 17px 16px; min-height: 76px; }
.hero-selector button b { font-weight: 650; }
.hero-caption { letter-spacing: 1px; }
.hero-scroll, .hero-image-note, .image-label { font-size: 12px; }
.hero-image-note { color: #111; background: #ffffffde; padding: 3px 8px; }
.hero-shade {
  background: linear-gradient(90deg, #fffffff5 0%, #ffffffe6 31%, #ffffffa8 52%, #ffffff0a 83%),
    linear-gradient(0deg, #f5f8fcee, transparent 55%);
}
.enterprise-hero { min-height: 800px; }
.hero-frame { transition: opacity 900ms var(--ease); }
.hero-frame.is-active { animation: cinematic-pan 22s ease-in-out infinite alternate; }
.hero-media::after {
  content: "";
  position: absolute;
  inset: -20% -8% -20% 38%;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 25%, #ffffff65 35%, #d5eaff38 42%, transparent 52%);
  transform: translateX(-18%);
  animation: architectural-light 16s ease-in-out infinite alternate;
}
@keyframes cinematic-pan {
  from { transform: scale(1.015) translate3d(0, 0, 0); }
  to { transform: scale(1.085) translate3d(-1.1%, .5%, 0); }
}
@keyframes architectural-light {
  from { transform: translate3d(-18%, 0, 0); opacity: .35; }
  to { transform: translate3d(12%, 0, 0); opacity: .8; }
}
[data-scene-paused="true"] *, [data-scene-paused="true"] ::after {
  animation-play-state: paused !important;
}
.form-grid label, .message-field { color: #080808; font-size: 18px; }
.form-grid input, .form-grid select, .message-field textarea { font-size: 18px; color: #080808; }
input::placeholder, textarea::placeholder { color: #333; font-size: 16px; opacity: 1; }
.interest-options label span { font-size: 16px; color: #111; }
.contact-email, .cta-email { overflow-wrap: anywhere; }
.brief-dialog pre { font-size: 16px; color: #111; line-height: 1.85; }
.dialog-actions .button, .dialog-actions .text-link { font-size: 16px; }
.search-result b { font-size: 18px; color: #111; }
.search-input input, .search-input input::placeholder { color: #111; font-size: 17px; }
.concept-explainer, .demo-disclaimer { color: #111; font-size: 15px; }
.motion-toggle { min-height: 44px; font-size: 11px; background: #fff; color: #111; }
.site-footer p, .site-footer a, .site-footer h3, .footer-brand > span,
.footer-bottom, .footer-brand p:last-child { color: #fff; font-size: 15px; }
.footer-brand p { font-size: 18px; }
.footer-bottom { font-size: 13px; }
.ai-feature p, .ai-lab-section .section-heading > p { color: #fff; font-size: 19px; }
.feature-bullets span { color: #fff; font-size: 16px; }
.ai-feature .button-white { color: #111; }

/* A service directory, with individual enquiries instead of decorative tags. */
.service-range { position: relative; isolation: isolate; overflow: hidden; background: #f6f8fc; }
.service-range::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(ellipse at 80% 20%, #d8e7ff 0, transparent 48%),
    linear-gradient(125deg, #fff, #f3f6fb 55%, #eaf0fa);
}
.service-range-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 36px; }
.service-range-card { padding: 32px 0; border-top: 1px solid #bfcbdc; display: flex; flex-direction: column; align-items: flex-start; }
.service-range-card > span { color: #111; font-size: 13px; letter-spacing: 1px; margin-bottom: 16px; }
.service-range-card h3 { color: #080808; font-size: 25px; line-height: 1.5; letter-spacing: -.4px; }
.service-range-card p { color: #111; font-size: 18px; line-height: 1.85; margin: 14px 0 18px; }
.service-range-card a { margin-top: auto; }
.service-range-card svg { width: 20px; height: 20px; }

/* Interactive software views stay legible inside their device frame. */
.workspace-app { font-size: 14px; color: #111; }
.workspace-sidebar > span, .workspace-sidebar > b, .sidebar-bottom,
.workspace-top, .workspace-top > span:first-child, .sample-badge,
.workspace-title > div > span, .workspace-stats > div > span,
.workspace-stats p, .activity-chart > div:first-child, .workspace-table > div,
.workspace-table td, .workspace-table th, .demo-status { font-size: 12px; color: #111; }
.workspace-tabs { flex-wrap: wrap; gap: 12px 24px; }
.software-demo .workspace-tabs button { color: #111; font-size: 16px; }
.software-demo .workspace-tabs button.is-active { color: #0943b9; }
.workspace-title h3 { font-size: 26px; color: #080808; }
.workspace-stats strong { font-size: 28px; }
.workspace-stats strong small { font-size: 10px; }
.software-demo .chat-question, .software-demo .chat-answer b,
.software-demo .chat-answer p { font-size: 16px; color: #111; }
.software-demo .assistant-header p, .software-demo .chat-answer small { font-size: 13px; color: #111; }
.software-demo .workspace-panel { min-height: 420px; }
.workspace-top { flex-wrap: wrap; }
.workspace-stats { gap: 10px; }
.workspace-stats > div { min-width: 0; }
.workflow-intro p, .workflow-queue > div > div > b,
.workflow-queue > div > div > small, .demo-workflow > div > span,
.demo-workflow small, .chat-sources span, .assistant-prompt,
.team-progress > b, .team-progress > div > span, .team-progress > p {
  font-size: 13px; color: #111;
}
.demo-workflow b, .assistant-header h4 { font-size: 16px; }
.demo-workflow > div.workflow-blue > span,
.demo-workflow > div.workflow-blue > small { color: #fff; }
.chart-scale span { font-size: 11px !important; color: #111; }
@media (hover: hover) and (pointer: fine) {
  .service-range-card a:hover svg { transform: translateX(4px); }
  .service-range-card a svg { transition: transform 180ms var(--ease); }
}
@media (min-width: 1280px) {
  .site-header nav > a, .nav-trigger { font-size: 16px; }
  .header-inner { gap: 18px; }
  .site-header nav { gap: 16px; }
  .header-contact { font-size: 15px; padding-inline: 18px; }
}
@media (max-width: 1279px) {
  .service-range-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  :root { --reading-size: 18px; --support-size: 14px; }
  body { font-size: 18px; }
  .hero-content { padding-top: 48px; }
  .hero-content h1 { font-size: clamp(36px, 9vw, 57px); line-height: 1.42; letter-spacing: -.9px; }
  html[lang="en"] .hero-content h1 { font-size: clamp(37px, 9vw, 58px); line-height: 1.2; }
  .hero-content > p, .service-hero-copy > p, .page-intro > p,
  .contact-intro > p, .about-intro > p { font-size: 19px; line-height: 1.85; }
  .hero-overline { font-size: 10px; letter-spacing: .8px; }
  .hero-caption { font-size: 11px; letter-spacing: .4px; }
  .hero-shade { background: linear-gradient(180deg, #fffffff5 0%, #ffffffee 38%, #ffffffb8 67%, #f5f8fcf5 100%); }
  .hero-selector button { padding: 14px 8px; min-height: 90px; }
  .hero-selector button b { font-size: 12px; line-height: 1.6; }
  .hero-image-note { font-size: 10px; }
  .hero-controls { margin-top: 36px; }
  .hero-actions .button { font-size: 16px; }
  .expertise-card { padding: 28px 22px; }
  .expertise-card h3, .industry-grid h3, .value-grid h3 { font-size: 24px; }
  .service-range-grid { grid-template-columns: 1fr; }
  .service-range-card { padding: 28px 0; }
  .service-range-card h3 { font-size: 26px; }
  .eyebrow { font-size: 12px; letter-spacing: 1.2px; }
  .utility { font-size: 11px; }
  .software-demo .workspace-panel { min-height: 480px; }
  .workspace-title h3 { font-size: 23px; }
  .workspace-stats { grid-template-columns: 1fr 1fr; }
  .workspace-stats > div:last-child { grid-column: 1 / -1; }
  .workspace-stats strong { font-size: 26px; }
  .workspace-table td { font-size: 12px; }
  .workspace-table th { font-size: 11px; }
  .demo-workflow { flex-direction: column; align-items: stretch; }
  .demo-workflow > div { flex: auto; padding: 16px; }
  .demo-workflow > div.workflow-blue { transform: none; }
  .demo-workflow > i { align-self: center; transform: rotate(90deg); }
  .workflow-queue > div { flex-wrap: wrap; }
  .demo-disclaimer { font-size: 14px; }
  .motion-toggle { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-frame.is-active, .hero-media::after { animation: none; transform: none; }
}

/* Detailed service pages: readable briefs beside a lightweight workflow schematic. */
@media (min-width: 1280px) {
  .mega-menu { max-height: calc(100dvh - 160px); overflow-y: auto; overscroll-behavior: contain; }
}
.detail-hero { background: #081d36; color: #fff; padding: 32px 0 72px; }
.detail-hero .breadcrumb, .detail-hero .breadcrumb a { color: #d6e6fc; }
.detail-hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; padding-top: 48px; }
.detail-hero h1 { color: #fff; font-size: clamp(36px, 3.6vw, 64px); line-height: 1.22; margin: 24px 0; text-wrap: balance; }
.detail-hero .eyebrow { color: #9dccff; }
.detail-hero p { color: #eef5ff; font-size: 20px; line-height: 1.8; max-width: 60ch; }
.detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 32px; }
.detail-demo { color: #fff; padding: 12px 0; text-decoration: underline; text-underline-offset: 6px; }
.detail-blueprint { padding: 28px; border: 1px solid #6386b3; border-radius: 16px; background: linear-gradient(140deg, #153b66, #0b2441); box-shadow: 0 24px 60px #0003; }
.blueprint-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 13px; letter-spacing: .1em; }
.detail-blueprint ol { list-style: none; padding: 0; margin: 28px 0 0; }
.detail-blueprint li { position: relative; display: flex; align-items: center; gap: 16px; margin-bottom: 28px; padding: 18px; background: #fff; color: #080e18; border-radius: 8px; font-size: 19px; font-weight: 650; }
.blueprint-number { color: #174bbb; font-variant-numeric: tabular-nums; }
.detail-blueprint li i { position: absolute; left: 31px; bottom: -27px; color: #a4d5ff; font-style: normal; }
.detail-blueprint p { font-size: 15px; margin: 0; }
.detail-scope-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.detail-scope-grid article { padding: 28px; border-top: 3px solid #205bd0; background: #f1f5fa; }
.detail-scope-grid h3 { font-size: 25px; margin: 20px 0 16px; }
.detail-scope-grid p, .detail-delivery p, .detail-preparation p { color: #111; font-size: 19px; line-height: 1.85; }
.detail-delivery { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.detail-delivery h2, .detail-preparation h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.35; margin: 20px 0; }
.detail-deliverables { list-style: none; margin: 0; padding: 0; counter-reset: deliverable; }
.detail-deliverables li { display: flex; align-items: baseline; gap: 20px; padding: 24px 0; border-bottom: 1px solid #afc2dd; font-size: 20px; color: #090909; }
.detail-deliverables li::before { counter-increment: deliverable; content: '0' counter(deliverable); color: #2053b8; font-variant-numeric: tabular-nums; }
.detail-preparation { padding: 40px; border: 1px solid #afc2dd; border-left: 5px solid #205bd0; border-radius: 8px; }
.detail-preparation p { max-width: 72ch; }
.detail-preparation .button { margin-top: 24px; }
.detail-related { padding-top: 0; }
/* Real project references share the existing editorial type and blue palette. */
body[data-page="projects"] .page-intro { padding-top:40px; padding-bottom:40px; }
body[data-page="projects"] .page-intro h1 { font-size:clamp(36px,4.5vw,64px); margin:24px 0; }
body[data-page="projects"] .page-intro .breadcrumb { margin-bottom:32px; }
.customer-section { padding-block:0 clamp(64px,7vw,104px); }
.customer-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; padding-top:40px; margin-bottom:28px; border-top:1px solid #d5deeb; }
.customer-heading h2 { margin:12px 0 0; font-size:clamp(24px,2.5vw,36px); line-height:1.4; }
.customer-heading p { max-width:46ch; margin:0; color:#465870; font-size:15px; line-height:1.8; }
.customer-logo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.customer-logo-card { min-width:0; border:1px solid #d5deeb; border-radius:14px; background:#fff; overflow:hidden; }
.customer-logo-card > a,.customer-logo-card > div { display:flex; flex-direction:column; align-items:center; height:100%; padding:20px 18px; text-align:center; }
.customer-logo-card > a { transition:background-color 180ms ease; }
.customer-logo-card > a:focus-visible { outline:3px solid #1755e9; outline-offset:-4px; border-radius:14px; }
.customer-logo-stage { display:flex; align-items:center; justify-content:center; width:100%; height:116px; margin-bottom:16px; overflow:hidden; }
.customer-logo-stage img { display:block; width:100%; max-width:260px; height:100%; object-fit:contain; }
.customer-logo-eve img { width:220px; max-width:none; height:116px; object-fit:cover; }
.customer-logo-sik img { width:86px; height:88px; }
.customer-logo-masaru { background:#0b0b0c; border-radius:8px; }
.customer-logo-masaru img { width:94%; }
.customer-logo-optimus img { height:auto; clip-path:polygon(0 10%,62% 10%,62% 30%,100% 30%,100% 100%,0 100%); }
.customer-name { color:#172439; font-size:15px; line-height:1.5; font-weight:700; }
.customer-project-link { display:block; min-height:44px; margin-top:4px; padding-top:10px; color:#1d51bb; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
@media (hover:hover) and (pointer:fine) { .customer-logo-card > a:hover { background:#f2f6ff; } }
@media (max-width:900px) { .customer-heading { align-items:start; flex-direction:column; gap:16px; } .customer-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .customer-logo-card:last-child:nth-child(odd) { grid-column:1 / -1; width:calc((100% - 16px) / 2); justify-self:center; } }
@media (max-width:480px) { .customer-logo-grid { gap:10px; } .customer-logo-card > a,.customer-logo-card > div { padding:16px 10px; } .customer-logo-stage { height:90px; } .customer-logo-eve img { height:90px; width:172px; } .customer-name { font-size:14px; } .customer-logo-sik img { width:70px; height:72px; } }
.project-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.project-preview-card { border:1px solid #ccd5e1; border-radius:12px; overflow:hidden; background:#fff; color:#152339; box-shadow:0 2px 5px #102e5208,0 10px 26px #102e520a; transition:transform 180ms var(--ease-snappy),box-shadow 240ms var(--ease-out),border-color 180ms var(--ease-snappy); }
.project-preview-card img { width:100%; height:210px; object-fit:cover; object-position:top; transition:transform 420ms var(--ease-out); }
.project-preview-card > div { padding:24px; }
.project-preview-card h3 { font-size:24px; margin:12px 0; }
.project-preview-card h3 span { float:right; color:#205bd0; transition:transform 150ms var(--ease-snappy); }
.project-preview-card p { font-size:16px; margin:0; line-height:1.75; }
.project-preview-card > div > span { font-size:14px; color:#455870; }
.project-preview { padding-top: clamp(72px, 8vw, 120px); }
.project-preview .section-heading p,
.project-preview-card > div > span,
.project-preview-card p { color:#000; }
.service-groups { background:#f1f5fa; }
.service-group-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.service-group-card { position:relative; isolation:isolate; overflow:hidden; grid-column:span 2; display:flex; flex-direction:column; min-height:360px; padding:32px; border-top:3px solid #205bd0; border-radius:8px; background:#fff; box-shadow:0 2px 4px #102e5208,0 8px 24px #102e520a; transition:transform 180ms var(--ease-snappy),box-shadow 240ms var(--ease-out); }
.service-group-card::before { content:""; position:absolute; inset:0 0 auto; z-index:-1; height:96px; background:linear-gradient(180deg,#eaf1ff,transparent); opacity:0; transform:translate3d(0,-12px,0); transition:opacity 180ms var(--ease-snappy),transform 240ms var(--ease-out); pointer-events:none; }
.service-group-card:nth-child(4),.service-group-card:nth-child(5) { grid-column:span 3; }
.service-group-card .step-number { margin-bottom:28px; }
.service-group-card h3 { color:#000; font-size:clamp(24px,2.1vw,32px); line-height:1.35; }
.service-group-card p { color:#000; font-size:17px; line-height:1.75; margin:18px 0 16px; }
.service-group-card small { display:block; color:#000; font-size:14px; line-height:1.7; margin-bottom:28px; }
.service-group-card .text-link { margin-top:auto; align-self:flex-start; min-height:44px; }
.service-groups .section-bottom p { color:#000; font-size:17px; line-height:1.7; max-width:64ch; }
@media (hover:hover) and (pointer:fine) {
  .project-preview-card:hover { transform:translate3d(0,-4px,0); border-color:#9db5d8; box-shadow:0 4px 10px #102e5210,0 20px 42px #102e521c; }
  .project-preview-card:hover img { transform:scale(1.025); }
  .project-preview-card:hover h3 span { transform:translate3d(3px,-3px,0); }
  .service-group-card:hover { transform:translate3d(0,-4px,0); box-shadow:0 4px 10px #102e5210,0 20px 42px #102e5218; }
  .service-group-card:hover::before { opacity:1; transform:none; }
  .contact-dock a { transition:transform 150ms var(--ease-snappy),box-shadow 180ms var(--ease-snappy); }
  .contact-dock a:hover { transform:translate3d(-3px,0,0); box-shadow:0 8px 24px #102e5224; }
}
.project-preview-card:active,.service-group-card .text-link:active,.contact-dock a:active { transform:scale(.98); }
@media (prefers-reduced-motion:reduce) {
  .project-preview-card:hover,.service-group-card:hover,.contact-dock a:hover,
  .project-preview-card:active,.service-group-card .text-link:active,.contact-dock a:active,
  .project-preview-card:hover img,.project-preview-card:hover h3 span,.service-group-card:hover::before { transform:none; }
}
html[data-motion="off"] .project-preview-card:hover,
html[data-motion="off"] .service-group-card:hover,
html[data-motion="off"] .contact-dock a:hover,
html[data-motion="off"] .project-preview-card:active,
html[data-motion="off"] .service-group-card .text-link:active,
html[data-motion="off"] .contact-dock a:active,
html[data-motion="off"] .project-preview-card:hover img,
html[data-motion="off"] .project-preview-card:hover h3 span,
html[data-motion="off"] .service-group-card:hover::before { transform:none; }
.project-jump { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.project-jump a { display:flex; align-items:center; min-height:44px; padding:12px 20px; border:1px solid #afc2dd; border-radius:24px; }
.project-case { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; padding:56px 0; border-top:1px solid #ccd5e1; scroll-margin-top:120px; }
.project-case figure { margin:0; }
.project-case img { display:block; width:100%; height:auto; border-radius:12px; }
.project-case figcaption { font-size:14px; line-height:1.6; color:#455870; margin-top:16px; }
.project-copy h2 { margin:12px 0 24px; font-size:clamp(28px,3vw,42px); line-height:1.25; }
.project-copy p,.project-copy li { font-size:18px; line-height:1.8; }
.project-copy ul { padding-left:24px; margin:24px 0; }
.project-copy li { margin-bottom:8px; }
.project-actions { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.project-actions .text-link { padding:12px 0; }
.project-contact { padding:40px; border:1px solid #afc2dd; border-radius:12px; margin-bottom:24px; }
.project-contact h2 { font-size:32px; margin:16px 0; }
.project-contact p { margin-bottom:24px; }
.project-demo-link { padding:24px 0 64px; }
.contact-dock { position:fixed; bottom:24px; right:24px; z-index:25; display:flex; flex-direction:column; gap:8px; }
.contact-dock a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 20px; border-radius:28px; background:#fff; border:1px solid #ccd5e1; color:#152339; box-shadow:0 4px 16px #102e5218; font-size:14px; font-weight:600; }
.contact-dock svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.contact-dock .dock-line { background:#e8f6ec; color:#15532b; border-color:#97c6a7; }
.dock-line-mark { font-size:10px; font-weight:800; }
.contact-dock .dock-form { color:#fff; background:#205bd0; border-color:#205bd0; }
.motion-toggle { left:24px; right:auto; }
body.locked .contact-dock { visibility:hidden; }
.form-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#project-form { scroll-margin-top:140px; }
#send-status { line-height:1.75; overflow-wrap:anywhere; }
@media (max-width:1000px) {
  .service-group-grid { grid-template-columns:1fr 1fr; }
  .service-group-card,.service-group-card:nth-child(4),.service-group-card:nth-child(5) { grid-column:auto; }
  .project-preview-grid { gap:16px; }
  .project-preview-card > div { padding:20px; }
  .project-case { gap:28px; }
}
@media (max-width:800px) {
  .service-group-grid { grid-template-columns:1fr; }
  .service-group-card { min-height:0; padding:24px; }
  .project-case,.project-preview-grid { grid-template-columns:1fr; }
  .project-case { padding:32px 0; }
  .project-preview-card img { height:auto; max-height:280px; object-fit:cover; }
  .project-contact { padding:24px; }
  .contact-dock { bottom:0; right:0; left:0; flex-direction:row; gap:8px; padding:8px 12px calc(8px + env(safe-area-inset-bottom)); background:#f7f9fc; border-top:1px solid #ccd5e1; }
  .contact-dock a { flex:1; min-width:0; padding:10px 4px; gap:6px; border-radius:8px; font-size:12px; box-shadow:none; }
  .contact-dock svg { width:18px; height:18px; }
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
  .motion-toggle { position:relative; left:auto; right:auto; bottom:auto; margin:16px; }
}
.detail-related > div { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.detail-related a { padding: 16px 24px; border: 1px solid #afc2dd; border-radius: 8px; color: #123e96; font-weight: 650; }
@media (max-width: 1000px) {
  .detail-hero-grid, .detail-delivery { grid-template-columns: 1fr; gap: 32px; }
  .detail-scope-grid { grid-template-columns: 1fr; gap: 20px; }
  .detail-hero-grid { padding-top: 28px; }
}
@media (max-width: 540px) {
  .detail-blueprint, .detail-scope-grid article, .detail-preparation { padding: 24px; }
  .detail-hero { padding-bottom: 40px; }
  .detail-hero p, .detail-scope-grid p, .detail-delivery p, .detail-preparation p { font-size: 18px; }
  .detail-hero .breadcrumb { flex-wrap: wrap; }
}
