/* Native shared layouts B1 / B2. Colors inherit the site palette. */
.dfvn-studio, .dfvn-service-request-form {
  --studio-gradient-base:#17172f;
  --studio-gradient-main:#7975cb;
  --studio-gradient-secondary:#eec6bd;
  --studio-gradient-warm:#e9d79b;
  --studio-gradient-duration:24s;
  --studio-leading:var(--copy-leading);
  --studio-title-leading:var(--page-title-leading);
  --studio-ease:cubic-bezier(.2,.7,.2,1);
  --studio-control-duration:250ms;
  --studio-reveal-duration:800ms;
  --studio-satellite-ink:var(--accent-ink);
  --studio-button-shadow:#00000012;
  --studio-cta-panel-bg:var(--surface);
  --studio-cta-panel-padding:clamp(26px,3.8vw,56px);
  --studio-cta-action-height:54px;
  --studio-cta-action-basis:165px;
  --studio-cta-actions-gap:var(--studio-rhythm-small);
  --studio-cta-panel-radius:28px;
  --studio-cta-secondary-bg:transparent;
  --studio-cta-secondary-line:var(--ink);
  --studio-flat-bg:color-mix(in srgb,var(--accent) 72%,var(--bg));
  --studio-flat-ink:var(--accent-ink);
  --studio-flat-button-bg:#20291a;
  --studio-flat-button-ink:#fafbf5;
  --studio-gradient-ink:#f7f7f2;
  --studio-gradient-mask:#13132db3;
  --studio-orbit-ink:#e8e5fb;
  --studio-orbit-shadow:#1c183833;
  --studio-orbit-line:#e9e8f1;
  --studio-satellite-bg:#efebe8;
  --studio-satellite-gradient-ink:#45436b;
  --studio-tag-bg:#ffffffde;
  --studio-tag-ink:#39384e;
  --studio-hero-button-bg:#f5f4f0;
  --studio-hero-button-ink:#262538;
  --studio-resource-tag-bg:#f7f7f2e8;
  --studio-resource-tag-ink:#181b16;
  --studio-service-columns:minmax(0,.9fr) minmax(0,1.1fr);
  --studio-service-gap:8%;
  --studio-step-bg:var(--surface);
  --studio-step-icon-ink:var(--ink);
  --studio-step-columns:4;
  --studio-step-gap:var(--card-gap);
  --studio-step-padding:clamp(22px,2.2vw,32px);
  --studio-step-icon-box:64px;
  --studio-step-icon-size:32px;
  --studio-step-hover-offset:-2px;
  --studio-card-hover-duration:360ms;
  --studio-card-hover-ease:cubic-bezier(.22,.61,.36,1);
  --studio-guide-columns:minmax(0,1fr) minmax(0,1.1fr) auto;
  --studio-quality-bg:#1d251d;
  --studio-quality-ink:#f4f5ee;
  --studio-quality-muted:#d5ddcb;
  --studio-quality-line:#ffffff2b;
  --studio-quality-accent:var(--accent);
  --studio-quality-copy:#c4cdbb;
  --studio-quality-gradient-bg:#26253a;
  --studio-quality-gradient-copy:#d1cede;
  --studio-form-shadow:#17152c14;
  --studio-proof-bg:#ffffffdd;
  --studio-proof-ink:#2e2c43;
  --studio-proof-shadow:#17172c3b;
  --studio-proof-line:#2e2c4333;
  --studio-proof-badge-bg:#33334c;
  --studio-proof-badge-ink:#f6f5fa;
  --studio-type-page:var(--page-title-size);
  --studio-type-section:var(--section-title-size);
  --studio-type-subheading:var(--panel-title-size);
  --studio-type-micro:var(--type-micro-size);
  --studio-type-kicker:var(--type-caption-size);
  --studio-type-meta:var(--type-meta-size);
  --studio-type-small:var(--type-small-size);
  --studio-type-copy:var(--type-copy-size);
  --studio-type-body:var(--type-body-size);
  --studio-type-card-title:var(--compact-title-size);
  --studio-type-panel-title:var(--card-title-size);
  --studio-rhythm-tight:var(--space-2);
  --studio-rhythm-small:var(--space-3);
  --studio-rhythm-control:var(--space-4);
  --studio-rhythm-copy:var(--space-4);
  --studio-rhythm-medium:var(--space-5);
  --studio-rhythm-block:var(--space-6);
  --studio-rhythm-large:var(--space-7);
  --studio-rhythm-panel:var(--space-8);
  --studio-panel-radius:24px;
  --studio-hero-radius:32px;
  --studio-tile-radius:20px;
  --studio-media-radius:16px;
  --studio-form-radius:13px;
  --studio-action-icon-size:20px;
  --studio-action-tap-size:44px;
  --studio-page-tracking:-.055em;
  --studio-section-tracking:-.045em;
  --studio-subheading-tracking:-.03em;
}

.dfvn-studio { --studio-section-gap:var(--studio-section-gap-desktop,96px); width: min(calc(100% - var(--gutter) * 2), var(--site-width)); max-width: none; color: var(--ink); padding: 22px 0 0; margin: auto; }
.dfvn-studio :is(h1,h2,h3,p,figure) { margin: 0; }
.dfvn-studio p { color: inherit; line-height: var(--studio-leading); }
.dfvn-studio :is(h1,h2,h3) { text-wrap: balance; font-weight: var(--font-heading); }
.dfvn-studio h1 { font-size:var(--studio-type-page); line-height: var(--studio-title-leading); letter-spacing: var(--studio-page-tracking); }
.dfvn-studio h2 { font-size:var(--studio-type-section); line-height:var(--section-title-leading); letter-spacing: var(--studio-section-tracking); }
.dfvn-studio h3 { font-size: var(--studio-type-subheading); line-height:var(--panel-title-leading); letter-spacing: var(--studio-subheading-tracking); }

.studio-kicker { display: flex; align-items: center; gap: var(--studio-rhythm-small); font-size: var(--studio-type-kicker); font-weight:var(--font-semibold,600); letter-spacing: .08em; text-transform: uppercase; }
.studio-kicker::before { content: ''; width: 7px; height: 7px; flex: 0 0 7px; background: currentColor; border-radius: 50%; }
.studio-muted { color: var(--muted) !important; }
.studio-lead { font-size:var(--lead-size); line-height:var(--lead-leading); }
.studio-button { display: inline-flex; align-items: center; justify-content: center; }
.studio-button .dfvn-icon { width: var(--studio-action-icon-size); height: var(--studio-action-icon-size); }


.studio-service-hero .studio-button--outline { --action-bg:transparent; --action-ink:currentColor; --action-line:currentColor; color:inherit; }
.studio-link { display: inline-flex; align-items: center; gap: var(--studio-rhythm-control); min-height: var(--studio-action-tap-size); color: inherit; font-size: var(--studio-type-copy); font-weight:var(--font-semibold,600); }
.studio-link .dfvn-icon { width: 18px; height: 18px; }
.dfvn-studio :is(a,button,input,select,textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.studio-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--studio-rhythm-control) var(--studio-rhythm-large); margin-top:var(--lead-action-gap); }
.studio-hero { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--studio-hero-radius); padding: clamp(var(--studio-rhythm-large), 4.3vw, 62px); display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-10); align-items: center; min-height: 590px; background: var(--surface); }
.studio-hero-copy { position: relative; z-index: 2; }
.studio-hero h1 { margin:var(--eyebrow-title-gap) 0 var(--title-lead-gap); }
.studio-hero h1 em { font-style: normal; }
.studio-hero p { max-width: 510px; }
.studio-hero-note { display: flex; justify-content: space-between; align-items: center; gap: var(--studio-rhythm-copy); margin-top: var(--studio-rhythm-block); font-size: var(--studio-type-micro); letter-spacing: .09em; text-transform: uppercase; }
.studio-orbit { aspect-ratio: 1; position: relative; display: grid; place-items: center; width: 100%; max-width: 520px; margin: auto; }
.studio-orbit::before, .studio-orbit::after { content: ''; position: absolute; inset: 7%; border: 1px solid currentColor; opacity: .22; border-radius: 50%; transform: rotate(-25deg) scaleY(.68); }
.studio-orbit::after { transform: rotate(40deg) scaleY(.68); }
.studio-orbit-letter { font-weight: var(--font-heading); font-size: clamp(180px, 22vw, 410px); line-height: 1; letter-spacing: -.06em; transform: rotate(-8deg); }
.studio-letter-satellite { position: absolute; right: 7%; top: 4%; border-radius: 50%; width: 92px; height: 92px; display: grid; place-items: center; background: var(--accent); color: var(--studio-satellite-ink); font-size: 38px; transform: rotate(12deg); box-shadow: 0 20px 50px var(--studio-button-shadow); }
.studio-orbit-tag { position: absolute; bottom: 8%; left: 4%; padding: var(--studio-rhythm-small) var(--studio-rhythm-medium); border-radius: 80px; background: var(--bg); color: var(--ink); font-size: var(--studio-type-kicker); transform: rotate(-7deg); }
.studio-flat .studio-hero { --lead-ink:var(--studio-flat-lead-ink,var(--muted)); background: var(--studio-flat-bg); color: var(--studio-flat-ink); }
.studio-flat .studio-hero .studio-button { --action-bg:var(--studio-flat-button-bg); --action-ink:var(--studio-flat-button-ink); --action-line:transparent; }
.studio-flat .studio-hero .studio-button--outline { --action-bg:transparent; --action-ink:var(--studio-flat-ink); --action-line:var(--studio-flat-ink); }

.studio-flat .studio-orbit-letter { color: var(--studio-flat-ink); }
/* Only the decorative layers change hue; text and controls keep their colors. */
.studio-ambient { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; background: var(--studio-gradient-base); }
.studio-ambient::before { content: ''; position: absolute; inset: -28%; background: radial-gradient(ellipse at 18% 16%, var(--studio-gradient-base) 0, transparent 42%), radial-gradient(ellipse at 75% 32%, var(--studio-gradient-main) 0, transparent 38%), radial-gradient(ellipse at 46% 92%, var(--studio-gradient-secondary) 0, transparent 44%); animation: studio-colors var(--studio-gradient-duration) ease-in-out infinite; }
.studio-ambient::after { content: ''; position: absolute; inset: -30%; background: radial-gradient(ellipse at 80% 88%, var(--studio-gradient-warm) 0, transparent 35%), radial-gradient(ellipse at 28% 63%, var(--studio-gradient-main) 0, transparent 44%); opacity: .65; animation: studio-glow var(--studio-gradient-duration) ease-in-out infinite; }
.studio-ambient[data-motion="off"]::before, .studio-ambient[data-motion="off"]::after { animation: none; }
.studio-noise { position: absolute; inset: 0; z-index: 1; opacity: .055; mix-blend-mode: screen; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E"); }
.studio-gradient .studio-hero { background: transparent; color: var(--studio-gradient-ink); }
.studio-gradient .studio-hero h1 em { color: var(--lavender); }
.studio-gradient .studio-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, var(--studio-gradient-mask), transparent 78%); pointer-events: none; }
.studio-gradient .studio-orbit-letter { color: var(--studio-orbit-ink); text-shadow: 0 20px 70px var(--studio-orbit-shadow); }
.studio-gradient .studio-orbit { color: var(--studio-orbit-line); }
.studio-gradient .studio-letter-satellite { background: var(--studio-satellite-bg); color: var(--studio-satellite-gradient-ink); }
.studio-gradient .studio-orbit-tag { background: var(--studio-tag-bg); color: var(--studio-tag-ink); }

.studio-facts { --fact-icon-duration: 400ms; --fact-icon-lift: -3px; --fact-check-turn: -8deg; --fact-specimen-turn: 45deg; --fact-grid-turn: -6deg; --fact-grid-scale: 1.08; --fact-support-turn: 8deg; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; margin-top: var(--studio-rhythm-block); padding: var(--studio-rhythm-control); gap: 0; border-radius: var(--studio-media-radius); background: var(--surface); }
.studio-facts > div { position: relative; display: flex; gap: var(--studio-rhythm-control); align-items: center; min-width: 0; padding: 20px var(--studio-rhythm-control); }
.studio-facts > div + div::before { content: ''; position: absolute; left: 0; top: 50%; width: 1px; height: 48px; transform: translateY(-50%); background: var(--line); }
.studio-facts .dfvn-icon { flex: 0 0 auto; width: 25px; height: 25px; transition: transform var(--fact-icon-duration) var(--studio-ease); transform-origin: center; }
.studio-facts strong { display: block; font-size: var(--studio-type-copy); margin-bottom: 4px; }
.studio-facts p { color: var(--muted); font-size: var(--studio-type-meta); }
@media (hover:hover) and (pointer:fine) {
  .studio-facts > div:first-child:hover > .dfvn-icon { transform: translateY(var(--fact-icon-lift)) rotate(var(--fact-check-turn)); }
  .studio-facts > div:nth-child(2):hover > .dfvn-icon { transform: rotate(var(--fact-specimen-turn)); }
  .studio-facts > div:nth-child(3):hover > .dfvn-icon { transform: rotate(var(--fact-grid-turn)) scale(var(--fact-grid-scale)); }
  .studio-facts > div:nth-child(4):hover > .dfvn-icon { transform: rotate(var(--fact-support-turn)); }
}
.studio-section { margin-top: 88px; }
.studio-story { display: grid; grid-template-columns: var(--studio-service-columns); gap: var(--studio-service-gap); padding: 0; }
.studio-story h2 { margin-top: var(--studio-rhythm-block); }
.studio-story-copy .studio-lead { margin-bottom: var(--studio-rhythm-block); }
.studio-story-copy > p + p { margin-top: var(--studio-rhythm-medium); color: var(--muted); font-size: var(--type-answer-size); }
/* Localization: a concise overview followed by three distinct, editable step cards. */
.studio-story-summary { --studio-summary-padding:clamp(24px,3vw,40px); }
.studio-summary-heading { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--card-gap); align-items:center; padding:var(--studio-summary-padding); border-radius:var(--studio-panel-radius); background:var(--surface); }
.studio-summary-heading h2 { margin-top:var(--studio-rhythm-copy); color:inherit; }
.studio-summary-heading .studio-lead { font-size:var(--type-label-size); }
.studio-summary-heading--gradient { color:var(--studio-gradient-ink); background:linear-gradient(115deg,var(--studio-gradient-base),color-mix(in srgb,var(--studio-gradient-main) 60%,var(--studio-gradient-base)) 65%,color-mix(in srgb,var(--studio-gradient-secondary) 35%,var(--studio-gradient-base))); }
.studio-summary-heading--black { background:#181b16; color:#fff; }
.studio-summary-heading--black .studio-button { --action-bg:#fff; --action-ink:#181b16; --action-line:transparent; }
.studio-summary-intro .studio-actions { margin-top:var(--studio-rhythm-block); }
.studio-summary-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--card-gap); list-style:none; padding:0; margin:var(--card-gap) 0; scroll-margin-top:calc(var(--header-shrink-height,80px) + 24px); }
.studio-summary-steps li { display:flex; flex-direction:column; min-width:0; padding:var(--studio-summary-padding); border-radius:var(--studio-panel-radius); background:var(--surface); }
.studio-summary-number { display:block; color:var(--muted); font-size:30px; font-weight:var(--font-medium,500); font-variant-numeric:tabular-nums; line-height:1; margin-bottom:30px; }
.studio-summary-steps h3 { font-size:var(--studio-type-panel-title); line-height:1.3; }
.studio-summary-steps p { margin:var(--studio-rhythm-copy) 0 30px; color:var(--muted); font-size:var(--studio-type-body); }
.studio-summary-outcome { display:block; width:100%; margin-top:auto; padding-top:20px; border-top:1px solid var(--line); color:var(--ink); font-size:var(--studio-type-small); line-height:1.6; }
/* Separate quality cards use the DFVN surface palette in both themes; no decorative borders. */
.studio-quality-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--card-gap); }
.studio-quality-card { display:flex; flex-direction:column; min-width:0; padding:clamp(var(--studio-rhythm-block),3vw,40px); border-radius:var(--studio-panel-radius); background:var(--surface); }
.studio-quality-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; }
.studio-quality-card .studio-quality-glyph { display:grid; place-items:center; width:75px; height:75px; margin:0; border-radius:18px; background:var(--bg); color:var(--ink); font-size:52px; line-height:1.2; }
.studio-quality-glyph > .dfvn-icon { width:36px; height:36px; }
.studio-quality-index { color:var(--muted); font-size:var(--studio-type-small); font-variant-numeric:tabular-nums; }
.studio-quality-category { color:var(--muted); font-size:var(--studio-type-meta); letter-spacing:.06em; text-transform:uppercase; line-height:1.6; }
.studio-quality-card h3 { margin:var(--studio-rhythm-small) 0 var(--studio-rhythm-copy); font-size:var(--studio-type-panel-title); line-height:1.3; }
.studio-quality-card p { color:var(--muted); font-size:var(--studio-type-body); margin-bottom:30px; }
.studio-quality-footer { display:flex; align-items:center; justify-content:space-between; gap:var(--studio-rhythm-copy); margin-top:auto; padding-top:20px; border-top:1px solid var(--line); }
.studio-quality-note { color:var(--ink); font-size:var(--studio-type-small); line-height:1.6; }
.studio-step-list li, .studio-quality-card, .studio-summary-steps > li { position:relative; isolation:isolate; translate:0 0; }
/* Keep the hover area under the lifted bottom edge, so it cannot repeatedly lose the pointer. */
.studio-step-list li::after, .studio-quality-card::after, .studio-summary-steps > li::after { content:""; position:absolute; inset:0 0 -4px; z-index:-1; }
.studio-quality-card, .studio-summary-steps > li { transition:translate var(--studio-card-hover-duration) var(--studio-card-hover-ease); }
.studio-mission { margin-top: 26px; padding-top: 26px; border-top: 1px solid var(--line); display: grid; gap: 22px; }
.studio-mission div { display: grid; grid-template-columns: 85px 1fr; gap: var(--space-5); }
.studio-mission strong { font-size: var(--studio-type-meta); text-transform: uppercase; letter-spacing: .05em; }
.studio-mission p { font-size: var(--studio-type-copy); color: var(--muted); }
.studio-section-heading { display: flex; justify-content: space-between; align-items: end; gap: var(--studio-rhythm-panel); margin-bottom:var(--heading-card-gap); padding: 0; }
.studio-section-heading h2 { margin-top:var(--eyebrow-title-gap); }
.studio-section-heading > p { max-width: 365px; font-size: var(--type-answer-size); color: var(--muted); }
.studio-library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--card-gap); }
.studio-library-card { border-radius: 22px; overflow: hidden; background: var(--surface); }
.studio-library-card figure { position: relative; overflow: hidden; }
.studio-library-card :is(img, video) { width: 100%; aspect-ratio: 1.6; object-fit: cover; display: block; }
.studio-library-card figure > span { position: absolute; top: 16px; left: 16px; background: var(--studio-resource-tag-bg); color: var(--studio-resource-tag-ink); padding: 7px 11px; font-size: var(--studio-type-micro); border-radius: 80px; }
.studio-library-card-body { padding: 25px 26px; }
.studio-library-card h3 { margin-bottom: var(--studio-rhythm-small); }
.studio-library-card p { color: var(--muted); font-size: var(--studio-type-copy); min-height: 4.9em; }
.studio-library-card .studio-link { margin-top: var(--studio-rhythm-small); }
.studio-quality { --quality-sweep-width: 30%; --quality-sweep-duration: 7.2s; --quality-sweep-ink: var(--lavender); position: relative; isolation: isolate; overflow: hidden; background: var(--studio-quality-bg); color: var(--studio-quality-ink); border-radius: 28px; padding: 50px; }
.studio-quality-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 50px; align-items: end; }
.studio-quality h2 { margin-top: 22px; }
.studio-quality-head p { color: var(--studio-quality-muted); max-width: 480px; font-size: var(--studio-type-body); }
.studio-quality-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-top: var(--space-10); }
.studio-quality-grid article { position: relative; border-top: 1px solid var(--studio-quality-line); padding-top: var(--studio-rhythm-block); }
.studio-quality-glyph { display: block; color: var(--studio-quality-accent); font-size: 66px; line-height: 1.25; margin-bottom: var(--studio-rhythm-medium); }
.studio-quality h3 { font-size:var(--studio-type-card-title); margin-bottom: var(--studio-rhythm-small); line-height:var(--compact-title-leading); }
.studio-quality-grid p { color: var(--studio-quality-copy); font-size: var(--studio-type-copy); }
.studio-gradient .studio-quality { background: var(--studio-quality-gradient-bg); }
.studio-gradient .studio-quality .studio-quality-glyph { color: var(--lavender); }
.studio-gradient .studio-quality p { color: var(--studio-quality-gradient-copy); }
.studio-cta { border-top: 0; margin: 80px 0 0; padding: 26px 0; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.studio-cta-copy { min-width: 0; }
.studio-cta h2 { max-width: 660px; margin-top: var(--space-5); }
.studio-cta .studio-actions { margin-top: 0; flex-shrink: 0; flex-direction: row; gap: var(--studio-cta-actions-gap); }
.studio-cta .studio-button { white-space: nowrap; opacity: 1; }

.studio-cta .studio-button .dfvn-icon { flex: 0 0 var(--studio-action-icon-size); transition: transform var(--studio-control-duration) var(--studio-ease); }
.studio-cta .studio-button:focus-visible { outline-color: var(--ink); }
.studio-cta--b { --studio-cta-action-basis:190px; --studio-cta-secondary-bg:var(--bg); --studio-cta-secondary-line:var(--line); background: var(--studio-cta-panel-bg); border-radius: var(--studio-cta-panel-radius); padding: var(--studio-cta-panel-padding); gap: var(--studio-rhythm-panel); }
.studio-cta--b h2 { font-size:var(--section-title-size); line-height:var(--section-title-leading); }

.studio-contact { min-height: 0; padding: clamp(var(--studio-rhythm-block),4.4vw,64px); gap: 7%; grid-template-columns: .9fr 1.1fr; align-items: stretch; }
.studio-contact .studio-hero-copy { display: flex; flex-direction: column; align-items: start; }
.studio-contact h1 { font-size:var(--page-title-size); margin:var(--eyebrow-title-gap) 0 var(--title-lead-gap); }
.studio-contact .studio-lead { max-width: 400px; font-size:var(--lead-size); line-height:var(--lead-leading); }
.studio-contact-details { display: grid; gap: 15px; margin-top: auto; padding-top: 55px; }
.studio-contact-details a { display: inline-flex; gap: 13px; align-items: center; color: inherit; font-size: var(--studio-type-body); }
.studio-contact-details .dfvn-icon { width: 18px; height: 18px; }
.studio-contact-details small { font-size: var(--studio-type-kicker); opacity: .8; }
.studio-flat .studio-contact { background: var(--studio-contact-flat-bg,var(--surface)); color: var(--studio-contact-flat-ink,var(--ink)); }
.studio-flat .studio-contact h1 em { color: var(--studio-contact-flat-ink,var(--muted)); }
.studio-form-panel { position: relative; z-index: 2; background: var(--studio-form-panel-bg,var(--bg)); color: var(--ink); border-radius: var(--studio-panel-radius); padding: var(--studio-form-panel-pad,30px); box-shadow: var(--studio-form-panel-shadow,0 25px 60px var(--studio-form-shadow)); }
.studio-flat .studio-form-panel { box-shadow: none; }
.studio-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 22px var(--studio-rhythm-medium); }
.studio-form label { min-width: 0; display: grid; gap: 9px; font-size: var(--form-label-size); font-weight:var(--font-medium,500); }
.studio-form .studio-full { grid-column: 1/-1; }


.studio-form textarea { min-height: 148px; resize: vertical; }


.studio-form-foot { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: var(--studio-rhythm-small) var(--studio-rhythm-medium); }
.studio-form-foot p { max-width: 220px; font-size: var(--studio-type-kicker); color: var(--muted); margin:0; }
.studio-form-foot .studio-button { flex-shrink: 0; }

.studio-form-status:empty { display: none; }
.studio-form-status { font-size: var(--studio-type-small); }

.studio-service-hero h1 { font-size:var(--page-title-size); }
.studio-service-hero { min-height: 530px; }
.studio-service-diagram { position: relative; width: min(100%,420px); margin: auto; }
/* Two translucent sheets and a monogram, only in the localization hero. */
.studio-service-diagram--layered {
  --studio-proof-bg:#f4f1f8;
  --studio-sheet-line:#ffffff80;
  --studio-sheet-glow:#ffffff24;
  --studio-sheet-bg:#ffffff08;
  --studio-monogram-bg:#e6e5ffd9;
  --studio-monogram-ink:#373064;
  --studio-monogram-size:76px;
  --studio-monogram-type:36px;
  isolation:isolate;
  container-type:inline-size;
}
.studio-service-diagram--layered::before,
.studio-service-diagram--layered::after {
  content:'';
  position:absolute;
  z-index:-1;
  border:1px solid var(--studio-sheet-line);
  border-radius:var(--studio-panel-radius);
  background:var(--studio-sheet-bg);
  box-shadow:0 0 3px var(--studio-sheet-glow),inset 0 0 3px var(--studio-sheet-glow);
  pointer-events:none;
}
.studio-service-diagram--layered::before { inset:-15% -4% 12% 26%; transform:rotate(8deg); }
.studio-service-diagram--layered::after { inset:42% 30% -7% -14%; transform:rotate(-14deg); }
.studio-proof-monogram {
  position:absolute;
  z-index:1;
  top:13%;
  right:-8%;
  display:grid;
  place-items:center;
  width:var(--studio-monogram-size);
  aspect-ratio:1;
  border:1px solid var(--studio-sheet-line);
  border-radius:var(--studio-tile-radius);
  background:var(--studio-monogram-bg);
  color:var(--studio-monogram-ink);
  box-shadow:0 0 3px var(--studio-sheet-glow),0 12px 32px var(--studio-proof-shadow);
  font-size:var(--studio-monogram-type);
  font-weight:var(--font-heading);
  letter-spacing:-.04em;
  line-height:1;
  transform:rotate(12deg);
  pointer-events:none;
}
.studio-flat .studio-service-diagram--layered { --studio-sheet-line:color-mix(in srgb,var(--ink) 24%,transparent); --studio-sheet-glow:color-mix(in srgb,var(--accent) 18%,transparent); --studio-sheet-bg:color-mix(in srgb,var(--accent) 7%,transparent); }
.studio-service-diagram--layered .studio-proof-badge { bottom:calc(40px * -1); }
.studio-service-diagram--layered .studio-proof strong { font-size:min(85px,20cqi); white-space:nowrap; }
.studio-proof { padding: 38px; border-radius: var(--studio-panel-radius); background: var(--studio-proof-bg); color: var(--studio-proof-ink); transform: rotate(-5deg); box-shadow: 0 25px 100px var(--studio-proof-shadow); }
.studio-proof small { font-size: var(--studio-type-micro); letter-spacing: .08em; text-transform: uppercase; }
.studio-proof strong { display: block; font-size: 85px; line-height: 1.1; margin: 30px 0; font-weight: var(--font-heading); }
.studio-proof span { font-size: var(--studio-type-meta); border-top: 1px solid var(--studio-proof-line); padding-top: var(--studio-rhythm-medium); display: block; }
.studio-proof-badge { position: absolute; bottom: -22px; right: -10px; border-radius: 14px; background: var(--studio-proof-badge-bg); color: var(--studio-proof-badge-ink); padding: 17px 22px; font-size: var(--studio-type-meta); transform: rotate(5deg); }
/* Local A/B comparison; the original artwork keeps its existing rules. */
.studio-process-variants { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-2); margin:0 0 18px; font-size:var(--type-copy-size); }
.studio-process-variants > span { color:var(--muted); margin-right:6px; }
.studio-process-variants a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 16px; border:1px solid var(--line); border-radius:var(--pill); }
.studio-process-variants a[aria-current="page"] { background:var(--ink); color:var(--bg); border-color:var(--ink); }
.studio-step-list { display: grid; grid-template-columns: repeat(var(--studio-step-columns),minmax(0,1fr)); gap: var(--studio-step-gap); margin: 0; list-style: none; padding: 0; }
.studio-step-list li { position: relative; display: flex; flex-direction: column; gap: var(--studio-rhythm-block); min-width: 0; padding: var(--studio-step-padding); background: var(--studio-step-bg); border-radius: var(--studio-panel-radius); }
.studio-step-top { position: relative; display: flex; justify-content: center; padding-top: 2px; }
.studio-step-number { position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--bg); color: var(--muted); font-size: var(--studio-type-kicker); font-weight:var(--font-semibold,600); }
.studio-step-icon { display: grid; place-items: center; width: var(--studio-step-icon-box); height: var(--studio-step-icon-box); color: var(--studio-step-icon-ink); }
.studio-step-icon .dfvn-icon { width: var(--studio-step-icon-size); height: var(--studio-step-icon-size); }
.studio-step-list h3 { font-size: var(--studio-type-card-title); line-height: 1.3; }
.studio-step-list p { margin-top: var(--studio-rhythm-copy); font-size: var(--type-answer-size); color: var(--muted); }
.studio-guide { padding: var(--studio-rhythm-panel); margin-top: var(--space-10); background: var(--surface); border-radius: var(--studio-panel-radius); display: grid; grid-template-columns: var(--studio-service-columns); gap: var(--studio-service-gap); }
.studio-guide p { font-size: var(--type-answer-size); margin-top: 15px; color: var(--muted); }
.studio-guide ul { display: grid; gap: var(--studio-rhythm-small); list-style: none; padding: 0; margin: 0; }
.studio-guide li { padding-bottom: var(--studio-rhythm-small); font-size: var(--studio-type-copy); }
.studio-guide .studio-actions { margin-top: 22px; }
.studio-service-guide { margin-top: var(--card-section-gap); grid-template-columns: var(--studio-guide-columns); gap: var(--studio-rhythm-panel); align-items: center; }
.studio-service-guide > ul { padding-left: 32px; border-left: 1px solid var(--line); }
.studio-service-guide li { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: var(--studio-rhythm-copy); }
.studio-service-guide > .studio-actions { margin-top: 0; }
.studio-service-guide li .dfvn-icon { width: 24px; height: 24px; }
.studio-service-guide--checklist { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:var(--space-10); }
.studio-service-guide--checklist .studio-guide-intro h3 { font-size:var(--prose-heading-size); line-height:var(--prose-heading-leading); }
.studio-service-guide--checklist .studio-guide-intro>p { max-width:40ch; color:var(--muted); }
.studio-service-guide--checklist .studio-actions { margin-top:var(--studio-rhythm-large); }
.studio-service-guide--checklist>ul { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 0 0 var(--studio-rhythm-panel); border-left:1px solid var(--line); gap:30px var(--studio-rhythm-panel); }
.studio-service-guide--checklist li { grid-template-columns:40px minmax(0,1fr); align-items:start; gap:var(--studio-rhythm-medium); }
.studio-service-guide--checklist .studio-guide-check { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--bg); }
.studio-service-guide--checklist h4 { margin:0 0 var(--card-title-copy-gap); font-weight:var(--font-heading); font-size:var(--compact-title-size); line-height:var(--compact-title-leading); }
.studio-service-guide--checklist li p { margin:0; color:var(--muted); }
@media(max-width:1050px) { .studio-service-guide--checklist { grid-template-columns:1fr; gap:var(--studio-rhythm-large); } .studio-service-guide--checklist>ul { padding:var(--studio-rhythm-large) 0 0; border-left:0; border-top:1px solid var(--line); } }
@media(max-width:700px) { .studio-service-guide--checklist>ul { grid-template-columns:1fr; gap:var(--studio-rhythm-block); } }

.studio-ready [data-studio-reveal] { opacity: 0; transform: translateY(20px); transition: opacity var(--studio-reveal-duration),transform var(--studio-reveal-duration) var(--studio-ease),translate var(--studio-card-hover-duration) var(--studio-card-hover-ease); }
.studio-ready [data-studio-reveal].is-visible { opacity: 1; transform: none; }
.studio-ambient.is-paused::before,.studio-ambient.is-paused::after { animation-play-state: paused; }
@keyframes studio-colors {
  0%,100% { transform: translate(-2%,-2%) scale(1); filter: hue-rotate(0deg); }
  35% { transform: translate(6%,4%) scale(1.08); filter: hue-rotate(-65deg); }
  70% { transform: translate(-4%,5%) scale(1.05); filter: hue-rotate(65deg); }
}
@keyframes studio-glow {
  0%,100% { transform: translate(5%,3%) scale(1); filter: hue-rotate(0deg); opacity: .65; }
  35% { transform: translate(-6%,-4%) scale(1.1); filter: hue-rotate(-65deg); opacity: .9; }
  70% { transform: translate(1%,5%) scale(1.05); filter: hue-rotate(65deg); opacity: .75; }
}
@media (hover:hover) and (pointer:fine) { .studio-step-list li.is-visible:hover { translate: 0 var(--studio-step-hover-offset); }
 .studio-quality-card:hover, .studio-summary-steps > li:hover { translate:0 var(--studio-step-hover-offset); }
 .studio-link:hover { opacity: .7; }
 .studio-cta .studio-button:hover .dfvn-icon { transform: translateX(4px); }

 }
@media (max-width: 1180px) { .studio-cta { align-items: flex-start; flex-direction: column; } }
@media (max-width: 1100px) {
  .studio-process-page { --studio-step-columns:2; }
  .studio-service-guide { --studio-guide-columns:minmax(0,1fr) minmax(0,1.1fr); }
  .studio-service-guide > .studio-actions { grid-column: 2; }
}
@media (max-width: 1000px) { .dfvn-studio h1 { font-size:var(--studio-type-page); } .studio-hero { min-height: 500px; gap: var(--space-5); } .studio-contact { grid-template-columns: .8fr 1.2fr; gap: 30px; } .studio-contact h1 { font-size:var(--page-title-size); margin:var(--eyebrow-title-gap) 0 var(--title-lead-gap); } .studio-contact .studio-lead { font-size:var(--lead-size); line-height:var(--lead-leading); } .studio-form-panel { padding: var(--studio-form-panel-pad,var(--studio-rhythm-block)); } .studio-form { gap: var(--studio-rhythm-medium) var(--studio-rhythm-control); } .studio-contact-details a { font-size: var(--studio-type-copy); } .studio-quality { padding: 36px; } .studio-cta { align-items: start; } .studio-library-card-body { padding: var(--studio-rhythm-block) 20px; } }
@media (max-width: 760px) {
     
  .dfvn-studio { padding: var(--studio-rhythm-small) 0 0; } .dfvn-studio h1 { font-size:var(--studio-type-page); } .dfvn-studio h2 { font-size:var(--studio-type-section); line-height:var(--section-title-leading); }
  .studio-hero { padding: 30px var(--studio-rhythm-block) 22px; grid-template-columns: 1fr; gap: var(--studio-rhythm-small); border-radius: var(--studio-panel-radius); min-height: 0; }
  .studio-hero h1 { margin:var(--eyebrow-title-gap) 0 var(--title-lead-gap); } .studio-hero .studio-lead { font-size:var(--lead-size); }
  .studio-orbit { max-width: 280px; } .studio-orbit-letter { font-size: 235px; } .studio-letter-satellite { width: 64px; height: 64px; font-size: 29px; } .studio-orbit-tag { bottom: 3%; font-size: var(--studio-type-micro); }
  .studio-hero-note { margin-top: var(--studio-rhythm-small); font-size: var(--type-tiny-size); } .studio-actions { gap: var(--studio-rhythm-small) var(--studio-rhythm-medium); margin-top:var(--lead-action-gap); }

  .studio-facts { padding: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--studio-rhythm-control); } .studio-facts > div { flex-direction: column; align-items: flex-start; padding: var(--studio-rhythm-medium) var(--studio-rhythm-small); } .studio-facts > div + div::before { display: none; } .studio-facts > div:nth-child(even) { border-left: 1px solid var(--line); } .studio-facts > div:nth-child(n+3) { border-top: 1px solid var(--line); } .studio-facts .dfvn-icon { width: 23px; height: 23px; }
  .studio-section { margin-top: 58px; } .studio-story { padding: 0; grid-template-columns: 1fr; gap: 26px; } .studio-story h2 { margin-top: 22px; } .studio-story-copy > p + p { font-size: var(--studio-type-copy); }
  .studio-story-summary { --studio-summary-padding:24px; }
  .studio-summary-heading, .studio-summary-steps, .studio-quality-cards { grid-template-columns:1fr; }
  .studio-summary-heading .studio-lead { font-size:var(--studio-type-body); }
  .studio-summary-steps h3, .studio-quality-card h3 { font-size:var(--studio-type-panel-title); line-height:var(--card-title-leading); }
  .studio-summary-number { margin-bottom:22px; }
  .studio-quality-card { padding:var(--studio-rhythm-block); }
  .studio-mission { gap: var(--studio-rhythm-medium); } .studio-mission div { grid-template-columns: 75px 1fr; gap: var(--studio-rhythm-medium); }
  .studio-section-heading { display: block; padding: 0; margin-bottom:var(--heading-card-gap); } .studio-section-heading > p { margin-top: var(--space-5); font-size: var(--studio-type-copy); }
  .studio-library-grid { grid-template-columns: 1fr; gap: var(--card-gap); } .studio-library-card :is(img, video) { aspect-ratio: 1.7; } .studio-library-card-body { padding: var(--studio-rhythm-block); } .studio-library-card p { min-height: 0; } .studio-library-card h3 { font-size: var(--studio-type-panel-title); }
  .studio-quality { padding: 30px var(--studio-rhythm-block); border-radius: var(--studio-panel-radius); } .studio-quality-head { grid-template-columns: 1fr; gap: 22px; } .studio-quality-head p { font-size: var(--studio-type-copy); } .studio-quality-grid { grid-template-columns: 1fr; gap: 26px; margin-top: 26px; }
  .studio-quality-grid article { display: grid; grid-template-columns: 65px 1fr; gap: var(--studio-rhythm-medium); padding-top: 23px; } .studio-quality-glyph { font-size: 52px; margin: 0; } .studio-quality h3 { font-size:var(--studio-type-card-title); line-height:var(--compact-title-leading); } .studio-quality-grid p { font-size: var(--studio-type-small); }
  .studio-cta { --studio-cta-action-height:50px; --studio-cta-actions-gap:10px; --studio-cta-panel-padding:26px 22px; --studio-cta-panel-radius:22px; margin: 58px 0 0; gap: var(--studio-rhythm-large); } .studio-cta--a { padding: 20px 0; } .studio-cta .studio-actions { width: 100%; } .studio-cta--b h2 { font-size:var(--section-title-size); line-height:var(--section-title-leading); }
    
  .studio-contact { gap: 30px; padding: 30px var(--studio-rhythm-medium) var(--studio-rhythm-medium); } .studio-contact .studio-hero-copy { padding: 0 6px; } .studio-contact h1 { font-size:var(--page-title-size);  margin:var(--eyebrow-title-gap) 0 var(--title-lead-gap); } .studio-contact-details { padding-top: 26px; margin-top: 0; gap: 13px; } .studio-contact .studio-lead { font-size:var(--lead-size); line-height:var(--lead-leading); }
  .studio-form-panel { padding: var(--studio-form-panel-pad,var(--studio-rhythm-block) var(--studio-rhythm-medium)); border-radius: var(--studio-tile-radius); } .studio-form { gap: var(--studio-rhythm-medium) var(--studio-rhythm-small); }
  .studio-form-foot { align-items: start; flex-direction: column-reverse; gap: 15px; } .studio-form-foot .studio-button { width: 100%; } .studio-form-foot p { max-width: none; } 
  .studio-service-diagram { width: min(100%,280px); margin: 10px auto 25px; } .studio-proof { padding: 30px; } .studio-proof strong { font-size: 66px; margin: 22px 0; } .studio-proof-badge { right: -6px; padding: var(--studio-rhythm-control) var(--studio-rhythm-medium); font-size: var(--studio-type-kicker); }
  .studio-service-diagram--layered { --studio-monogram-size:52px; --studio-monogram-type:27px; margin-block:40px 50px; }
  .studio-service-diagram--layered::before { inset:-10% 4% 20% 25%; }
  .studio-service-diagram--layered::after { inset:44% 30% -2% -4%; }
  .studio-service-diagram--layered .studio-proof { padding:var(--studio-rhythm-block); }
  .studio-service-diagram--layered .studio-proof strong { font-size:clamp(40px,14vw,60px); }
  .studio-service-diagram--layered .studio-proof-monogram { right:-5%; border-radius:14px; }
  .studio-process-page { --studio-step-columns:1; --studio-step-icon-box:56px; --studio-step-icon-size:28px; }
  .studio-step-list li { flex-direction: row; align-items: flex-start; padding: var(--studio-rhythm-block); gap: var(--space-5); }
  .studio-step-top { padding-top: var(--studio-rhythm-panel); flex: 0 0 var(--studio-step-icon-box); }
  .studio-step-number { left: 50%; transform: translateX(-50%); width: 24px; height: 24px; }
  .studio-step-copy { min-width: 0; }
  .studio-step-list p { font-size: var(--studio-type-copy); margin-top: var(--studio-rhythm-small); }
  .studio-service-guide > ul { border-left: 0; padding-left: 0; }
  .studio-service-guide > .studio-actions { grid-column: auto; }
  .studio-guide { padding: var(--studio-rhythm-large) var(--studio-rhythm-block); grid-template-columns: 1fr; gap: 25px; } .studio-guide p { font-size: var(--studio-type-copy); }
       
      
}
@media (max-width: 359px) { .studio-form label:not(.studio-full) { grid-column: 1/-1; } .studio-form-panel { padding: var(--studio-form-panel-pad,22px var(--studio-rhythm-copy)); }  .studio-hero { padding-inline: 22px; } }
@media (max-width: 560px) { .studio-cta .studio-button { flex: 1 1 var(--studio-cta-action-basis); } }
@media (prefers-reduced-motion: reduce) { .studio-ambient::before,.studio-ambient::after { animation: none; } .studio-ready [data-studio-reveal] { opacity: 1; transform: none; transition: none; } .dfvn-studio :is(a,button,img),.studio-cta .studio-button .dfvn-icon { transition: none; } .studio-step-list li.is-visible:hover,.studio-quality-card:hover,.studio-summary-steps > li:hover { translate:none; } .studio-quality-card,.studio-summary-steps > li { transition:none; } .studio-button:hover,.studio-library-card:hover img,.studio-cta .studio-button:hover .dfvn-icon { transform: none; } }

.studio-form .wpcf7-form-control-wrap { display: block; min-width: 0; }
.studio-form :is(input[type=submit],button[type=submit]) { width: auto; cursor: pointer; }
.studio-form-panel .wpcf7 form { margin: 0; }
.studio-form-panel .wpcf7 form .wpcf7-response-output { margin: var(--studio-rhythm-block) 0 0; padding: var(--studio-rhythm-control) var(--studio-rhythm-copy); border-radius: var(--studio-form-radius); color: var(--ink); font-size: var(--studio-type-copy); }
.studio-form-panel .wpcf7 form :is(.wpcf7-not-valid-tip,.wpcf7-response-output) { line-height: 1.5; }
.studio-form-panel .wpcf7 form [data-service-follow-up] { margin-top: var(--studio-rhythm-copy); line-height: 1.65; }
.studio-form-panel [data-service-follow-up] a { text-decoration: underline !important; text-underline-offset: .2em; }
.studio-form-panel .wpcf7-not-valid-tip { color: var(--error); font-size: var(--studio-type-meta); margin-top: var(--studio-rhythm-tight); }

.studio-form-panel .wpcf7-spinner { margin: 10px; }
.studio-form .studio-form-verification { min-width: 0; }
.studio-form-panel .wpcf7 form.submitting { opacity: .75; cursor: progress; }
.studio-form-panel .wpcf7 form.submitting input[type=submit] { pointer-events: none; }
.studio-form-panel :is(.cf-turnstile,.wpcf7-turnstile) { max-width: 100%; overflow: hidden; }
.studio-request { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 7%; padding: 0; }
.studio-request--localization {
  --studio-form-panel-bg:var(--bg);
  --studio-request-columns:minmax(0,.85fr) minmax(0,1.15fr);
  --studio-request-info-gap:24px;
  grid-template-columns:var(--studio-request-columns);
  gap:var(--card-gap) clamp(var(--studio-rhythm-large),6vw,76px);
}
.studio-request--localization .studio-form-panel { box-shadow:var(--studio-form-panel-shadow,0 25px 60px var(--studio-form-shadow)); }
html[data-theme="dark"] .studio-request--localization { --studio-form-panel-bg:var(--surface); --studio-form-panel-shadow:none; }
@media (prefers-color-scheme:dark) { html[data-theme="system"] .studio-request--localization { --studio-form-panel-bg:var(--surface); --studio-form-panel-shadow:none; } }
.studio-request-copy { min-width:0; }
.studio-request--localization .studio-request-copy > p { font-size:var(--studio-type-body); }
.studio-request-features { display:grid; gap:var(--studio-request-info-gap); margin:var(--studio-rhythm-panel) 0; padding:0; list-style:none; }
.studio-request-features li { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:start; gap:var(--studio-rhythm-copy); }
.studio-request-feature-number { display:grid; place-items:center; width:30px; aspect-ratio:1; border:1px solid var(--line); border-radius:50%; font-size:var(--studio-type-small); font-variant-numeric:tabular-nums; }
.studio-request-features p { color:var(--muted); font-size:var(--studio-type-body); }
.studio-request-features strong { color:var(--ink); font-weight:var(--font-semibold,600); }
.studio-request-response { padding:var(--studio-rhythm-block); background:var(--surface); border-radius:18px; }
.studio-request-response h3 { font-size:var(--studio-type-small); letter-spacing:.08em; text-transform:uppercase; }
.studio-request-response p { margin-top:var(--studio-rhythm-small); color:var(--muted); font-size:var(--type-answer-size); }
.studio-request--localization .studio-form-submit { --studio-submit-icon-size:20px; --studio-submit-gap:var(--button-icon-gap); position:relative; width:100%; }
.studio-request--localization .studio-form-submit > .dfvn-button-input { width:100%; }
.studio-request--localization .studio-form-submit .dfvn-button-input-label { color:var(--action-ink,var(--button-ink)); transform:translateX(calc((var(--studio-submit-icon-size) + var(--studio-submit-gap)) / -2)); }
.studio-request--localization .studio-form-submit input[type=submit] { width:100%; padding-inline:22px calc(22px + var(--studio-submit-icon-size) + var(--studio-submit-gap)); }
.studio-request--localization .studio-form-submit .wpcf7-spinner { position:absolute; top:50%; right:22px; margin:0; transform:translateY(-50%); }
/* The invisible label measures the native input text so its icon stays beside it in both hover modes. */
.studio-request--localization .studio-submit-icon { position:absolute; top:50%; left:50%; display:inline-flex; align-items:center; gap:var(--studio-submit-gap); color:var(--action-ink,var(--button-ink)); font:var(--button-weight) var(--button-size)/1.35 var(--body-font); letter-spacing:inherit; white-space:nowrap; transform:translate(-50%,-50%); pointer-events:none; }
.studio-submit-label-measure { visibility:hidden; }
.studio-submit-icon .dfvn-icon { width:var(--studio-submit-icon-size); height:var(--studio-submit-icon-size); flex-shrink:0; }
.studio-request--localization form[aria-busy="true"] .studio-submit-icon { visibility:hidden; }
.studio-request :is(h1,h2) { margin: var(--studio-rhythm-block) 0; }
.studio-request .studio-lead + p { font-size: var(--studio-type-copy); color: var(--muted); margin-top: var(--space-5); }
.studio-guide h3 { margin-top: var(--space-5); }
.studio-gradient .studio-proof-badge { color: var(--lavender); }
.studio-preview-note { padding: var(--studio-rhythm-control) var(--studio-rhythm-medium); margin-bottom: var(--studio-rhythm-medium); background: var(--surface); color: var(--muted); border-radius: var(--studio-form-radius); font-size: var(--studio-type-copy); }
.studio-extra { padding-inline: 0; }
@media(max-width:760px) { .studio-request--localization { --studio-request-columns:1fr; } .studio-request { grid-template-columns: 1fr; padding: 0; gap: var(--studio-rhythm-large); } .studio-form-foot > div { width: 100%; } .studio-form :is(input[type=submit],button[type=submit]) { width: 100%; } }

.studio-quality-grid article::before { content: ''; position: absolute; top: calc(1px * -1); left: 0; width: var(--quality-sweep-width); height: 1px; background: linear-gradient(90deg,transparent,var(--quality-sweep-ink),transparent); opacity: 0; animation: studio-line-light var(--quality-sweep-duration) ease-in-out infinite; pointer-events: none; }
.studio-quality-grid article:nth-child(2)::before { animation-delay: 2.4s; }
.studio-quality-grid article:nth-child(3)::before { animation-delay: 4.8s; }
@keyframes studio-line-light { 0% { transform: translateX(0); opacity: 0; } 4%,24% { opacity: 1; } 30%,100% { transform: translateX(233%); opacity: 0; } }
.studio-request .studio-form-foot { justify-content: flex-start; }
@media (min-width:761px) and (max-width:1100px) { .studio-facts { grid-template-columns: repeat(2,minmax(0,1fr)); } .studio-facts > div:nth-child(3)::before { display: none; } .studio-facts > div:nth-child(n+3) { border-top: 1px solid var(--line); } }
@media (prefers-reduced-motion:reduce) { .studio-facts .dfvn-icon { transition: none; } .studio-facts > div:nth-child(n):hover > .dfvn-icon { transform: none; } }
@media (prefers-reduced-motion:reduce) { .studio-quality-grid article::before { animation: none; } }

/* CF7 paragraph wrappers and an empty interaction-only captcha must not reserve rows. */
.studio-form > p:empty, .studio-form-verification:empty { display: none; }
.studio-form label > br { display: none; }
.studio-form-foot > div { display: flex; align-items: center; }

.studio-form-foot .studio-form-verification { flex-shrink: 0; min-width: 150px; }

/* Topic-specific guidance uses the existing native CF7 fields. */
.studio-contact-form-intro h2 { font-size:var(--studio-type-panel-title); line-height:1.3; letter-spacing:-.025em; margin:0 0 9px; }
.studio-contact-form-intro p { margin:0; color:var(--muted); font-size:var(--studio-type-copy); line-height:1.65; }
.studio-form [data-contact-font][hidden] { display:none; }
.studio-field-required { font-size:var(--studio-type-meta); color:var(--muted); font-weight:var(--font-regular,400); }
.studio-form-errors { grid-column:1/-1; padding:var(--studio-rhythm-medium); border:1px solid var(--error); border-radius:var(--studio-form-radius); color:var(--error); font-size:var(--studio-type-copy); line-height:1.6; }
.studio-form-errors ul { padding-left:18px; margin:9px 0 0; }
.studio-form-errors a { color:inherit; text-decoration:underline; text-underline-offset:.2em; }
.studio-form [data-service-source-field][hidden] { display:none; }

/* Shared page rhythm follows the localization page, independently of font scale. */
.dfvn-studio > :is(.studio-section,.studio-guide,.studio-cta):not(:first-child) { margin-top:var(--studio-section-gap); }
.studio-about-page .studio-facts { margin-top:var(--studio-rhythm-panel); }
.studio-about-page .studio-story-action { --action-bg:transparent; --action-ink:currentColor; --action-line:currentColor; }
.studio-gradient .studio-story-action { --action-line:#ffffff80; }
.studio-orbit--art::before, .studio-orbit--art::after { display:none; }
.studio-orbit-art { display:block; width:90%; height:90%; will-change:transform; animation:studio-orbit-spin 40s linear infinite; }
.studio-orbit-image { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; -webkit-user-drag:none; }
.studio-orbit-art:is(.is-paused,[data-motion="off"]) { animation-play-state:paused; }
@keyframes studio-orbit-spin { to { transform:rotate(360deg); } }

/* Three about compositions share the current copy and library images. */
.studio-about-page:not(.studio-about--legacy) { --about-panel-padding:clamp(28px,3.8vw,56px); --about-panel-radius:28px; }
.studio-about-page:not(.studio-about--legacy) .studio-story { align-items:start; gap:clamp(var(--studio-rhythm-large),5vw,76px); padding:var(--about-panel-padding); background:var(--surface); border-radius:var(--about-panel-radius); scroll-margin-top:120px; }
.studio-about-page:not(.studio-about--legacy) .studio-story h2 { font-size:var(--section-title-size); line-height:var(--section-title-leading); }
.studio-about-page:not(.studio-about--legacy) .studio-mission { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--card-gap); padding:0; border:0; margin-top:30px; }
.studio-about-page:not(.studio-about--legacy) .studio-mission > div { display:flex; flex-direction:column; gap:var(--studio-rhythm-control); padding:var(--studio-rhythm-block); border-radius:var(--studio-tile-radius); background:var(--bg); }
.studio-about-page:not(.studio-about--legacy) .studio-mission strong { font-size:var(--studio-type-meta); }
.studio-about-page:not(.studio-about--legacy) .studio-mission p { font-size:var(--studio-type-copy); color:var(--muted); }
.studio-about-page:not(.studio-about--legacy) .studio-section-heading { gap:var(--space-10); margin-bottom:var(--studio-rhythm-panel); }
.studio-about-page:not(.studio-about--legacy) .studio-library-card { display:flex; flex-direction:column; border-radius:var(--studio-panel-radius); }
.studio-about-page:not(.studio-about--legacy) .studio-library-card-body { flex:1; display:flex; flex-direction:column; gap:var(--studio-rhythm-control); padding:var(--studio-rhythm-large); }
.studio-about-page:not(.studio-about--legacy) .studio-library-card h3 { margin:0; }
.studio-about-page:not(.studio-about--legacy) .studio-library-card p { min-height:0; margin:0 0 10px; }
.studio-about-page:not(.studio-about--legacy) .studio-library-card .studio-link { margin-top:auto; align-self:flex-start; }
.studio-about-page:not(.studio-about--legacy) .studio-quality { padding:var(--about-panel-padding); border-radius:var(--about-panel-radius); }
.studio-about-page:not(.studio-about--legacy) .studio-quality-grid { gap:var(--card-gap); margin-top:36px; }
.studio-about-page:not(.studio-about--legacy) .studio-quality-grid article { min-width:0; padding:var(--studio-rhythm-large); border:0; border-radius:var(--studio-tile-radius); background:#ffffff0d; }
.studio-about-page:not(.studio-about--legacy) .studio-quality-grid article::before { display:none; }
.studio-about-page:not(.studio-about--legacy) .studio-quality-glyph { font-size:64px; margin-bottom:var(--studio-rhythm-block); }
.studio-about-page:not(.studio-about--legacy) .studio-quality h3 { font-size:var(--studio-type-card-title); line-height:var(--compact-title-leading); }
.studio-about-page:not(.studio-about--legacy) .studio-cta { position:relative; isolation:isolate; overflow:hidden; padding:var(--about-panel-padding); border-radius:var(--about-panel-radius); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:var(--studio-rhythm-panel); color:var(--ink); background:var(--surface); }
.studio-about-page:not(.studio-about--legacy) .studio-cta h2 { font-size:var(--section-title-size); line-height:var(--section-title-leading); }
.studio-about-page:not(.studio-about--legacy) .studio-cta .studio-button { --action-bg:var(--button-bg); --action-ink:var(--button-ink); --action-line:transparent; }
.studio-about-page:not(.studio-about--legacy) .studio-cta .studio-button--outline { --action-bg:transparent; --action-ink:var(--ink); --action-line:var(--ink); }
.studio-about-page:not(.studio-about--legacy) .studio-cta .studio-button:hover .dfvn-icon { transform:none; }

/* B: an open story and a vertical list of values. */
.studio-about-page.studio-about--b .studio-story { background:transparent!important; padding:0!important; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.studio-about-page.studio-about--b .studio-mission { grid-template-columns:1fr!important; }
.studio-about-page.studio-about--b .studio-mission > div { background:var(--surface)!important; }
.studio-about-page.studio-about--b .studio-quality { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--space-10); }
.studio-about-page.studio-about--b .studio-quality-head { grid-template-columns:1fr; align-content:start; gap:var(--studio-rhythm-block); }
.studio-about-page.studio-about--b .studio-quality-grid { grid-template-columns:1fr; margin-top:0!important; }
.studio-about-page.studio-about--b .studio-quality-grid article { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:start; gap:var(--studio-rhythm-block); }
.studio-about-page.studio-about--b .studio-quality-glyph { margin:0!important; }

/* C: centered headlines and three independent value cards in the surface palette. */
.studio-about-page.studio-about--c .studio-story { grid-template-columns:1fr; text-align:center; }
.studio-about-page.studio-about--c .studio-story > div { max-width:900px; margin-inline:auto; }
.studio-about-page.studio-about--c .studio-story .studio-kicker { justify-content:center; }
.studio-about-page.studio-about--c .studio-story-copy { max-width:820px!important; }
.studio-about-page.studio-about--c .studio-mission { text-align:left; }
.studio-about-page.studio-about--c .studio-section-heading { display:block; text-align:center; }
.studio-about-page.studio-about--c .studio-section-heading .studio-kicker { justify-content:center; }
.studio-about-page.studio-about--c .studio-section-heading > p { max-width:600px; margin:var(--studio-rhythm-block) auto 0; }
.studio-about-page.studio-about--c .studio-quality { background:transparent!important; padding:0!important; color:var(--ink)!important; }
.studio-about-page.studio-about--c .studio-quality-head { grid-template-columns:1fr; text-align:center; gap:var(--studio-rhythm-block); }
.studio-about-page.studio-about--c .studio-quality-head .studio-kicker { justify-content:center; }
.studio-about-page.studio-about--c .studio-quality-head p { margin:auto; }
.studio-about-page.studio-about--c .studio-quality-grid article { background:var(--surface)!important; }
.studio-about-page.studio-about--c .studio-quality p { color:var(--muted)!important; }
.studio-about-page.studio-about--c .studio-quality .studio-quality-glyph { color:var(--ink); }
.studio-about-page.studio-about--c .studio-cta { grid-template-columns:1fr!important; text-align:center; }
.studio-about-page.studio-about--c .studio-cta h2 { margin-inline:auto; }
.studio-about-page.studio-about--c .studio-cta .studio-kicker, .studio-about-page.studio-about--c .studio-cta .studio-actions { justify-content:center; }
.studio-about-page.studio-about--c .studio-cta .studio-button { --action-bg:var(--button-bg)!important; --action-ink:var(--button-ink)!important; }
.studio-about-page.studio-about--c .studio-cta .studio-button--outline { --action-bg:transparent!important; --action-ink:var(--ink)!important; --action-line:var(--ink)!important; }
@media(max-width:1100px) {
 .studio-about-page:not(.studio-about--legacy) .studio-cta { grid-template-columns:1fr; align-items:start; }
 .studio-about-page:not(.studio-about--legacy) .studio-cta .studio-actions { flex-wrap:wrap; }
}
@media(max-width:760px) {
 .dfvn-studio { --studio-section-gap:var(--studio-section-gap-mobile,64px); }
 .studio-about-page .studio-facts { margin-top:var(--studio-rhythm-block); }
 .studio-about-page:not(.studio-about--legacy) { --about-panel-padding:28px 24px; --about-panel-radius:24px; }
 .studio-about-page:not(.studio-about--legacy) .studio-story, .studio-about-page.studio-about--b .studio-quality { grid-template-columns:1fr; gap:var(--studio-rhythm-large); }
 .studio-about-page:not(.studio-about--legacy) .studio-mission { grid-template-columns:1fr; }
 .studio-about-page:not(.studio-about--legacy) .studio-mission > div { padding:22px; }
 .studio-about-page:not(.studio-about--legacy) .studio-quality-grid article { display:block; padding:var(--studio-rhythm-block); }
 .studio-about-page.studio-about--b .studio-quality-grid article { display:grid; grid-template-columns:52px minmax(0,1fr); gap:var(--studio-rhythm-medium); }
 .studio-about-page:not(.studio-about--legacy) .studio-quality h3 { font-size:var(--studio-type-card-title); line-height:var(--compact-title-leading); }
 .studio-about-page:not(.studio-about--legacy) .studio-quality-glyph { font-size:52px; }
 .studio-about-page:not(.studio-about--legacy) .studio-cta .studio-actions { flex-wrap:wrap; }
 .studio-about-page:not(.studio-about--legacy) .studio-library-card-body { padding:var(--studio-rhythm-block); }
 .studio-about-page .studio-story-action { width:auto; }
 .studio-about-page.studio-about--c .studio-section-heading { text-align:center; }
}
/* B3 service heroes align with the page gutter, without a padded outer panel. */
.dfvn-studio.studio-none:is(.studio-process-page,.studio-localization-page) .studio-hero { padding:0; min-height:0; border-radius:0; clip-path:none; overflow:visible; }
@media(prefers-reduced-motion:reduce) { .studio-orbit-art { animation:none; } }
/* Intrinsic PNG dimensions must not change the hero's column proportions. */
.studio-about-page .studio-hero { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.studio-about-page .studio-hero > div { min-width:0; }
@media(max-width:760px) { .studio-about-page .studio-hero { grid-template-columns:1fr; } }

/* About: editorial destinations and library values, independent of service criteria. */
.studio-about-paths { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(var(--studio-rhythm-panel),5vw,76px); align-items:center; }
.studio-about-paths-intro, .studio-about-beliefs-intro { min-width:0; }
.studio-about-paths h2, .studio-about-beliefs h2 { font-size:var(--section-title-size); margin:var(--title-lead-gap) 0; line-height:var(--section-title-leading); }
.studio-about-paths-intro > p, .studio-about-beliefs-intro > p { color:var(--muted); font-size:var(--studio-type-body); line-height:1.7; max-width:420px; }
.studio-about-path-list { display:grid; gap:var(--space-5); min-width:0; }
.studio-about-path { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:var(--studio-rhythm-block); padding:20px; background:var(--surface); border-radius:var(--studio-panel-radius); min-width:0; }
.studio-about-path figure { margin:0; border-radius:var(--studio-media-radius); overflow:hidden; align-self:stretch; min-height:150px; }
.studio-about-path img { display:block; width:100%; height:100%; object-fit:cover; }
.studio-about-path-copy { display:flex; flex-direction:column; min-width:0; gap:10px; }
.studio-about-path-category { font-size:var(--studio-type-kicker); color:var(--muted); letter-spacing:.06em; text-transform:uppercase; }
.studio-about-path h3 { margin:0; font-size:var(--card-title-size); line-height:var(--card-title-leading); }
.studio-about-path-copy > p { margin:0; font-size:var(--studio-type-copy); line-height:1.65; color:var(--muted); }
.studio-about-path .studio-link { --action-bg:transparent; --action-ink:var(--ink); --action-line:transparent; --button-padding:0; --button-size:14px; --button-height:44px; margin-top:var(--studio-rhythm-tight); align-self:start; }
.studio-about-beliefs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,5vw,80px); align-items:center; padding:clamp(var(--studio-rhythm-large),4vw,56px); border-radius:28px; --surface:#000; --ink:var(--studio-gradient-ink); --muted:color-mix(in srgb,var(--ink) 72%,transparent); --paragraph-ink:var(--ink); background:var(--surface); color:var(--ink); }
.studio-about-belief-list { display:grid; gap:var(--studio-rhythm-panel); }
.studio-about-belief { display:grid; grid-template-columns:36px minmax(0,1fr); gap:var(--studio-rhythm-medium); }
.studio-about-belief-index { color:var(--muted); font-size:var(--studio-type-meta); font-variant-numeric:tabular-nums; padding-top:5px; }
.studio-about-belief h3 { margin:0 0 var(--studio-rhythm-small); font-size:var(--card-title-size); line-height:var(--card-title-leading); }
.studio-about-belief p { margin:0; color:var(--muted); font-size:var(--studio-type-copy); line-height:1.7; }
@media(max-width:1000px) {
 .studio-about-paths { grid-template-columns:1fr; gap:var(--studio-rhythm-large); }
 .studio-about-paths-intro > p { max-width:600px; }
 .studio-about-path { grid-template-columns:minmax(140px,.4fr) minmax(0,1fr); }
}
@media(max-width:760px) {
 .studio-about-paths h2, .studio-about-beliefs h2 { font-size:var(--section-title-size); margin:var(--title-lead-gap) 0; line-height:var(--section-title-leading); }
 .studio-about-paths-intro > p, .studio-about-beliefs-intro > p { font-size:var(--studio-type-copy); }
 .studio-about-path { grid-template-columns:88px minmax(0,1fr); padding:var(--studio-rhythm-medium); gap:var(--studio-rhythm-medium); border-radius:var(--studio-panel-radius); }
 .studio-about-path figure { min-height:0; height:88px; }
 .studio-about-path h3 { font-size:var(--card-title-size); line-height:var(--card-title-leading); }
 .studio-about-path-copy > p { font-size:var(--studio-type-small); }
 .studio-about-path .studio-link { font-size:var(--studio-type-small); }
 .studio-about-beliefs { grid-template-columns:1fr; gap:var(--studio-rhythm-panel); padding:var(--studio-rhythm-large) var(--studio-rhythm-block); border-radius:var(--studio-panel-radius); }
 .studio-about-belief { grid-template-columns:24px minmax(0,1fr); gap:var(--studio-rhythm-small); }
 .studio-about-belief h3 { font-size:var(--card-title-size); line-height:var(--card-title-leading); }
}
/* Independent clipping for animated backgrounds prevents corner repaint artifacts. */
.studio-hero { --studio-hero-clip-radius:var(--studio-hero-radius); clip-path:inset(0 round var(--studio-hero-clip-radius)); }
.studio-hero > .studio-ambient { border-radius:inherit; clip-path:inset(0 round var(--studio-hero-clip-radius)); }
.studio-hero > .studio-ambient .studio-noise,.studio-hero::after { border-radius:inherit; }
/* Local no-background comparison; content cards keep their own surfaces. */
.studio-none .studio-hero { background:transparent; color:var(--ink); }
.studio-none .studio-hero h1 em { color:var(--muted); }
.studio-none .studio-summary-heading--gradient { background:transparent; color:var(--ink); }
.studio-none .studio-orbit { color:var(--ink); }
.studio-none .studio-orbit-letter { color:var(--ink); }
@media(max-width:760px) {
  .dfvn-studio .studio-hero { --studio-hero-clip-radius:var(--studio-panel-radius); padding:36px 28px 36px; gap:36px; }
  .dfvn-studio .studio-hero .studio-actions { gap:var(--space-4); }
  .dfvn-studio .studio-hero .studio-button { max-width:100%; }
  .dfvn-studio .studio-contact .studio-hero-copy { padding:0; }
}
