/* Approved fullscreen hero and homepage interactions. */
.artadis-home {
  --ink: #111b23; --blue: #234f7c; --page-surface: #edf0f0;
  --font-inter: 'Montserrat', sans-serif; --font-hankenGrotesk: 'Unbounded', sans-serif;
  --design-ink: var(--ink); --design-blue: var(--blue); --design-muted: #404c56;
  --header-surface: transparent; --header-ink: var(--ink); --header-line: transparent;
  --gutter: clamp(1.5rem,4.2vw,5.5rem); margin: 0;
}
.artadis-home :is(button,input,textarea,select) { font: inherit; }
.artadis-home [hidden] { display: none !important; }
.artadis-home a { color: inherit; text-decoration: none; }
.artadis-home button { cursor: pointer; }
.artadis-home p { margin: 0; }
.artadis-home :is(h1,h2) { font-family: var(--font-hankenGrotesk); font-weight: 600; letter-spacing: -.065em; margin: 0; }
.artadis-home :is(a,button,summary):focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.artadis-home .site-header { border: 0; }
.artadis-home .site-header__inner { max-inline-size: none; min-block-size: 6.75rem; padding: 1.5rem var(--gutter); gap: 2rem; }
.artadis-home .perspective-logo { font-family: 'Unbounded',sans-serif; font-size: 1.75rem; font-weight: 700; letter-spacing: -.07em; gap: .2rem; line-height: 1; }
.perspective-logo__registered { font-family: 'Montserrat',sans-serif; align-self: flex-start; font-size: .6rem; letter-spacing: 0; margin-block-start: -.2rem; }
.perspective-wordmark { white-space: nowrap; }
.perspective-wordmark > span { transition: color .4s; }
.perspective-wordmark > .is-collected { color: #142f4b; }
.perspective-wordmark > .is-arriving { color: #466b8d; }
.perspective-letter-flight { position: fixed; z-index: 101; max-inline-size: none; pointer-events: none; object-fit: contain; transform-origin: center; will-change: transform,opacity; }
.artadis-home .site-navigation { gap: 2.1rem; font-size: .78rem; }
.artadis-home .site-header__cta { background: var(--ink); color: #fff; font-size: .75rem; border-radius: 0; padding: .9rem 1.1rem; gap: 1.9rem; border: 0; }
.artadis-home .site-header__cta:hover { background: var(--blue); color: #fff; }
.artadis-home .site-navigation a:hover { color: var(--blue); }
.artadis-home .site-languages { gap: .12rem; }
.artadis-home .site-languages a { font-family: 'Montserrat',sans-serif; font-size: .62rem; border-radius: 0; padding: .35rem; }
.artadis-home .site-languages a[aria-current] { background: transparent; color: var(--ink); text-decoration: underline; text-underline-offset: .35em; }
.artadis-home .service-menu__panel { border-radius: 0; box-shadow: 0 15px 40px rgb(22 43 61 / .08); font-size: .875rem; }
.artadis-home .service-menu__panel p { margin-block-end: .8rem; }
.artadis-home .design-menu-toggle { border: 1px solid rgb(17 27 35 / .35); border-radius: 0; }
.artadis-home .mobile-menu { background: #edf1f3; color: var(--ink); padding: 1.5rem; }
.artadis-home .mobile-menu__nav { font-family: 'Montserrat',sans-serif; font-size: 1.25rem; }
.artadis-home .mobile-menu__nav > a { overflow-wrap: anywhere; }
.artadis-home .mobile-menu__nav > details > summary::after { color: var(--blue); }
.artadis-home .mobile-menu__services { font-size: .875rem; }
.artadis-home .menu-close { color: var(--ink); border-color: rgb(17 27 35 / .3); }
.home-static-nav { position: absolute; z-index: 110; inset-block-start: 6rem; inset-inline: var(--gutter); display: flex; gap: 2rem; font-size: .75rem; }
.perspective-hero { position: relative; isolation: isolate; block-size: 100vh; block-size: 100svh; min-block-size: 39rem; overflow: clip; background: #e3e9ee; }
.artadis-design .perspective-backdrop { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; max-inline-size: none; object-fit: cover; object-position: 54% 54%; filter: saturate(.55); z-index: -3; }
.perspective-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,rgb(247 249 249 / .7) 0%,rgb(247 249 249 / .53) 35%,rgb(241 246 250 / .12) 65%,rgb(241 246 250 / .02)); }
.perspective-stage { position: absolute; inset: 0; z-index: 0; touch-action: pan-y; outline-offset: -7px; cursor: grab; }
.perspective-stage:active { cursor: grabbing; }
.perspective-stage:focus-visible { outline: 2px solid var(--blue); }
.perspective-stage canvas { display: block; inline-size: 100%; block-size: 100%; opacity: 0; }
.perspective-stage[data-ready="true"] canvas { opacity: 1; }
.perspective-stage[data-flying="true"] canvas { opacity: 0; }
.artadis-design :is(.perspective-fallback,.perspective-noscript) { position: absolute; inline-size: 59%; max-block-size: 66%; block-size: auto; object-fit: contain; inset-inline-start: 70%; inset-block-start: 51%; transform: translate(-50%,-50%); opacity: 0; visibility: hidden; pointer-events: none; }
.perspective-stage[data-state="static"] .perspective-fallback,.artadis-home .perspective-noscript { opacity: 1; visibility: visible; }
.perspective-copy { position: absolute; z-index: 2; inset-inline-start: var(--gutter); inset-block-start: 25%; inline-size: 52%; pointer-events: none; }
.perspective-eyebrow { color: #34495b; font-size: .65rem; font-weight: 500; letter-spacing: .08em; margin-block-end: 1.55rem !important; }
.artadis-home .perspective-copy h1 { font-size: clamp(2.9rem,4.6vw,5.7rem); line-height: 1.12; color: #111b23; }
.perspective-copy h1 span { display: block; white-space: nowrap; }
.artadis-home .perspective-intro { font-size: clamp(.75rem,1.1vw,1.05rem); font-weight: 450; margin-block-start: 1.65rem; color: #344451; }
.perspective-bottom { position: absolute; z-index: 2; inset-inline: var(--gutter); inset-block-end: clamp(2rem,5vh,4rem); display: flex; justify-content: space-between; align-items: end; gap: 2rem; pointer-events: none; }
.perspective-invitation { display: flex; align-items: center; gap: 1.3rem; }
.artadis-home .perspective-invitation h2 { font-size: clamp(1.1rem,1.65vw,1.7rem); line-height: 1.3; letter-spacing: -.05em; }
.perspective-invitation p { font-size: .68rem; color: #344451; margin-block-start: .5rem; }
.perspective-status { font-size: .65rem; color: #253d50; text-align: end; max-inline-size: 18rem; }
.perspective-controls { display: flex; flex-direction: column; align-items: end; gap: .5rem; }
.perspective-picker { display: flex; align-items: center; gap: .9rem; pointer-events: auto; }
.perspective-artwork-name { font-size: .65rem; color: #253d50; }
.perspective-artwork-options { display: flex; gap: .15rem; }
.perspective-artwork-options button { display: grid; place-items: center; position: relative; inline-size: 2.75rem; block-size: 2.75rem; border: 0; padding: 0; background: transparent; color: #34495b; font-family: 'Montserrat',sans-serif; font-size: .68rem; cursor: pointer; }
.perspective-artwork-options button::after { content: ''; position: absolute; inset: auto .6rem .25rem; block-size: 2px; background: currentColor; transform: scaleX(0); transition: transform .2s; }
.perspective-artwork-options button[aria-pressed=true] { color: #173b5e; font-weight: 650; }
.perspective-artwork-options button[aria-pressed=true]::after,.perspective-artwork-options button:hover::after { transform: scaleX(1); }
.perspective-artwork-options button:focus-visible { outline: 2px solid #234f7c; outline-offset: -3px; }
.perspective-artwork-options button:disabled { opacity: .4; cursor: default; }

.perspective-mark { position: relative; display: block; inline-size: 2.9rem; block-size: 2.9rem; flex-shrink: 0; color: var(--blue); transition: transform .4s; }
.perspective-mark i { position: absolute; inline-size: .65rem; block-size: .65rem; border: solid currentColor; border-width: 1px 0 0 1px; }
.perspective-mark i:nth-child(1) { inset: 0 auto auto 0; }
.perspective-mark i:nth-child(2) { inset: 0 0 auto auto; transform: rotate(90deg); }
.perspective-mark i:nth-child(3) { inset: auto 0 0 auto; transform: rotate(180deg); }
.perspective-mark i:nth-child(4) { inset: auto auto 0 0; transform: rotate(270deg); }
.perspective-hero.is-aligned .perspective-mark { transform: scale(.7) rotate(45deg); }
.perspective-touch-hint { display: none; }
.perspective-hero.is-static .perspective-mouse-hint,.perspective-hero.is-static .perspective-touch-hint { display: none; }
@media (width < 75rem) {
  .artadis-home .site-header__inner { gap: 1rem; min-block-size: 6rem; }
  .artadis-home .site-header__cta { display: none; }
  .artadis-home .site-languages { margin-inline-start: auto; }
  .artadis-home .design-menu-toggle { display: flex; align-items: center; justify-content: center; }
}
@media (width < 48rem) {
  .artadis-home .site-header__inner { padding-block: 1.2rem; min-block-size: 5.5rem; }
  .artadis-home .perspective-logo { font-size: 1.25rem; }
  .artadis-home .site-languages a { font-size: .57rem; padding-inline: .25rem; }
  .artadis-home .design-menu-toggle { inline-size: 2.4rem; block-size: 2.4rem; padding: .6rem; }
  .perspective-hero { min-block-size: 38rem; }
  .artadis-design .perspective-backdrop { object-position: 62% center; }
  .perspective-wash { background: linear-gradient(180deg,rgb(248 250 251 / .82),rgb(244 248 251 / .55) 40%,rgb(230 239 247 / .12) 70%,rgb(241 246 249 / .7)); }
  .perspective-copy { inset-block-start: 17%; inline-size: calc(100% - 2 * var(--gutter)); }
  .perspective-eyebrow { font-size: .55rem; letter-spacing: .035em; margin-block-end: 1.1rem !important; }
  .artadis-home .perspective-copy h1 { font-size: clamp(1.8rem,6.4vw,3rem); line-height: 1.17; }
  .artadis-home .perspective-intro { font-size: .66rem; margin-block-start: 1.1rem; }
  .artadis-design :is(.perspective-fallback,.perspective-noscript) { inline-size: 96%; max-inline-size: none; max-block-size: 38%; inset-inline-start: 52%; inset-block-start: 63%; }
  .perspective-bottom { inset-block-end: 1.7rem; flex-direction: column; align-items: stretch; gap: .5rem; }
  .perspective-invitation { gap: .6rem; }
  .artadis-home .perspective-invitation h2 { font-size: 1.1rem; }
  .perspective-invitation p { font-size: .57rem; max-inline-size: 14rem; }
  .perspective-mark { inline-size: 2rem; block-size: 2rem; }
  .perspective-controls { flex-direction: row; align-items: center; justify-content: space-between; gap: .7rem; }
  .perspective-picker { gap: .3rem; order: 2; }
  .perspective-artwork-name { display: none; }
  .perspective-artwork-options { gap: 0; }
  .perspective-artwork-options button { inline-size: 2rem; block-size: 2.75rem; font-size: .6rem; }
  .perspective-status { text-align: start; font-size: .55rem; max-inline-size: calc(100% - 8.7rem); }
}
@media (pointer: coarse) {
  .perspective-mouse-hint { display: none; }
  .perspective-touch-hint { display: block; }
}
@media (height < 42rem) and (width >= 48rem) {
  .perspective-hero { min-block-size: 30rem; }
  .perspective-copy { inset-block-start: 24%; }
  .artadis-home .perspective-copy h1 { font-size: clamp(2rem,4.2vw,4rem); }
  .perspective-bottom { inset-block-end: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .perspective-stage canvas,.perspective-fallback,.perspective-mark,.perspective-wordmark > span { transition: none; }
}

/* Below the approved hero: editorial work, native disclosures and quiet motion. */
.home-shell { inline-size: calc(100% - var(--gutter) * 2); max-inline-size: 92rem; margin-inline: auto; }
.home-section { padding-block: clamp(5rem,9vw,9rem); }
.home-section-label { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-block-end: 3.5rem; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.home-section-label > :last-child { text-align: end; }
.artadis-home .home-heading { display: grid; grid-template-columns: 1.65fr 1fr; gap: 4rem; align-items: end; margin-block-end: 5rem; }
.artadis-home .home-heading h2,.artadis-home .approach-copy h2 { font-size: clamp(2.4rem,4.4vw,5rem); line-height: 1.15; }
.home-heading > p { max-inline-size: 27rem; font-size: 1rem; line-height: 1.8; color: #4c5d69; }
.artadis-home .home-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.4rem; min-block-size: 2.75rem; padding-block: .5rem; border-block-end: 1px solid currentColor; font-size: .875rem; font-weight: 500; }
.home-link > span { transition: transform .25s; }
.home-link:hover > span { transform: translate(3px,-3px); }
.home-route { display: flex; align-items: center; gap: 2rem; padding: 1.5rem var(--gutter); background: #f8fafb; font-size: .6rem; letter-spacing: .14em; border-block-end: 1px solid #d5dfe5; }
.home-route__line { block-size: 1px; background: #bacbd7; flex: 1; }
.home-works { background: #f8fafb; }
.work-case { min-inline-size: 0; }
.work-case--beauty { margin-block-start: 8rem; --case-rest: 1.6deg; }
.work-gallery { min-inline-size: 0; }
.work-image { position: relative; background: #e1eaf0; padding: clamp(1rem,1.6vw,1.6rem); transform: perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) rotate(var(--case-rest,-1.4deg)); transition: transform .3s; }
.work-case--beauty .work-image { background: #e8e8ee; }
.artadis-design .work-image > img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; box-shadow: 0 12px 35px rgb(24 47 64 / .08); transition: transform .4s, opacity .2s; }
.work-image[aria-busy="true"] > img { opacity: .55; }
.work-zoom { position: absolute; inset: 0; inline-size: 100%; border: 0; background: transparent; color: #fff; padding: 1rem; display: flex; align-items: end; justify-content: end; }
.work-zoom > span { display: inline-flex; gap: 1rem; align-items: center; background: #173f61; padding: .65rem .8rem; font-size: .65rem; transition: background .2s, transform .2s; }
.work-zoom i { font-style: normal; font-size: 1rem; }
.work-zoom:hover > span { background: #111b23; transform: translateY(-3px); }
.work-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block-start: 1rem; }
.work-controls > div { display: flex; gap: 1.3rem; flex-wrap: wrap; }
.work-controls button { position: relative; min-block-size: 2.75rem; padding: .4rem 0; border: 0; border-block-end: 2px solid transparent; background: transparent; color: #536471; font-size: .68rem; }
.work-controls button[aria-pressed="true"] { color: var(--ink); border-color: var(--blue); }
.work-controls button:hover { color: var(--blue); }
.work-count { flex-shrink: 0; font-size: .57rem; color: #536471; font-variant-numeric: tabular-nums; }
.work-index { color: #5c6d79; font-size: .6rem; letter-spacing: .03em; }
.artadis-home .work-copy h3 { font-family: 'Unbounded',sans-serif; font-size: clamp(1.5rem,2.2vw,2.2rem); font-weight: 600; letter-spacing: -.06em; line-height: 1.2; margin-block: .9rem; }
.work-copy > p { font-size: .9375rem; line-height: 1.85; max-inline-size: 28rem; color: #465966; }
.work-tags { display: flex; flex-wrap: wrap; gap: .45rem 1.2rem; padding: 0; margin-block: 1.5rem 2rem; list-style: none; }
.work-tags li { font-size: .6875rem; color: #536471; }
.work-tags li::before { content: '/'; margin-inline-end: .5rem; color: #758c9c; }
.home-works-more { display: flex; justify-content: end; padding-block-start: 3rem; }
.home-capabilities { background: #eef2f4; }
.capability { border-block-start: 1px solid #b7c5cf; }
.capability:last-child { border-block-end: 1px solid #b7c5cf; }
.capability > summary { display: grid; grid-template-columns: 3rem 1fr 2rem; align-items: center; gap: 1.5rem; padding-block: 1.8rem; cursor: pointer; list-style: none; }
.capability > summary::-webkit-details-marker { display: none; }
.capability-index { font-size: .68rem; color: #536c80; }
.artadis-home .capability h3 { font-family: 'Unbounded',sans-serif; font-size: clamp(1.2rem,2.3vw,2.7rem); line-height: 1.35; font-weight: 450; letter-spacing: -.05em; margin: 0; transition: color .2s, transform .2s; }
.capability > summary:hover h3 { color: var(--blue); transform: translateX(5px); }
.capability-plus { display: block; font-weight: 300; font-size: 2rem; line-height: 1; color: var(--blue); text-align: center; transition: transform .25s; }
.capability[open] .capability-plus { transform: rotate(45deg); }
.capability-body { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; padding-block: 0 2.5rem; padding-inline: 4.5rem 3.5rem; }
.capability-body > p { max-inline-size: 34rem; font-size: .9375rem; line-height: 1.85; color: #465966; }
.capability-body ul { list-style: none; padding: 0; margin: 0; }
.capability-body li + li { margin-block-start: .2rem; }
.capability-body a { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; min-block-size: 2.75rem; font-size: .875rem; padding-block: .5rem; border-block-end: 1px solid #d5dee4; }
.capability-body a:hover { color: var(--blue); }
.capability-custom { display: flex; justify-content: end; margin-block-start: 2rem !important; }
.home-approach { background: #234f7c; color: #fff; }
.home-approach .home-section-label { color: #dce8f2; }
.approach-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 7rem; }
.approach-copy > p { margin-block-start: 1.8rem; max-inline-size: 25rem; font-size: .9375rem; line-height: 1.85; color: #e2edf5; }
.approach-drawing { position: relative; inline-size: 26rem; max-inline-size: 100%; block-size: 20rem; margin-block-start: 3rem; perspective: 800px; }
.approach-tabs { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; border-block-end: 1px solid #7e9fbc; }
.approach-tabs button { display: flex; flex-direction: column; gap: .7rem; padding: 0 0 1rem; border: 0; border-block-end: 2px solid transparent; background: transparent; color: #d5e4ef; font-size: .7rem; text-align: start; }
.approach-tabs button span { font-size: .6rem; color: #d5e4ef; }
.approach-tabs button[aria-selected="true"] { color: #fff; border-color: #fff; }
.approach-tabs button:hover { color: #fff; }
.approach-tabs button:focus-visible { outline-color: #fff; }
.approach-panel { padding-block-start: 3rem; min-block-size: 23rem; }
.approach-panel-index { display: block; font-size: .65rem; color: #d5e4ef; margin-block-end: 1.3rem; }
.artadis-home .approach-panel h3 { font-family: 'Unbounded',sans-serif; font-size: clamp(1.4rem,2.2vw,2.3rem); font-weight: 450; line-height: 1.4; letter-spacing: -.045em; margin: 0 0 1.5rem; }
.approach-panel > p { font-size: .9375rem; line-height: 1.85; color: #e2edf5; max-inline-size: 29rem; }
.approach-result { border-block-start: 1px solid #7e9fbc; margin-block-start: 2.5rem; padding-block-start: 1.2rem; }
.approach-result > span { font-size: .6rem; text-transform: uppercase; letter-spacing: .1em; color: #d5e4ef; }
.approach-result > p { margin-block-start: .7rem; font-size: .8rem; color: #fff; }
.artadis-home .home-contact { --contact-surface: #f5f7f8; --contact-ink: #111b23; --contact-muted: #4c5d69; --contact-line: #bdcbd4; --form-surface: transparent; --form-radius: 0; --input-line: #becbd3; --input-radius: 0; --form-error: #a02222; --button-surface: #234f7c; --button-hover: #173b5e; --button-radius: 0; padding-block: clamp(5rem,9vw,9rem); }
.artadis-home .home-contact .contact-layout { grid-template-columns: 1fr 1fr; gap: 7rem; }
.artadis-home .home-contact h2 { font-size: clamp(3rem,5.5vw,6rem); line-height: 1.13; }
.home-contact .contact-intro { font-size: .9375rem; line-height: 1.85; margin-block-start: 2rem; max-inline-size: 25rem; }
.home-contact-links { margin-block-start: 3rem; }
.home-email { display: grid; grid-template-columns: 1fr 2.75rem; gap: .8rem 1rem; align-items: center; }
.home-email > span { grid-column: 1 / -1; font-size: .63rem; color: #4c5d69; }
.home-email > a { font-size: clamp(.9rem,1.7vw,1.5rem); font-weight: 500; letter-spacing: -.04em; overflow-wrap: anywhere; }
.home-email button { display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border: 1px solid #bdcbd4; background: transparent; color: #234f7c; }
.home-email svg { inline-size: 1.2rem; block-size: 1.2rem; }
.home-email button:hover { background: #e0e9ef; }
.home-copy-status { min-block-size: 1.8rem; font-size: .62rem; color: #234f7c; }
.home-direct-links { display: flex; align-items: end; justify-content: space-between; gap: 1.4rem; border-block-start: 1px solid #bdcbd4; padding-block-start: 1.2rem; }
.home-direct-links > a { font-size: .8rem; }
.home-direct-links > a > span:first-child:not([aria-hidden]) { display: block; font-size: .6rem; color: #4c5d69; margin-block-end: .5rem; }
.artadis-home .home-contact .contact-form-wrap { border: 0; padding: 0; }
.artadis-home .home-contact .contact-form-area h3 { font-family: 'Unbounded',sans-serif; font-size: 1.4rem; line-height: 1.45; font-weight: 450; letter-spacing: -.045em; margin: 0 0 2rem; }
.home-contact .contact-form-area .row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.3rem; }
.home-contact .col-lg-12 { grid-column: 1 / -1; }
.artadis-home .home-contact .contact-form-area :is(input:not([type=submit],[type=checkbox],[type=radio],[type=hidden]),textarea) { font-size: 1rem; border: 0; border-block-end: 1px solid #a2b4c1; background: #eaf0f4; min-block-size: 3rem; padding: .85rem; }
.artadis-home .home-contact .contact-form-area :is(input,textarea):focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.artadis-home .home-contact .contact-form-area textarea { block-size: 8rem; }
.artadis-home .home-contact .contact-form-area label { font-size: .75rem; }
.artadis-home .home-contact .contact-form-area input[type=submit] { inline-size: 100%; font-size: .8rem; cursor: pointer; }
.artadis-home .home-contact .contact-form-area .form-inner > p { margin: 0; }
.home-form-note { margin-block-start: .8rem !important; font-size: .6rem; color: #4c5d69; }
.home-contact form.submitting input[type=submit] { opacity: .7; cursor: progress; }
.home-footer { background: #f5f7f8; padding-block: 0 2rem; }
.home-footer-top,.home-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-block-start: 1px solid #bdcbd4; padding-block-start: 1.4rem; font-size: .6rem; color: #4c5d69; }
.home-footer-top .home-link { font-size: .66rem; border: 0; }
.home-signature { display: flex; justify-content: space-between; font-family: 'Unbounded',sans-serif; font-size: clamp(3rem,14vw,16rem); font-weight: 650; line-height: 1.4; letter-spacing: -.07em; padding-block: 2rem; }
.home-signature > span { display: inline-block; transition: transform .35s, color .35s; }
.home-footer-bottom { font-size: .6rem; }
.work-lightbox { inline-size: min(94vw,100rem); max-inline-size: none; block-size: min(92svh,70rem); max-block-size: none; padding: 1.3rem; border: 0; color: #111b23; background: #f6f8fa; }
.work-lightbox::backdrop { background: rgb(11 28 43 / .85); }
.work-lightbox[open] { display: flex; flex-direction: column; gap: .8rem; }
.work-lightbox-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.artadis-home .work-lightbox-top h2 { font-size: 1.2rem; line-height: 1.4; }
.work-lightbox button { display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border: 1px solid #becbd5; background: transparent; color: #111b23; }
.work-lightbox-top button { font-size: 1.5rem; }
.work-lightbox-image { flex: 1; min-block-size: 0; display: grid; place-items: center; overflow: auto; }
.artadis-design .work-lightbox-image img { inline-size: 100%; block-size: 100%; object-fit: contain; }
.work-lightbox-bottom { display: flex; align-items: center; gap: 1rem; }
.work-lightbox-bottom p { font-size: .7rem; }
.work-lightbox-bottom .home-link { margin-inline-start: auto; font-size: .7rem; }
.home-services-overview { grid-column: 1 / -1; border-block-end: 1px solid #d5dfe5; }
.artadis-home .site-header.is-scrolled { --header-surface: #f5f7f8; box-shadow: 0 1px 0 #c9d4db; }
.artadis-home .site-header.is-scrolled .site-header__inner { min-block-size: 5.4rem; padding-block: .9rem; }
.artadis-home .site-header::after { content: ''; position: absolute; inset-block-end: 0; inset-inline-start: 0; block-size: 2px; inline-size: calc(var(--reading-progress,0) * 100%); background: var(--blue); pointer-events: none; }
.perspective-touch-zone { display: none; }
[data-reveal] { transition: opacity .75s, transform .75s cubic-bezier(.2,.75,.2,1); }
[data-reveal].is-waiting { opacity: 0; transform: translateY(36px); }

/* A compact, deliberately offset pair replaces the two full-width case studies. */
.work-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: clamp(2.5rem,6vw,6rem); max-inline-size: 70rem; margin-inline: auto; padding: 1rem .5rem 0; }
.work-copy { margin-block-start: 1.8rem; }
.work-case:is(:hover,:focus-within) { --case-rest: 0deg; }
.home-works .home-heading { margin-block-end: 3rem; }

/* A tactile instrument: one idea viewed through four disciplines. */
.home-studio { background: #f8fafb; }
.studio-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(3rem,9vw,9rem); align-items: center; }
.artadis-home .studio-copy h2 { font-size: clamp(2.3rem,4.2vw,4.8rem); line-height: 1.16; }
.studio-copy > p { max-inline-size: 36rem; margin-block-start: 2rem; font-size: 1rem; line-height: 1.85; color: #405666; }
.studio-copy .studio-footnote { font-size: .875rem; max-inline-size: 30rem; }
.studio-copy .home-link { margin-block-start: 2rem; }
.studio-instrument { min-inline-size: 0; }
.view-dial { position: relative; display: block; inline-size: min(100%,25rem); aspect-ratio: 1; margin-inline: auto; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ink); touch-action: none; cursor: grab; }
.view-dial:active { cursor: grabbing; }
.view-dial svg { display: block; inline-size: 100%; block-size: 100%; overflow: hidden; fill: none; }
.dial-track { stroke: #c5d0d8; stroke-width: 1; }
.dial-ticks { stroke: #111b23; stroke-width: 12; stroke-dasharray: 1 12.27; }
.dial-rotor { transform: rotate(var(--dial-angle,0deg)); transform-origin: 200px 200px; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.view-dial.is-dragging .dial-rotor { transition: none; }
.dial-arc { stroke: #234f7c; stroke-width: 12; stroke-dasharray: 190 966; transform-origin: 200px 200px; transform: rotate(-120deg); }
.dial-handle { fill: #234f7c; stroke: #f8fafb; stroke-width: 3; }
.dial-rotor path { stroke: #234f7c; stroke-width: 2; }
.dial-center { position: absolute; inset: 23% 10%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1.3rem; pointer-events: none; }
.dial-count { font-size: .8rem; color: #536a7b; }
.dial-word { font-family: 'Unbounded',sans-serif; font-size: clamp(1.5rem,2.6vw,2.6rem); font-weight: 550; letter-spacing: -.06em; }
.dial-turn { color: #234f7c; font-size: 2rem; line-height: 1; }
.dial-invitation { text-align: center; font-size: .7rem; margin-block: 1rem 1.6rem !important; color: #405666; }
.dial-invitation > span { margin-inline-start: .5rem; }
.dial-choices { display: flex; justify-content: space-between; gap: .5rem; border-block-end: 1px solid #bccbd5; }
.dial-choices button { border: 0; border-block-end: 2px solid transparent; padding: .7rem .15rem; min-block-size: 2.75rem; background: transparent; color: #536a7b; font-size: .75rem; }
.dial-choices button[aria-pressed=true] { border-color: #234f7c; color: #111b23; }
.studio-perspectives { min-block-size: 7.5rem; padding-block-start: 1.3rem; }
.studio-perspectives p { font-size: .875rem; line-height: 1.8; color: #405666; }

/* One connected system: readable nodes, parallel routes and a bounded cycle. */
.home-connections { background: #f8fafb; }
.connection-lab { background: #edf3f7; border: 1px solid #b5c7d4; }
[data-lab-group="0"] { --group-color: #4f78a5; }
[data-lab-group="1"] { --group-color: #857099; }
[data-lab-group="2"] { --group-color: #548678; }
[data-lab-group="3"] { --group-color: #ab7767; }
.lab-group-dot { display: inline-block; flex: 0 0 auto; inline-size: .4rem; block-size: .4rem; border-radius: 50%; background: var(--group-color); }
.lab-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem 1.25rem; border-block-end: 1px solid #c6d5df; font-size: .65rem; letter-spacing: .04em; color: #405666; }
.lab-rhythm { display: flex; align-items: center; gap: .6rem; }
.lab-clock { inline-size: 1.4rem; block-size: 1.4rem; fill: none; stroke: #234f7c; stroke-width: 1.3; }
.lab-clock path { transform-origin: center; transform: rotate(var(--cycle,0deg)); }
.lab-command { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem 1.25rem 0; flex-wrap: wrap; }
.lab-scenarios { display: flex; flex-wrap: wrap; gap: .3rem; }
.lab-scenarios button { border: 1px solid transparent; background: transparent; color: #405666; min-block-size: 2.75rem; padding: .5rem .75rem; font-size: .75rem; transition: background .2s,color .2s; }
.lab-scenarios button[aria-pressed=true] { background: #fff; border-color: #b5c7d4; color: #173b5e; }
.lab-scenarios button:hover { background: #e0e9f0; }
.lab-actions { display: flex; align-items: center; gap: .75rem; }
.lab-actions .lab-run { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; min-block-size: 2.75rem; padding: .6rem 1rem; border: 0; background: #234f7c; color: #fff; font-size: .75rem; }
.lab-run:hover { background: #163c5d; }
.lab-run span { font-size: 1rem; }
.lab-actions .lab-toggle { padding: .5rem 0; border: 0; background: transparent; color: #234f7c; font-size: .7rem; min-block-size: 2.75rem; }
.lab-toggle:disabled { opacity: .5; cursor: default; }
.lab-scenario-note { margin: .5rem 1.25rem .8rem !important; max-inline-size: 53rem; font-size: .75rem; line-height: 1.75; color: #405666; }
.lab-viewport { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: #8da9bd #e1ebf2; scrollbar-width: thin; border-block: 1px solid #c6d5df; }
.lab-board { position: relative; min-inline-size: 48rem; block-size: clamp(22rem,44svh,27rem); isolation: isolate; background-image: radial-gradient(#b9cad6 .7px,transparent .7px); background-size: 20px 20px; }
.lab-zones { position: absolute; inset: 1rem 0 auto; display: grid; grid-template-columns: repeat(4,1fr); pointer-events: none; color: #526979; font-size: .6rem; }
.lab-zones > span { display: flex; align-items: center; gap: .5rem; padding-inline-start: 14%; }
.lab-lines { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; overflow: visible; pointer-events: none; }
.lab-lines > path { fill: none; stroke: #a3b8c7; stroke-width: 1; transition: opacity .2s,stroke .2s; }
.lab-lines > path.is-passed { stroke: #6b8fab; }
.lab-lines > path.is-flowing { stroke: #234f7c; stroke-width: 1.7; }
.lab-lines > path.is-outside { opacity: .2; }
.lab-packet { fill: #234f7c; stroke: #edf3f7; stroke-width: 2; }
.lab-node { position: absolute; inset-inline-start: var(--node-x); inset-block-start: var(--node-y); transform: translate(-50%,-50%); inline-size: clamp(7rem,9.4vw,8.6rem); block-size: 3.75rem; display: flex; flex-direction: column; align-items: start; justify-content: center; gap: .35rem; padding: .55rem .7rem; border: 1px solid #a6bccb; background: #f8fafc; box-shadow: 2px 3px 0 #cfdee8; color: #294d69; text-align: start; cursor: grab; touch-action: none; user-select: none; transition: background .25s,color .25s,box-shadow .25s,opacity .25s; }
.lab-node:active { cursor: grabbing; z-index: 2; }
.lab-node[aria-pressed=true] { border-color: #234f7c; box-shadow: 3px 4px 0 #234f7c; z-index: 1; }
.lab-node.is-reached { border-color: #6689a5; background: #e0eaf2; }
.lab-node.is-working { border-color: #234f7c; background: #234f7c; color: #fff; box-shadow: 2px 3px 0 #a4bdd1; }
.lab-node-mark { display: flex; }
.lab-node-mark svg { inline-size: 1.25rem; block-size: 1.25rem; }
.lab-node-index { position: absolute; inset: .65rem .6rem auto auto; display: flex; align-items: center; gap: .4rem; font-size: .5rem; letter-spacing: .04em; }
.lab-node strong { font-size: .72rem; font-weight: 600; line-height: 1.2; }
.connection-lab.has-focus .lab-node:not(.is-neighbor) { background: #edf3f7; color: #536a7b; border-color: #c6d5df; box-shadow: none; }
.connection-lab.has-focus .lab-lines > path:not(.is-related) { opacity: .12; }
.connection-lab.has-focus .lab-lines > path.is-related { opacity: 1; stroke: #234f7c; stroke-width: 1.8; }
.lab-pan-hint { display: none; }
.lab-bottom { display: flex; align-items: center; gap: 1rem; padding: .6rem 1.25rem; border-block-end: 1px solid #c6d5df; }
.lab-bottom p { font-size: .7rem; line-height: 1.6; color: #234f7c; }
.lab-beats { display: flex; flex: 0 0 auto; gap: .3rem; }
.lab-beats i { inline-size: 1.1rem; block-size: .2rem; background: #bfd1df; }
.lab-beats i.is-current,.lab-beats i.is-done { background: #234f7c; }
.lab-caption { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 2rem; padding: 1rem 1.25rem; }
.lab-node-description > span { font-family: 'Unbounded',sans-serif; font-size: .9rem; font-weight: 500; }
.lab-node-description > p { margin-block-start: .6rem; max-inline-size: 48rem; font-size: .8rem; line-height: 1.75; color: #405666; }
.lab-related { display: flex; flex-wrap: wrap; gap: .1rem .9rem; margin-block-start: .5rem; }
.lab-related:empty { display: none; }
.lab-related button { border: 0; background: transparent; color: #234f7c; padding: .5rem 0; min-block-size: 2rem; font-size: .68rem; text-decoration: underline; text-underline-offset: .3em; text-decoration-color: #b3c7d6; }
.lab-services { margin-block-start: .65rem; padding-block-start: .65rem; border-block-start: 1px solid #c6d5df; }
.lab-services > span { display: block; color: #526979; font-size: .6rem; margin-block-end: .3rem; }
.lab-services ul { display: flex; flex-wrap: wrap; gap: .1rem 1rem; list-style: none; padding: 0; margin: 0; }
.lab-services li { min-inline-size: 0; }
.lab-services a { display: inline-flex; align-items: baseline; gap: .5rem; padding-block: .3rem; min-block-size: 1.75rem; font-size: .72rem; line-height: 1.5; font-weight: 600; }
.lab-services a:hover { text-decoration: underline; text-underline-offset: .3em; }
.lab-services a > span { color: #234f7c; }
.lab-view-actions { display: flex; flex-direction: column; align-items: end; }
.lab-view-actions :is(.lab-overview,.lab-reset) { border: 0; background: transparent; min-block-size: 2.75rem; color: #405666; font-size: .7rem; padding: .4rem 0; }

/* Visible sheets replace the small line decoration in the process section. */
.approach-sheet { position: absolute; inset: 2rem 3rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1.3rem; border: 1px solid #b4cbde; transition: transform .75s cubic-bezier(.2,.8,.2,1); }
.approach-sheet > span { font-size: .6rem; letter-spacing: .08em; }
.approach-sheet--back { background: #173b5e; transform: translate(-2rem,.6rem) rotate(-17deg); }
.approach-sheet--back b { font-size: 6rem; font-weight: 400; line-height: 1; }
.approach-sheet--middle { background: #cbdce9; color: #173b5e; transform: translate(2rem,-.6rem) rotate(14deg); }
.approach-sheet--middle > i { display: block; block-size: 1.5rem; inline-size: 80%; background: #6d93b2; }
.approach-sheet--middle > i:last-child { inline-size: 55%; }
.approach-sheet--front { background: #f3f7fa; color: #173b5e; transform: rotate(-3deg); }
.approach-sheet--front strong { font-family: 'Unbounded',sans-serif; font-size: 5rem; letter-spacing: -.08em; font-weight: 550; line-height: 1; }
.approach-sheet--front > div { display: flex; gap: .5rem; }
.approach-sheet--front i { inline-size: 2.3rem; block-size: .3rem; background: #234f7c; }
.home-approach[data-step="1"] .approach-sheet--back { transform: translate(-2.3rem,.6rem) rotate(-8deg); }
.home-approach[data-step="1"] .approach-sheet--middle { transform: translate(1.8rem,-.5rem) rotate(7deg); }
.home-approach[data-step="1"] .approach-sheet--front { transform: rotate(0); }
.home-approach[data-step="2"] .approach-sheet--back { transform: translate(0,1rem); }
.home-approach[data-step="2"] .approach-sheet--middle { transform: translate(0,.5rem); }
.home-approach[data-step="2"] .approach-sheet--front { transform: rotate(0); }
.home-approach[data-step="3"] .approach-sheet--back { transform: translate(-1rem,1rem) rotate(-5deg); }
.home-approach[data-step="3"] .approach-sheet--middle { transform: translate(1rem,-1rem) rotate(5deg); }
.home-approach[data-step="3"] .approach-sheet--front { transform: translateY(-1.7rem) rotate(0); }

.home-toolkit { background: #eef2f4; padding-block: 4rem; }
.home-toolkit .home-section-label { margin-block-end: 2rem; }
.artadis-home .home-toolkit .home-heading { margin-block-end: 2.5rem; }
.artadis-home .home-toolkit .home-heading h2 { font-size: clamp(2rem,3.4vw,3.6rem); }
.home-toolkit .home-heading > p { font-size: .875rem; }
.toolkit-layout { display: grid; grid-template-columns: 1.35fr .85fr; gap: 4rem; align-items: start; }
.toolkit-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1.5rem; }
.toolkit-choices button { display: flex; align-items: center; gap: .75rem; inline-size: 100%; min-block-size: 4.1rem; padding: .7rem .3rem; border: 0; border-block-start: 1px solid #bdcbd4; text-align: start; background: transparent; color: #506472; transition: color .2s,background .2s; }
.toolkit-choices button:nth-last-child(-n+2) { border-block-end: 1px solid #bdcbd4; }
.toolkit-choices .tool-name { font-family: 'Unbounded',sans-serif; font-size: clamp(.7rem,1.05vw,1.05rem); font-weight: 450; letter-spacing: -.045em; }
.tool-logo { display: inline-block; flex: 0 0 auto; inline-size: 2rem; block-size: 2rem; background: currentColor; mask: var(--tool-mark) center / contain no-repeat; }
.toolkit-choices button > i { margin-inline-start: auto; font-style: normal; font-size: .9rem; }
.toolkit-choices button[aria-pressed=true] { color: #234f7c; background: #e0e9ef; }
.toolkit-symbol { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.5rem; background: #dde7ee; color: #234f7c; block-size: 10rem; overflow: clip; }
.toolkit-symbol > span { display: flex; align-items: center; }
.toolkit-symbol .tool-logo { inline-size: 9rem; block-size: 7rem; }
.toolkit-symbol > i { font-size: 1.5rem; font-style: normal; align-self: end; }
.artadis-home .toolkit-name { font-size: 1.05rem; margin-block: 1.2rem .6rem; font-weight: 450; }
.toolkit-note { font-size: .85rem; line-height: 1.85; color: #405666; }
.home-questions { background: #f8fafb; }
.questions-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 7rem; align-items: start; }
.artadis-home .questions-layout h2 { font-size: clamp(2rem,3.2vw,3.8rem); line-height: 1.2; }
.home-question { border-block-start: 1px solid #bdcbd4; }
.home-question:last-child { border-block-end: 1px solid #bdcbd4; }
.home-question summary { display: flex; justify-content: space-between; align-items: start; gap: 2rem; padding-block: 1.4rem; cursor: pointer; list-style: none; }
.home-question summary::-webkit-details-marker { display: none; }
.artadis-home .home-question h3 { font-family: 'Montserrat',sans-serif; font-size: 1rem; line-height: 1.65; font-weight: 550; margin: 0; }
.home-question summary > span { color: #234f7c; font-size: 1.5rem; transition: transform .25s; }
.home-question[open] summary > span { transform: rotate(45deg); }
.home-question > p { font-size: .9rem; line-height: 1.85; color: #405666; padding-block-end: 1.5rem; padding-inline-end: 2rem; }

@media (hover: hover) and (pointer: fine) {
  .home-signature > span:hover { transform: translateY(-.06em) rotate(var(--letter-angle)); color: var(--blue); }
}
@media (pointer: coarse) {
  .perspective-touch-zone { display: block; position: absolute; z-index: 2; inset-inline: 38% 2%; inset-block-start: 16%; block-size: 68%; touch-action: none; }
}
@media (width < 62rem) {
  .artadis-home .home-heading { gap: 2rem; }
  .work-pair { gap: 2.5rem; }
  .artadis-home .work-copy h3 { font-size: 1.7rem; }
  .approach-grid { gap: 3rem; }
  .artadis-home .home-contact .contact-layout { gap: 3rem; }
  .capability-body { gap: 2rem; }
}
@media (width < 48rem) {
  .home-section { padding-block: 4rem; }
  .home-section-label { margin-block-end: 2rem; font-size: .52rem; gap: .8rem; }
  .home-section-label > span { max-inline-size: 55%; }
  .artadis-home .home-heading { grid-template-columns: 1fr; margin-block-end: 2.8rem; gap: 1.6rem; }
  .artadis-home .home-heading h2,.artadis-home .approach-copy h2 { font-size: clamp(1.9rem,7vw,3rem); }
  .home-heading > p { font-size: .875rem; }
  .home-route { gap: 1rem; padding-block: 1rem; font-size: .5rem; }
  .work-pair { gap: 4rem; grid-template-columns: 1fr; }
  .work-case--beauty { margin-block-start: 0; }
  .artadis-home .work-copy h3 { font-size: 1.7rem; margin-block: .8rem; }
  .work-copy > p { font-size: .875rem; }
  .work-tags { margin-block: 1.1rem; }
  .work-index { font-size: .54rem; }
  .work-controls { gap: .5rem; margin-block-start: .55rem; }
  .work-controls > div { gap: .9rem; }
  .work-controls button { font-size: .75rem; }
  .work-count { font-size: .5rem; }
  .work-zoom { padding: .65rem; }
  .work-zoom > span { padding: .45rem .6rem; font-size: .55rem; }
  .home-works-more { padding-block-start: 2rem; }
  .capability > summary { grid-template-columns: 1.5rem 1fr 1.5rem; gap: .65rem; padding-block: 1.4rem; }
  .artadis-home .capability h3 { font-size: 1.02rem; line-height: 1.5; }
  .capability-index { font-size: .54rem; }
  .capability-plus { font-size: 1.5rem; }
  .capability-body { grid-template-columns: 1fr; gap: 1rem; padding-inline: 2.15rem 0; padding-block-end: 1.8rem; }
  .capability-body > p,.capability-body a { font-size: .875rem; }
  .capability-custom .home-link { font-size: .7rem; }
  .approach-grid { grid-template-columns: 1fr; gap: 2rem; }
  .approach-copy > p { font-size: .875rem; }
  .approach-drawing { inline-size: 18rem; block-size: 14rem; margin-block-start: 2rem; }
  .approach-tabs { gap: .65rem; }
  .approach-tabs button { font-size: .6875rem; }
  .approach-panel { min-block-size: 22rem; padding-block-start: 2rem; }
  .artadis-home .approach-panel h3 { font-size: 1.45rem; }
  .approach-panel > p { font-size: .875rem; }
  .approach-result p { font-size: .875rem; }
  .artadis-home .home-contact { padding-block: 4rem; }
  .artadis-home .home-contact .contact-layout { grid-template-columns: 1fr; gap: 3.5rem; }
  .artadis-home .home-contact h2 { font-size: 2.6rem; }
  .home-contact .contact-intro { font-size: .875rem; margin-block-start: 1.5rem; }
  .home-contact-links { margin-block-start: 2rem; }
  .home-email > a { font-size: 1.05rem; }
  .home-direct-links > a { font-size: .7rem; }
  .home-contact .contact-form-area .row { grid-template-columns: 1fr; }
  .artadis-home .home-contact .contact-form-area h3 { font-size: 1.25rem; }
  .home-footer-top { flex-wrap: wrap; gap: .5rem; }
  .home-footer-top .home-link { inline-size: 100%; }
  .home-signature { font-size: 12.6vw; padding-block: 1rem 1.5rem; }
  .home-footer-bottom { gap: 1rem; font-size: .5rem; }
  .home-footer-bottom > :last-child { max-inline-size: 60%; text-align: end; }
  .work-lightbox { inline-size: 100%; block-size: 100svh; padding: 1rem; margin: 0; }
  .artadis-home .work-lightbox-top h2 { font-size: 1rem; }
  .work-lightbox-bottom { flex-wrap: wrap; gap: .7rem; }
  .work-lightbox-bottom .home-link { inline-size: 100%; }
  .perspective-touch-zone { inset-inline: 0; inset-block-start: 43%; block-size: 39%; }
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal],.home-link > span,.work-image,.work-image > img,.work-zoom > span,.capability h3,.capability-plus,.approach-sheet,.home-signature > span { transition: none; }
  [data-reveal].is-waiting { opacity: 1; transform: none; }
}
html.work-preview-open { overflow: hidden; }

@media (width >= 62rem) {
  .connection-lab { display: grid; grid-template-columns: minmax(0,1fr) clamp(14rem,22vw,17rem); }
  .lab-toolbar,.lab-command,.lab-scenario-note { grid-column: 1 / -1; }
  .lab-viewport { grid-column: 1; }
  .lab-board { min-inline-size: 0; }
  .lab-caption { grid-column: 2; grid-row: 4 / 6; display: flex; flex-direction: column; gap: 1rem; border-inline-start: 1px solid #c6d5df; border-block-start: 1px solid #c6d5df; padding: 1.25rem; }
  .lab-node-description { flex: 1; }
  .lab-related { gap: .1rem .65rem; }
  .lab-view-actions { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 0 .5rem; border-block-start: 1px solid #c6d5df; inline-size: 100%; padding-block-start: .6rem; }
  .lab-bottom { grid-column: 1; border: 0; }
}
@media (width < 54rem) {
  .lab-pan-hint { display: block; padding: .6rem 1rem; font-size: .65rem; color: #405666; }
}
@media (width < 62rem) {
  .studio-grid,.toolkit-layout,.questions-layout { gap: 3rem; }
  .lab-caption { gap: 1.5rem; }
}
@media (width < 48rem) {
  .studio-grid,.toolkit-layout,.questions-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .artadis-home .studio-copy h2 { font-size: clamp(1.9rem,7vw,3rem); }
  .studio-copy > p { font-size: .9rem; margin-block-start: 1.5rem; }
  .view-dial { inline-size: min(100%,21rem); }
  .dial-word { font-size: 1.8rem; }
  .dial-center { gap: 1rem; }
  .studio-perspectives { min-block-size: 8rem; }
  .lab-toolbar { padding: .85rem 1rem; font-size: .55rem; }
  .lab-command { padding: .8rem 1rem 0; gap: .7rem; }
  .lab-scenarios { display: grid; grid-template-columns: 1fr 1fr; inline-size: 100%; gap: .2rem; }
  .lab-scenarios button { font-size: .65rem; padding: .5rem; }
  .lab-scenario-note { margin: .6rem 1rem 1rem !important; font-size: .7rem; }
  .lab-caption { grid-template-columns: 1fr; gap: .75rem; padding: 1.1rem 1rem; }
  .lab-node-description > p { font-size: .75rem; }
  .lab-view-actions { flex-direction: row; justify-content: space-between; }
  .lab-bottom { padding: .8rem 1rem; gap: .75rem; }
  .lab-bottom p { font-size: .65rem; }
  .lab-beats i { inline-size: .65rem; }
  .approach-sheet { inset: 1.5rem 2.8rem; padding: 1rem; }
  .approach-sheet--front strong { font-size: 3.2rem; }
  .approach-sheet > span { font-size: .5rem; }
  .toolkit-choices { column-gap: .75rem; }
  .toolkit-choices button { min-block-size: 3.6rem; gap: .5rem; }
  .toolkit-choices .tool-name { font-size: clamp(.6rem,2.7vw,.8rem); }
  .toolkit-choices .tool-logo { inline-size: 1.5rem; block-size: 1.5rem; }
  .toolkit-choices button > i { display: none; }
  .toolkit-symbol { block-size: 8rem; }
  .toolkit-symbol .tool-logo { inline-size: 7rem; block-size: 5rem; }
  .toolkit-note { font-size: .85rem; }
  .artadis-home .questions-layout h2 { font-size: 1.9rem; }
  .artadis-home .home-question h3 { font-size: .9rem; }
  .home-question > p { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .perspective-artwork-options button::after,.dial-rotor,.approach-sheet,.toolkit-choices button,.home-question summary > span,.lab-node,.lab-lines > path,.lab-scenarios button { transition: none; }
}
