/* Shared visual language. Agency pages use the heading gradient; each trade
   keeps its own palette. No changes to the approved home layout. */
.sx-icon-defs { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.dv-icon { width:26px; height:26px; flex:0 0 auto; display:block; }
.dv-icon-tile { display:grid; place-items:center; width:60px; height:60px; flex:0 0 auto; border:1px solid #b998ff2c; border-radius:18px; background:linear-gradient(145deg,#b998ff12,#9fb9ff04); box-shadow:inset 0 1px #ffffff06; }
.dv-icon-tile .dv-icon { width:29px; height:29px; }
.dv-step-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.dv-step-number { color:#b2a3c3; font-size:.8rem; font-weight:750; letter-spacing:.08em; }
.agency-service-page :is(.plans-grid,.automation-plans,.video-plans,.option-grid) > * { min-width:0; }
.agency-service-page :is(.page-hero,.section,.dv-choice-section) h2 em { font-style:normal; }
.agency-service-page .page-hero h1 { font-size:clamp(2.65rem,4.5vw,4.4rem); line-height:1.06; }
.agency-service-page .hero-intro { max-width:550px; color:#b7aec6; line-height:1.7; }
.agency-service-page .section-head { margin-bottom:38px; }
.agency-service-page .section-head h2 { line-height:1.1; }
.agency-service-page .split-head { max-width:none; align-items:end; gap:50px; }
.agency-service-page .split-head > p { max-width:430px; }
.dv-choice-section { padding:15px 0 68px; }
.dv-choice-section .section-label { margin-bottom:20px; }
.dv-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.dv-choice { display:flex; align-items:center; gap:18px; min-width:0; padding:23px; border:1px solid #b998ff28; border-radius:22px; background:linear-gradient(150deg,#21192e,#14111c); text-decoration:none; color:#f4efff; transition:border-color .25s,background .25s; }
.dv-choice strong { display:block; font-size:1.05rem; line-height:1.35; }
.dv-choice span:not(.dv-icon-tile) { display:block; margin-top:5px; color:#b4a8c6; font-size:.875rem; }
.dv-choice-arrow { width:19px; height:19px; margin-left:auto; }
.dv-choice:hover { border-color:#b998ff78; background:#251c35; }
.dv-choice-section + .plans-section { padding-top:35px; }
.agency-service-page .plan-card { position:relative; padding:30px; border-radius:26px; background:linear-gradient(155deg,#21192d,#141019); }
.agency-service-page .plan-featured { transform:none; border-color:#b998ff80; box-shadow:0 18px 70px #8c55e515; }
.agency-service-page .dv-plan-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:22px; }
.agency-service-page .dv-plan-heading > span:not(.dv-icon-tile) { margin:0; color:#c6adf1; font-size:.75rem; font-weight:750; letter-spacing:.05em; }
.agency-service-page .plan-top h3 { margin:0 0 14px; font-size:1.65rem; }
.agency-service-page .plan-top strong { margin-bottom:14px; font-size:1.8rem; }
.agency-service-page .plan-top p { min-height:0; line-height:1.5; }
.agency-service-page .plan-card li { padding-block:13px; line-height:1.5; }
.agency-service-page .plan-card .button { width:100%; }
.dv-plan-example { display:flex; align-items:center; gap:10px; margin:5px 0 0; padding:12px 0; color:#c3b4d5; border-top:1px solid #ffffff12; font-size:.875rem; }
.dv-plan-example .dv-icon { width:20px; height:20px; }
.agency-service-page .option-grid { gap:18px; }
.agency-service-page .option-grid article { padding:26px; border-radius:22px; background:linear-gradient(150deg,#21192d,#16101e); }
.dv-option-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dv-option-top .dv-icon { width:28px; height:28px; }
.dv-option-top > span { padding:6px 10px; border-radius:999px; background:#c6acff; color:#231134; font-size:.875rem; font-weight:750; }
.agency-service-page .option-grid h3 { margin:25px 0 10px; font-size:1.2rem; }
.agency-service-page .option-grid p { font-size:.9375rem; line-height:1.65; }
.dv-process-section { background:radial-gradient(ellipse at 10% 0,#7b4cd910,transparent 65%); }
.dv-steps { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; padding:0; margin:0; list-style:none; }
.dv-steps-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dv-steps::before { content:''; position:absolute; top:53px; left:0; right:0; height:1px; background:linear-gradient(90deg,#b998ff15,#b998ff70,#9fb9ff15); }
.dv-step { position:relative; min-width:0; padding:25px; border:1px solid #b998ff26; border-radius:24px; background:linear-gradient(145deg,#201828,#100e16); }
.dv-step h3 { margin:28px 0 11px; font-size:1.25rem; line-height:1.3; }
.dv-step p { margin:0; color:#b1a5c1; font-size:.9375rem; line-height:1.65; }
.dv-step .dv-icon-tile { background:#221a2e; }
.dv-use-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.dv-use-card { min-width:0; display:flex; flex-direction:column; padding:30px; border:1px solid #b998ff26; border-radius:26px; background:linear-gradient(150deg,#22192e,#131018); }
.dv-use-card h3 { margin:25px 0 12px; font-size:1.35rem; line-height:1.3; }
.dv-use-card > p { margin:0 0 25px; font-size:1rem; color:#b5a9c6; line-height:1.65; }
.dv-use-example { display:flex; flex-direction:column; gap:8px; margin-top:auto; padding:18px; border:1px solid #ffffff12; border-radius:15px; background:#0e0b14; }
.dv-use-example small { font-size:.68rem; letter-spacing:.08em; color:#9e8faf; }
.dv-use-example > span { font-size:.875rem; color:#c1b9ce; }
.dv-use-example > b { font-size:.875rem; color:#d1baff; font-weight:650; line-height:1.5; }
.dv-example-chat > span { margin:2px 28px 0 0; padding:9px 12px; border-radius:12px 12px 12px 2px; background:#ffffff08; }
.dv-example-chat > b { align-self:flex-end; padding:9px 12px; border:1px solid #b998ff22; border-radius:12px 12px 2px 12px; background:#b998ff12; }
.dv-example-calendar > span { font-size:.7rem; font-weight:750; letter-spacing:.09em; }
.dv-example-calendar > b { padding:10px 12px; border:1px solid #b998ff38; border-radius:9px; text-align:center; }
.dv-example-request > span { padding-bottom:9px; border-bottom:1px solid #ffffff12; }
.dv-example-delivery > b { padding-left:13px; border-left:2px solid #b998ff; }
.dv-example-summary > b { line-height:1.7; }
.agency-service-page .guard-grid { gap:70px; }
.agency-service-page .guard-grid li { display:flex; align-items:flex-start; gap:17px; padding:21px 0; font-size:1rem; line-height:1.55; }
.agency-service-page .guard-grid li::before { display:none; }
.agency-service-page .guard-grid li .dv-icon { width:25px; height:25px; margin-top:1px; }
.agency-service-page .automation-plan { display:flex; flex-direction:column; border-radius:24px; background:linear-gradient(145deg,#241b32,#17111f); }
.agency-service-page .automation-plan h3 { margin:25px 0 0; font-size:1.4rem; }
.agency-service-page .automation-plan > div { margin-top:23px; }
.agency-service-page .automation-plan .text-link { margin-top:auto; padding-top:15px; }
.agency-service-page .automation-plan li { line-height:1.5; }
.dv-video-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:0; padding:0; list-style:none; }
.dv-video-step { min-width:0; padding:24px; border:1px solid #b998ff29; border-radius:24px; background:linear-gradient(145deg,#231a30,#131018); }
.dv-video-step .dv-icon-tile { width:46px; height:46px; border-radius:14px; }
.dv-video-step .dv-icon-tile .dv-icon { width:24px; height:24px; }
.dv-video-step h3 { margin:25px 0 12px; font-size:1.25rem; line-height:1.35; }
.dv-video-step p { margin:0; font-size:.9375rem; line-height:1.65; color:#b7a9c8; }
.dv-video-visual { display:grid; align-items:center; min-height:150px; padding:14px; border:1px solid #ffffff10; border-radius:17px; background:#0d0b12; overflow:hidden; }
.dv-reference-images,.dv-film-preview { position:relative; aspect-ratio:16/10; border-radius:10px; overflow:hidden; background:#22182c; }
.dv-reference-images img,.dv-film-preview img { width:100%; height:100%; object-fit:cover; }
.dv-reference-images > span { position:absolute; bottom:8px; right:8px; display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:#0c0818b0; }
.dv-reference-images .dv-icon { width:18px; height:18px; }
.dv-film-preview > .dv-icon { position:absolute; inset:0; margin:auto; width:36px; height:36px; color:#fff; stroke:currentColor; filter:drop-shadow(0 2px 8px #000); }
.dv-direction-preview { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px; }
.dv-direction-preview > .dv-icon { flex-basis:100%; height:34px; margin-bottom:12px; }
.dv-direction-preview > span { width:28px; height:28px; border:1px solid #fff3; border-radius:50%; background:#b998ff; }
.dv-direction-preview > span:nth-of-type(2) { background:#9fb9ff; }
.dv-direction-preview > span:nth-of-type(3) { background:#e9dfff; }
.dv-format-frames { display:flex; align-items:center; justify-content:center; gap:10px; }
.dv-format-frames i { display:grid; place-items:center; flex:0 0 auto; padding:0; font-style:normal; color:#d7c5f9; border:1px solid #b998ff72; background:linear-gradient(135deg,#b998ff18,#9fb9ff08); border-radius:6px; font-size:.68rem; }
.dv-format-vertical { width:36px; height:64px; }
.dv-format-square { width:42px; height:42px; }
.dv-format-wide { width:64px; height:36px; }
.agency-service-page .video-plans article { border-radius:25px; background:linear-gradient(150deg,#21192d,#141019); }
.agency-service-page .video-plans article > .dv-icon-tile { margin-bottom:22px; }
.agency-service-page .video-plans h3 { margin-top:20px; }
.dv-case-title { display:flex; align-items:center; gap:12px; }
.dv-case-title .dv-icon { width:23px; height:23px; }
.dv-case-choices { display:flex; gap:9px; flex-wrap:wrap; margin-top:28px; }
.dv-case-choices a { display:flex; align-items:center; gap:9px; padding:10px 15px; border:1px solid #b998ff30; border-radius:999px; background:#b998ff09; color:#d6c6ec; font-size:.875rem; text-decoration:none; }
.dv-case-choices .dv-icon { width:18px; height:18px; }
.dv-case-list li { display:flex; align-items:center; gap:12px; padding-left:0; }
.dv-case-list li::before { display:none; }
.dv-case-list .dv-icon { width:20px; height:20px; }
.dv-blog-tag { display:flex; gap:10px; align-items:center; }
.dv-blog-tag .dv-icon { width:20px; height:20px; }
.dv-guide-summary { margin:34px 0; padding:24px; border:1px solid #b998ff30; border-radius:21px; background:#b998ff08; }
.dv-guide-summary ul { display:flex; flex-wrap:wrap; gap:18px 26px; margin:18px 0 0; padding:0; list-style:none; }
.dv-guide-summary li { display:flex; align-items:center; gap:12px; font-size:.9375rem; color:#d1c5e3; }
.dv-guide-title { display:flex; gap:14px; align-items:flex-start; }
.dv-guide-title .dv-icon { width:28px; height:28px; margin-top:4px; }
.dv-contact-point { display:grid!important; grid-template-columns:42px 1fr!important; align-items:start; gap:14px; }
.dv-contact-point > .dv-icon { width:27px; height:27px; margin-top:3px; }
.dv-contact-point strong { display:block; margin-bottom:5px; font-size:1.02rem; }
.dv-contact-point span { display:block; font-size:.9375rem; line-height:1.65; }
.contact-form .dv-form-title { display:flex; align-items:center; gap:13px; margin-bottom:18px; }
.contact-form .dv-form-title > span { margin:0; }
.dv-contact-after { margin-top:26px; padding:21px; border:1px solid #b998ff26; border-radius:18px; background:#b998ff06; }
.dv-contact-after strong { display:flex; align-items:center; gap:12px; color:#eee5fc; font-size:1rem; }
.dv-contact-after p { margin:13px 0 0; font-size:.9375rem; line-height:1.65; color:#b8adc7; }
/* Concepts index: immediate recognition of the trade and the usable tool. */
.cm-trade { display:flex; align-items:center; gap:11px; color:#c6b0ee; font-size:.8rem; letter-spacing:.09em; }
.cm-trade .dv-icon { width:25px; height:25px; }
.cm-tool { border-color:#b998ff40; color:#d3baff; font-size:.875rem; border-radius:13px; }
.cm-tool .dv-icon { width:20px; height:20px; }
.dv-concept-features { display:flex; flex-wrap:wrap; gap:12px 20px; margin:24px 0 0; padding:0; list-style:none; }
.dv-concept-features li { display:flex; align-items:center; gap:9px; color:#b9adc8; font-size:.875rem; }
.dv-concept-features .dv-icon { width:19px; height:19px; }
.dv-concept-actions { display:flex; flex-wrap:wrap; gap:17px 24px; align-items:center; margin-top:28px; }
.dv-concept-actions .cm-link { margin-top:0; font-size:.8rem; letter-spacing:.05em; }
.dv-concept-try { display:flex; align-items:center; gap:9px; font-size:.875rem; color:#d8c4fa; text-underline-offset:5px; }
.dv-concept-try .dv-icon { width:19px; height:19px; }
.concepts-page .cm-hero-facts span { font-size:.75rem; }
.concepts-page .cm-text { font-size:1rem; }
.concepts-page .cm-method .dv-steps { margin-top:40px; }
/* Trade pages retain their colour, geometry and interactive tools. */
.athla-concept-page { --dv-accent:#c8ff2e; --dv-line:#c8ff2e30; --dv-surface:#c8ff2e08; }
.axom-concept-page { --dv-accent:#6cb7ff; --dv-line:#4ea8ff30; --dv-surface:#4ea8ff08; }
.velor-concept-page { --dv-accent:#d88694; --dv-line:#c7788638; --dv-surface:#a33a4e0c; }
.resin-concept-page { --dv-accent:#e5a375; --dv-line:#d98a5138; --dv-surface:#d98a510a; }
:is(.athla-concept-page,.axom-concept-page,.velor-concept-page,.resin-concept-page) .dv-icon { color:var(--dv-accent); stroke:currentColor; }
:is(.athla-concept-page,.axom-concept-page,.velor-concept-page,.resin-concept-page) .dv-icon-tile { border-color:var(--dv-line); background:var(--dv-surface); box-shadow:none; }
.ath-page .dv-icon-tile { border-radius:16px; }
.xo-page .dv-icon-tile { border-radius:10px; }
.ve-page .dv-icon-tile { border-radius:50%; }
.ath-problem-grid article > .dv-icon-tile { margin-bottom:24px; }
.ath-page :is(.ath-studio-copy,.ath-coach-copy) article { display:grid; grid-template-columns:42px minmax(0,1fr); gap:8px 16px; align-content:start; }
.ath-page :is(.ath-studio-copy,.ath-coach-copy) article > .dv-icon { grid-row:1/3; width:30px; height:30px; margin-top:3px; }
.ath-page :is(.ath-studio-copy,.ath-coach-copy) article h3 { margin:0; }
.ath-page :is(.ath-studio-copy,.ath-coach-copy) article p { grid-column:2; margin:0; }
.ath-page .am-method-steps h3 { display:flex; gap:12px; align-items:center; }
.ath-page .am-method-steps h3 .dv-icon { width:23px; height:23px; }
.ath-page .ath-tabs button { display:grid; justify-items:center; gap:5px; border-radius:16px; padding-block:10px; }
.ath-page .ath-tabs { border-radius:21px; }
.ath-page .ath-tabs .dv-icon { width:19px; height:19px; }
.ath-page .ath-tabs button[aria-selected=true] .dv-icon { color:#192306; }
.ath-page .ath-dk-tabs button { display:flex; align-items:center; justify-content:center; gap:8px; }
.ath-page .ath-dk-tabs .dv-icon { width:18px; height:18px; }
.ath-page .ath-dk-tabs button[aria-selected=true] .dv-icon { color:#172005; }
.ath-page .ath-toggle-3 button { display:flex; align-items:center; justify-content:center; gap:9px; }
.ath-page .ath-toggle-3 .dv-icon { width:20px; height:20px; }
.ath-page .ath-toggle-3 button[aria-pressed=true] .dv-icon { color:#172005; }
.xo-page .xo-mark > .dv-icon { margin-bottom:20px; width:28px; height:28px; }
.xo-page .xo-step { grid-template-columns:auto 1fr auto; }
.xo-page .xo-step .dv-icon { width:23px; height:23px; }
.xo-page .xo-gain-grid { gap:20px; background:transparent; border:0; border-radius:0; overflow:visible; }
.xo-page .xo-gain-grid article { border:1px solid var(--xl); border-radius:16px; background:linear-gradient(145deg,#111923,#080c12); }
.xo-page .xo-gain-grid .dv-icon-tile { margin-bottom:25px; }
.ve-page .ve-step-grid article .dv-step-top { margin-bottom:25px; }
.ve-page .ve-step-grid article { display:block; }
.ve-page .ve-step-grid article .dv-step-number { color:#bd8790; font-size:.8rem; }
.ve-page .ve-step-grid article h3 { margin-top:0; }
.ve-page .ve-terms-grid dt { display:flex; align-items:center; gap:13px; }
.ve-page .ve-terms-grid dt .dv-icon { width:24px; height:24px; }
.ve-page .ve-gain-grid article > .dv-icon-tile { margin-bottom:25px; }
.resin-page .resin-step-grid { gap:18px; border:0; background:transparent; border-radius:0; overflow:visible; }
.resin-page .resin-step-grid article { position:relative; padding:24px; border:1px solid #9b54232d; border-radius:20px; background:#f1eae0; }
.resin-page .resin-process .dv-icon { color:#9b5423; }
.resin-page .resin-process .dv-icon-tile { border-color:#9b542333; background:#9b542308; }
.resin-page .resin-step-grid article .dv-step-top { margin-bottom:23px; }
.resin-page .resin-step-grid article .dv-step-number { color:#c38e6b; font-size:.8rem; }
.resin-page .resin-step-grid article h3 { margin-top:0; }
.dv-resin-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:34px; padding-bottom:40px; }
.dv-resin-benefits > div { display:flex; align-items:center; gap:15px; border-top:1px solid #d98a512c; padding-top:24px; }
.dv-resin-benefits span { color:#cfc1b5; font-size:1rem; line-height:1.4; }
/* Animation is enabled only after the observer has been created. */
.dv-reveal { opacity:0; transform:translate3d(0,24px,0); transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:var(--dv-delay,0ms); }
.dv-reveal.dv-visible { opacity:1; transform:none; }
.motion-paused .dv-reveal,.is-paused .dv-reveal,body[data-motion="off"] .dv-reveal { opacity:1!important; transform:none!important; transition:none!important; }
@media (hover:hover) {
  .dv-use-card:hover,.dv-step:hover { border-color:#b998ff50; }
}
@media (max-width:1080px) {
  .dv-choices { grid-template-columns:1fr; gap:12px; }
  .dv-choice { padding:19px 24px; }
  .dv-steps,.dv-video-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dv-steps-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dv-steps::before { display:none; }
  .dv-use-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .agency-service-page .option-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dv-video-visual { min-height:170px; }
}
@media (max-width:760px) {
  .agency-service-page .page-hero { padding-top:130px; }
  .agency-service-page .page-hero h1 { font-size:clamp(2.35rem,9vw,3.5rem); }
  .agency-service-page .hero-intro { font-size:1rem; }
  .agency-service-page .split-head { gap:22px; }
  .dv-choice-section { padding:0 0 45px; }
  .dv-choice { padding:18px; gap:15px; }
  .dv-choice .dv-icon-tile { width:48px; height:48px; border-radius:15px; }
  .dv-choice strong { font-size:1rem; }
  .dv-choice-arrow { display:none; }
  .agency-service-page .plan-card { padding:28px 24px; }
  .agency-service-page .plan-card ul { margin-top:15px; }
  .dv-steps,.dv-steps-three { grid-template-columns:1fr; gap:20px; padding-left:15px; }
  .dv-steps::before { display:block; top:32px; bottom:32px; left:0; right:auto; height:auto; width:1px; background:linear-gradient(#b998ff30,#b998ff70,#9fb9ff20); }
  .dv-step { padding:24px; }
  .dv-step::before { content:''; position:absolute; top:44px; left:-20px; width:8px; height:8px; border-radius:50%; background:#b998ff; box-shadow:0 0 0 5px #1a1423; }
  .dv-step-top { margin-bottom:20px; }
  .dv-step h3 { margin-top:20px; }
  .dv-use-grid { grid-template-columns:1fr; gap:18px; }
  .dv-use-card { padding:25px; }
  .dv-use-card .dv-icon-tile { width:52px; height:52px; border-radius:16px; }
  .dv-use-card h3 { font-size:1.25rem; margin-top:22px; }
  .dv-use-card > p { margin-bottom:22px; }
  .dv-use-example { padding:15px; }
  .agency-service-page .guard-grid { gap:28px; }
  .agency-service-page .automation-plan { padding:27px 24px; }
  .dv-video-process { grid-template-columns:1fr; }
  .dv-video-step { padding:24px; }
  .dv-video-visual { min-height:175px; }
  .dv-video-visual > :is(.dv-reference-images,.dv-film-preview) { height:145px; aspect-ratio:auto; }
  .dv-format-vertical { width:54px; height:96px; }
  .dv-format-square { width:72px; height:72px; }
  .dv-format-wide { width:96px; height:54px; }
  .dv-format-frames { gap:15px; }
  .dv-format-frames i { font-size:.75rem; }
  .dv-concept-features { gap:13px; flex-direction:column; }
  .cm-tool { max-width:100%; line-height:1.45; }
  .dv-guide-summary { padding:21px; }
  .dv-guide-summary ul { flex-direction:column; gap:17px; }
  .dv-guide-title .dv-icon { width:24px; height:24px; }
  .dv-resin-benefits { grid-template-columns:1fr; gap:19px; }
  .dv-resin-benefits > div { padding-top:18px; }
  .ath-page :is(.ath-studio-copy,.ath-coach-copy) article { padding:27px 23px; grid-template-columns:30px minmax(0,1fr); gap:8px 14px; }
  .ath-page :is(.ath-studio-copy,.ath-coach-copy) article > .dv-icon { width:25px; height:25px; }
  .ve-page .ve-step-grid { grid-template-columns:1fr; }
}
@media (max-width:420px) {
  .agency-service-page .option-grid { grid-template-columns:1fr; }
  .dv-format-frames { gap:11px; }
  .dv-format-wide { width:80px; height:45px; }
  .dv-format-square { width:60px; height:60px; }
  .dv-format-vertical { width:45px; height:80px; }
}
@media (prefers-reduced-motion:reduce) {
  .dv-reveal { opacity:1!important; transform:none!important; transition:none!important; }
}
