/* Native, finite motion. The original artwork, navigation and scroll film own their layers. */
body[data-studio-motion] { --motion-paper:#eee8dd; --motion-quiet:#bbb5aa; --motion-accent:#bfa37d; }
body[data-studio-motion] .reveal { opacity:1!important; transform:none!important; transition:none!important; }
.motion-word { display:inline-block; vertical-align:baseline; padding:.09em .04em .16em; margin:-.09em -.04em -.16em; }
.motion-heading { overflow:visible!important; }
body[data-studio-motion] :is(.split,.standard-heading,.value-copy,.capability-title) h2 { text-wrap:balance; }
body[data-studio-motion] .quiet-work h2 { margin-bottom:36px; }
body[data-studio-motion] .work-index { position:relative; isolation:isolate; }
body[data-studio-motion] .work-entry { position:relative; z-index:2; transition:background .2s ease; }
body[data-studio-motion] .work-entry strong { transition:transform .24s cubic-bezier(.2,.7,.2,1),color .2s; }
body[data-studio-motion] .work-entry:hover strong,body[data-studio-motion] .work-entry:focus-visible strong { transform:translateX(7px); color:var(--motion-paper); }
body[data-studio-motion] .work-entry>span:last-child { transition:transform .2s ease; }
body[data-studio-motion] .work-entry:is(:hover,:focus-visible)>span:last-child { transform:translate(3px,-3px); }
.work-hover-preview { display:none; position:absolute; right:26%; top:0; z-index:3; width:clamp(160px,19vw,270px); aspect-ratio:1.5; pointer-events:none; margin:0; padding:6px; background:#24221ff2; border:1px solid #eee8dd30; border-radius:12px; box-shadow:0 18px 50px #0006; opacity:0; transform:translateY(var(--preview-y,0px)) rotate(-3deg) scale(.94); transition:opacity .18s,transform .3s cubic-bezier(.2,.7,.2,1); overflow:hidden; }
.work-hover-preview img { width:100%; height:100%; object-fit:cover; object-position:top; border-radius:7px; }
@media (min-width:1000px) and (hover:hover) { .work-hover-preview { display:block; } .work-hover-preview.is-visible { opacity:1; transform:translateY(var(--preview-y,0px)) rotate(-3deg) scale(1); } }
body[data-studio-motion] .value-card { gap:16px; justify-content:flex-start; min-height:310px; }
body[data-studio-motion] .value-card>span { margin-bottom:3px; }
body[data-studio-motion] .value-card p { font-size:14px; line-height:1.65; color:var(--motion-quiet); }
.value-drawing { width:100%; height:86px; color:var(--motion-accent); flex:none; overflow:visible; }
.value-drawing :is(path,rect,circle,line,polyline) { fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.value-drawing .drawing-muted { opacity:.35; }
body[data-studio-motion] .studio-statement { padding:110px 4vw 130px; }
body[data-studio-motion] .studio-statement blockquote { max-width:900px; margin:0; font-size:clamp(38px,5.6vw,84px); line-height:1.08; text-wrap:balance; }
.statement-line { display:block; position:relative; color:var(--motion-quiet); }
.statement-highlight { position:absolute; inset:0; color:var(--motion-paper); pointer-events:none; user-select:none; }
body[data-studio-motion] .package-list { position:relative; }
.package-selection-rail { position:absolute; top:0; bottom:0; left:0; width:2px; background:var(--motion-accent); transform-origin:top; pointer-events:none; opacity:0; transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .18s; }
body[data-studio-motion] .package-tab { padding-left:26px; }
body[data-studio-motion] .package-tab:focus-visible { outline:2px solid var(--motion-accent); outline-offset:4px; }
body[data-studio-motion] .package-copy h3 { text-wrap:balance; }
body[data-studio-motion] .process-depth>.inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; align-items:start; }
body[data-studio-motion] .process-depth .split { display:block; position:sticky; top:140px; }
body[data-studio-motion] .process-depth .split>p { max-width:340px; margin-top:28px; color:var(--motion-quiet); }
body[data-studio-motion] .process-depth .timeline { position:relative; border-top:0; padding-left:0; }
.process-rail { position:absolute; left:18px; top:46px; bottom:46px; width:1px; background:#eee8dd25; pointer-events:none; }
.process-rail>i { display:block; position:absolute; inset:0; background:var(--motion-accent); transform:scaleY(1); transform-origin:top; }
body[data-studio-motion] .process-depth .timeline-item { position:relative; grid-template-columns:38px 1fr; gap:24px; padding:34px 0; border:0; }
body[data-studio-motion] .process-depth .timeline-item>span { position:relative; width:37px; height:37px; display:grid; place-items:center; color:var(--motion-quiet); background:#171819; border:1px solid #eee8dd30; border-radius:50%; letter-spacing:.06em; transition:border-color .2s,color .2s; }
body[data-studio-motion] .process-depth .timeline-item.is-current>span { border-color:var(--motion-accent); color:var(--motion-paper); }
body[data-studio-motion] .process-depth .timeline-item>div { display:block; padding-bottom:28px; border-bottom:1px solid #eee8dd18; }
body[data-studio-motion] .process-depth .timeline-item h3 { margin:0 0 14px; font-size:clamp(28px,3vw,40px); }
body[data-studio-motion] .process-depth .timeline-item p { font-size:15px; color:var(--motion-quiet); max-width:390px; }
body[data-studio-motion] .standard-card i { transform:scaleX(1); transform-origin:left; }
body[data-studio-motion] .studio-card h3 { text-wrap:balance; }
body[data-studio-motion] .contact-shell h2 { font-size:clamp(38px,5vw,68px); line-height:1.08; text-wrap:balance; }
body[data-studio-motion] :is(input,select,textarea):focus-visible { outline:2px solid var(--motion-accent); outline-offset:3px; border-color:var(--motion-accent); }
body[data-studio-motion] :is(.seo-link-card,.studio-card) { transition:border-color .22s,background .22s; }
body[data-studio-motion] .seo-link-card:focus-visible { outline:2px solid var(--motion-accent); outline-offset:5px; }
body[data-studio-motion] .seo-faq-item summary>span { transition:transform .2s; }
body[data-studio-motion] .seo-faq-item[open] summary>span { transform:rotate(45deg); }
.footer-signature { max-width:var(--max,1400px); margin:0 auto 58px; padding:12px 0 34px; border-bottom:1px solid #eee8dd18; font-family:'Studio Manrope',sans-serif; font-weight:300; font-size:clamp(26px,7vw,108px); line-height:1.18; letter-spacing:.025em; color:var(--motion-paper); white-space:nowrap; }
.footer-signature>span { display:inline-block; }
@media(min-width:681px) and (max-width:1100px) { .package-selection-rail { top:auto; right:0; bottom:0; width:auto; height:2px; transform-origin:left; } body[data-studio-motion] .process-depth>.inner { gap:5vw; grid-template-columns:.8fr 1.2fr; } }
@media(max-width:800px) { body[data-studio-motion] .process-depth>.inner { display:block; } body[data-studio-motion] .process-depth .split { position:static; margin-bottom:38px; } body[data-studio-motion] .process-depth .split>p { max-width:520px; margin-top:20px; } }
@media(max-width:680px) {
  body[data-studio-motion] .reference-copy { top:clamp(165px,27svh,255px)!important; }
  body[data-studio-motion] .reference-hero { min-height:650px!important; }
  body[data-studio-motion] .value-card { min-height:265px; padding:25px; gap:12px; }
  .value-drawing { height:78px; }
  body[data-studio-motion] .studio-statement { padding:70px 6vw 90px; }
  body[data-studio-motion] .studio-statement blockquote { font-size:clamp(35px,9.5vw,54px); }
  body[data-studio-motion] .process-depth .timeline-item { gap:20px; padding:26px 0; }
  body[data-studio-motion] .process-depth .timeline-item>div { padding-bottom:18px; }
  .process-rail { top:38px; bottom:38px; }
  .footer-signature { margin-bottom:34px; padding-bottom:24px; font-size:7.25vw; }
}
.mobile-swipe-note { display:none; }
.mobile-card-title { display:none; }
body[data-studio-motion] .seo-link-card h3>span { font:inherit; color:inherit; letter-spacing:inherit; text-transform:none; }
/* Mobile is a composed grid, rather than a stack of desktop-sized cards. */
@media(max-width:720px) {
  body[data-studio-motion] :is(.panel,.value-rail,.capability-section,.studio-standard-panel) { padding-block:56px!important; }
  body[data-studio-motion] .quiet-work { padding-block:60px!important; }
  body[data-studio-motion] :is(.value-copy,.split,.standard-heading) { margin-bottom:28px; gap:18px; }
  body[data-studio-motion] :is(.value-cards,.studio-grid,.standard-grid,.seo-link-grid,.seo-related-links,.seo-footer-nav) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body[data-studio-motion] :is(.value-card,.studio-card,.standard-card,.seo-link-card) { min-width:0; min-height:0!important; padding:18px 15px!important; border-radius:20px!important; }
  body[data-studio-motion] :is(.value-card,.studio-card) { justify-content:flex-start; gap:14px; }
  body[data-studio-motion] .value-drawing { height:62px; }
  body[data-studio-motion] .value-card strong { font-size:clamp(22px,5.6vw,28px)!important; line-height:1.1!important; }
  body[data-studio-motion] :is(.studio-card,.standard-card,.seo-link-card) h3 { font-size:clamp(22px,5.6vw,28px)!important; line-height:1.08!important; margin:0 0 12px; overflow-wrap:normal; }
  body[data-studio-motion] :is(.value-card,.studio-card,.standard-card,.seo-link-card) p { font-size:14px!important; line-height:1.55!important; margin:0; }
  body[data-studio-motion] .standard-card { display:flex; flex-direction:column; gap:18px; padding-bottom:35px!important; }
  body[data-studio-motion] .standard-card i { left:15px; right:15px; bottom:18px; }
  body[data-studio-motion] .seo-link-card h3 { margin-top:22px; }
  body[data-studio-motion] .seo-link-card h3 .wide-card-title { display:none; }
  body[data-studio-motion] .seo-link-card h3 .mobile-card-title { display:inline; }
  body[data-studio-motion] .seo-link-card h3 { overflow-wrap:anywhere; }
  body[data-studio-motion] .seo-link-grid { margin-top:24px; }
  body[data-studio-motion] .seo-related-links a { padding:16px 13px; font-size:14px; line-height:1.45; }
  body[data-studio-motion] .work-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; border-top:0; }
  body[data-studio-motion] .work-entry { grid-template-columns:1fr auto; gap:16px 8px; padding:17px 14px; min-height:124px; border:1px solid #eee8dd25; border-radius:18px; background:#eee8dd04; }
  body[data-studio-motion] .work-entry .work-num { grid-column:1; grid-row:1; }
  body[data-studio-motion] .work-entry strong { grid-column:1/-1; grid-row:2; font-size:clamp(20px,5.3vw,27px); line-height:1.15; }
  body[data-studio-motion] .work-entry>span:last-child { grid-column:2; grid-row:1; }
  body[data-studio-motion] .work-type { display:none; }
  body[data-studio-motion] .package-foundation { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
  body[data-studio-motion] .package-foundation span { font-size:10px; line-height:1.55; }
  body[data-studio-motion] .package-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  body[data-studio-motion] .package-tab { min-width:0; min-height:108px; padding:15px 8px!important; border-radius:16px; }
  body[data-studio-motion] .package-tab strong { font-size:clamp(17px,4.4vw,26px)!important; line-height:1.15!important; }
  body[data-studio-motion] .package-tab small { font-size:8px!important; letter-spacing:.04em; }
  body[data-studio-motion] .package-tab em { font-size:9px!important; letter-spacing:.04em; }
  body[data-studio-motion] .package-selection-rail { top:auto; right:0; bottom:0; width:auto; height:2px; transform-origin:left; }
  body[data-studio-motion] .capability-matrix { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-radius:20px; }
  body[data-studio-motion] .capability-matrix>div { display:flex; flex-direction:column; gap:10px; padding:18px 15px; border-bottom:1px solid #eee8dd18; }
  body[data-studio-motion] .capability-matrix>div:nth-child(odd) { border-right:1px solid #eee8dd18; }
  body[data-studio-motion] .capability-matrix>div:nth-last-child(-n+2) { border-bottom:0; }
  body[data-studio-motion] .capability-matrix span { font-size:14px; line-height:1.45; }
  body[data-studio-motion] .capability-matrix strong { font-size:10px; letter-spacing:.07em; }
  body[data-studio-motion] .timeline { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; border:0; }
  body[data-studio-motion] :is(.process-depth .timeline-item,.timeline-item) { display:block; padding:18px 15px; border:1px solid #eee8dd25; border-radius:20px; background:#eee8dd03; }
  body[data-studio-motion] :is(.process-depth .timeline-item,.timeline-item)>span { display:grid; place-items:center; width:32px; height:32px; margin-bottom:18px; border:1px solid #eee8dd30; border-radius:50%; font-size:10px; background:#171819; }
  body[data-studio-motion] :is(.process-depth .timeline-item,.timeline-item)>div { display:block; padding:0; border:0; }
  body[data-studio-motion] :is(.process-depth .timeline-item,.timeline-item) h3 { font-size:26px; margin:0 0 12px; line-height:1.1; }
  body[data-studio-motion] :is(.process-depth .timeline-item,.timeline-item) p { font-size:14px; line-height:1.55; }
  body[data-studio-motion] .process-rail { display:none; }
  body[data-studio-motion] .seo-article section { margin-bottom:28px; padding-bottom:30px; }
  body[data-studio-motion] .seo-article ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 26px; padding-left:18px; }
  body[data-studio-motion] .seo-article li { font-size:14px; line-height:1.6; }
  body[data-studio-motion] .seo-footer-nav { margin-top:24px; gap:26px 18px; padding-top:24px; }
  body[data-studio-motion] .service-tier-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc(100% - 34px); gap:14px!important; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:2px; padding:4px 2px 18px; align-items:start!important; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#bfa37d #eee8dd12; }
  body[data-studio-motion] .service-tier { min-height:0; scroll-snap-align:start; scroll-snap-stop:normal; padding:25px!important; }
  body[data-studio-motion] .service-tier-grid:focus-visible { outline:2px solid var(--motion-accent); outline-offset:6px; }
  .mobile-swipe-note { display:block; margin:0 0 16px; font-size:11px; letter-spacing:.08em; color:var(--motion-quiet); }
}
@media(prefers-reduced-motion:reduce) {
  body[data-studio-motion] *,body[data-studio-motion] *::before,body[data-studio-motion] *::after { scroll-behavior:auto!important; }
  body[data-studio-motion] :is(.work-entry strong,.work-entry>span:last-child,.work-hover-preview,.package-selection-rail,.timeline-item>span,.seo-faq-item summary>span) { transition:none!important; }
  body[data-studio-motion] .work-entry:is(:hover,:focus-visible)>strong { transform:none; }
}
