/* One visual language for the studio, services and enquiry pages. */
:root{--d1-ease:cubic-bezier(.16,1,.3,1)}
.d1-global-header [aria-current=page]{color:#d1ff50}
.d1-global-links>a[aria-current=page]:not(.d1-nav-current){color:inherit}
.d1-global-links .d1-nav-current{color:#d1ff50}
.d1-global-actions [aria-current=page]{box-shadow:0 0 0 2px #0a0a0a,0 0 0 3px #ffffff70}
.d1-global-services>div a small{display:block;color:#bfb9cd;font-size:11px;margin-top:3px}
.d1-global-services>div .nav-section-label,.d1-global-mobile .nav-section-label{display:block;padding:10px 12px 5px;color:#9691a5;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.d1-global-mobile>div a[aria-current=page]{background:#c6ff0010}
.d1-global-links{font-size:13px}.d1-global-links>a,.d1-global-services summary{padding-inline:10px}
.d1-global-services>div{max-height:min(75vh,650px);overflow:auto}
.d1-global-mobile>div{max-height:calc(100dvh - 160px);overscroll-behavior:contain}
.d1-global-mobile[open]>summary{color:#c6ff00}
@media(min-width:1201px){.d1-global-nav{gap:12px}.d1-global-brand{font-size:16px}.d1-global-actions .d1-global-cta{font-size:11px;gap:6px;padding-left:12px}}

/* Readable process: a calm introduction, then full-width numbered steps. */
.studio-home #how>.wrap,.service-page #process>.s-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,6vw,88px);align-items:start}
.studio-home #how .process-intro,.service-page #process .s-section-head{display:block;position:sticky;top:126px;margin:0}
.studio-home #how .process-intro>p,.service-page #process .s-section-head>p{max-width:36ch;margin-top:24px;font-size:18px;line-height:1.7;color:#34401d}
.studio-home #how .steps,.service-page #process .s-process{display:grid;grid-template-columns:1fr;gap:14px;margin:0;counter-reset:process}
.studio-home #how .steps:before,.studio-home #how .steps:after,.studio-home #how .step:after{display:none}
.studio-home #how .step,.service-page #process .s-process article{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:21px;row-gap:10px;align-content:start;padding:26px 28px;min-height:0;border:1px solid #2734092a;border-radius:23px;background:linear-gradient(120deg,#fff9,#fff5),#ecffbb;color:#182009;box-shadow:inset 0 1px #fff,0 8px 22px #34430008;backdrop-filter:none;-webkit-backdrop-filter:none;transition:transform .65s var(--d1-ease),box-shadow .65s,border-color .65s}
.studio-home #how .step .no,.service-page #process .s-process article>b{grid-row:1/3;position:static;display:grid;place-items:center;align-self:start;margin:0;width:46px;height:46px;border:0;border-radius:15px;background:#172009;color:#c6ff00;font:700 16px/1 Montserrat,system-ui;box-shadow:none;letter-spacing:-.04em}
.studio-home #how .step h3,.service-page #process .s-process h3{grid-column:2;font-size:22px;line-height:1.25;letter-spacing:-.035em;margin:0;padding:0;color:#182009}
.studio-home #how .step p,.service-page #process .s-process p{grid-column:2;font-size:16px;line-height:1.65;max-width:50ch;margin:0;color:#34401d}
.service-page #process{background:#c6ff00;color:#182009;border:0}
.service-page #process :is(h2,.s-kicker){color:#182009}
.service-page #process .d1-accent-sweep .d1-letter{color:inherit;-webkit-text-fill-color:currentColor;background:none}
.service-page #process .d1-accent-underline:after{background:#182009}
.process-link{display:inline-flex;gap:16px;align-items:center;margin-top:28px;padding:13px 20px;background:#182009;color:#fff!important;border-radius:99px;font:600 14px/1.4 Jost,system-ui;transition:transform .6s var(--d1-ease)}
.process-link span{color:#c6ff00}
.studio-home #how .process-journey{margin-top:36px;background:#1b230e;border-color:#314317;box-shadow:inset 0 1px #ffffff15;gap:14px;padding:16px}
.studio-home #how .process-journey .journey-origin,.studio-home #how .process-journey .journey-live{color:#eff8dd;font-size:11px}
.studio-home #how .process-journey .journey-rail{min-width:35px}
@media(hover:hover){.studio-home #how .step:hover,.service-page #process .s-process article:hover{transform:translateX(5px);border-color:#253e1060;box-shadow:0 12px 25px #34500014}.process-link:hover{transform:translateY(-3px)}}

/* Service pages: deep ink, luminous colour and generous reading space. */
.service-page:not(.strategy-page) .s-wrap{width:min(1240px,calc(100% - 72px))}
.service-page:not(.strategy-page) .s-hero{padding:32px 0 80px;background:radial-gradient(ellipse at 86% 45%,#7b61ff17,transparent 52%),#0a0a0d}
.service-page .s-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px)}
.service-page .s-hero h1{font-size:clamp(40px,4.6vw,67px);line-height:1.08;letter-spacing:-.055em;text-wrap:balance}
.service-page .s-hero-copy>p{font-size:18px;line-height:1.75;color:#ccc7d7;max-width:49ch}
.service-page .s-breadcrumb{margin-bottom:38px}
.service-page .s-kicker{font-size:11px;line-height:1.65}
.service-page .s-section{padding-block:clamp(72px,8vw,116px)}
.service-page .s-section-head{gap:50px}
.service-page .s-section-head>p{font-size:18px;line-height:1.7}
.service-page .s-benefits{gap:20px}
.service-page .s-card{border-radius:26px;padding:30px;min-width:0;transition:transform .7s var(--d1-ease),box-shadow .7s}
.service-page .s-card-no{font:600 11px/1.5 Jost,system-ui;letter-spacing:.08em;margin-bottom:32px}
.service-page .s-card h3{font-size:24px;line-height:1.2}
.service-page .s-card p{line-height:1.7}
.service-page #work{background:#ff3edb;color:#210e23}
.service-page #work :is(.s-kicker,h2,.s-section-head>p,.s-section-note){color:#210e23}
.service-page #work .s-project{box-shadow:0 20px 50px #34072c24;border-color:#47133940}
.service-page .s-project-logo{aspect-ratio:1.48}
.service-page .s-project-logo img,.service-page .s-project.empra .s-project-logo img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.1s var(--d1-ease)}
.service-page .s-project-info{color:#f6f2fa;background:linear-gradient(135deg,#281c33,#15131c);position:relative}
.service-page .s-project:hover .s-project-logo img{transform:scale(1.025)}
.service-page #included{background:#101017;color:#f6f2fa;border-block:1px solid #ffffff0f}
.service-page #included :is(.s-kicker,.s-inclusions>li>span){color:#c6ff00}
.service-page #included :is(.s-scope-copy>p,.s-inclusions p){color:#c9c2d6}
.service-page #included .s-button.dark{background:#c6ff00;color:#111}
.service-page .s-inclusions{display:grid;gap:12px}
.service-page #included .s-inclusions li{padding:23px 24px;gap:13px;grid-template-columns:28px minmax(0,1fr);border:1px solid #7b61ff35;border-radius:21px;background:linear-gradient(120deg,#7b61ff10,#ffffff03),#17141f;transition:transform .6s var(--d1-ease),border-color .6s}
.service-page #included .s-inclusions li:nth-child(3n+2){background:linear-gradient(120deg,#ff3edb0b,#ffffff03),#1c141d;border-color:#ff3edb30}
.service-page #included .s-inclusions li:nth-child(3n){background:linear-gradient(120deg,#00f0ff09,#ffffff03),#121b20;border-color:#00f0ff30}
.service-page #included .s-inclusions h3{font-size:21px;line-height:1.25}
.service-page .s-faq details{border:1px solid #6a54712e;background:#ffffff80;margin:12px 0;border-radius:19px;padding:0 23px;transition:background .4s,border-color .4s}
.service-page .s-faq details[open]{background:#efe6ff;border-color:#9466cd70}
.service-page .s-faq summary{font-size:18px;font-weight:600;padding:23px 0}
.service-page .s-faq details p{line-height:1.75}
.ads-management-page #faq .s-faq details{background:#1a1623;border-color:#8b66b84a}
.ads-management-page #faq .s-faq details[open]{background:#22192f;border-color:#bb91f080}
.service-page .s-final .s-wrap{border-radius:34px;padding:65px 35px;background:radial-gradient(ellipse at 0 100%,#c6ff000e,transparent 55%),radial-gradient(ellipse at 100% 0,#ff3edb18,transparent 55%),#17131f}
.service-page .s-final h2{max-width:850px}
.service-page .s-button{min-height:50px}.service-page .s-button:focus-visible,.demo-choice:focus-visible,.demo-stage:focus-visible{outline:3px solid #00f0ff;outline-offset:5px}
@media(hover:hover){.service-page .s-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px #33264d15}.service-page #included .s-inclusions li:hover{transform:translateX(4px);border-color:#c6ff0060}}

/* The previews are small, useful interactions rather than looping distractions. */
.service-demo{position:relative;min-width:0;border:1px solid #ffffff24;border-radius:30px;padding:24px;background:radial-gradient(ellipse at 100% 0,#7b61ff22,transparent 65%),linear-gradient(130deg,#ffffff07,#ffffff02),#14111c;box-shadow:inset 0 1px #ffffff1c,0 28px 70px #0004}
.service-demo:before{content:'';position:absolute;top:-1px;left:24%;right:24%;height:1px;background:linear-gradient(90deg,transparent,#b8a4ff,transparent);pointer-events:none}
.demo-eyebrow{display:flex;align-items:center;gap:8px;color:#c9c2d6;font:600 10px/1.5 Jost,system-ui;letter-spacing:.12em;text-transform:uppercase;margin-bottom:17px}
.demo-eyebrow i{width:6px;height:6px;border-radius:50%;background:#c6ff00;box-shadow:0 0 10px #c6ff0055}
.demo-choices{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}
.demo-choice{font:500 13px/1.4 Jost,system-ui;color:#d4cede;background:#ffffff05;border:1px solid #ffffff18;border-radius:99px;padding:10px 16px;cursor:pointer;min-height:40px;transition:background .4s,border-color .4s,color .4s,transform .6s var(--d1-ease)}
.demo-choice[aria-pressed=true]{background:#c6ff00;color:#101506;border-color:#c6ff00}
.demo-choice:hover{border-color:#c6ff0080}
.service-demo .s-mini-browser{transform:none;border-radius:17px;border-color:#ffffff22;box-shadow:0 20px 35px #0003}
.service-demo .s-browser-page{padding:23px;background:radial-gradient(ellipse at 100% 0,#7b61ff24,transparent 75%),#100e17}
.service-demo .s-mini-content{padding-block:30px;grid-template-columns:1.15fr .85fr}
.service-demo .s-mini-content b{font-size:clamp(24px,2.3vw,32px);line-height:1.15;letter-spacing:-.045em;white-space:pre-line}
.service-demo .s-mini-content p{font-size:11px;line-height:1.65}
.service-demo .s-mini-nav strong{font-size:10px}.service-demo .s-mini-nav>span{font-size:9px}
.service-demo .s-mini-cta{font-size:10px;padding:10px 13px;line-height:1.4}
.service-demo .s-house{min-height:155px;aspect-ratio:.82;background:linear-gradient(145deg,#7b61ff,#00d5e7)}
.service-demo[data-trade=tiling] .s-house{border-radius:14px;background:repeating-linear-gradient(0deg,transparent 0 39px,#ffb2ed 39px 41px),repeating-linear-gradient(90deg,#832865 0 39px,#ffb2ed 39px 41px);transform:perspective(700px) rotateY(-8deg)}
.service-demo[data-trade=tiling] .s-house:before,.service-demo[data-trade=tiling] .s-house:after{display:none}
.service-demo[data-trade=tiling] .s-mini-cta{background:#ff3edb;color:#160c18}
.service-demo[data-trade=tiling] .s-browser-page{background:radial-gradient(ellipse at 100% 0,#ff3edb24,transparent 75%),#140d16}
.demo-caption{color:#aaa3b9;font-size:11px;line-height:1.6;margin:16px 0 0;max-width:45ch}
.demo-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;color:#c9c4d6;font-size:12px}
.demo-foot span:last-child{color:#c6ff00}
.ads-demo-shell{--demo-accent:#00f0ff}
.ads-demo-shell .demo-choice[aria-pressed=true]{background:#00f0ff;border-color:#00f0ff}
.demo-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:4px 0 22px}
.demo-stage{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 7px;border:1px solid #ffffff16;border-radius:13px;background:#ffffff04;color:#aaa3ba;font:600 12px/1.3 Jost,system-ui;cursor:pointer;min-height:46px;transition:background .5s,border-color .5s,color .5s}
.demo-stage span{color:#aaa3ba;font-size:10px}
.demo-stage[aria-pressed=true]{color:#fff;border-color:#00f0ff70;background:#00f0ff10}
.demo-stage[aria-pressed=true] span{color:#00f0ff}
.demo-ad-panel{min-height:315px}
.demo-ad-panel[hidden]{display:none}
.ads-demo-shell .search-query{margin:0;padding:13px 16px;font-size:15px;background:#f3f2f6;color:#211c2b;gap:9px}
.ads-demo-shell .search-ad-example{margin-top:14px;padding:20px;border-color:#00f0ff30;background:#00f0ff04}
.ads-demo-shell .search-ad-example strong{font-size:23px}
.demo-context{margin-top:19px;color:#cfc9dc;font-size:14px;line-height:1.65}
.demo-preview-page,.demo-enquiry-card{padding:25px;border:1px solid #ffffff25;border-radius:18px;background:linear-gradient(145deg,#28182f,#11121e)}
.demo-preview-page small,.demo-enquiry-card small{display:block;font:600 10px/1.5 Jost,system-ui;letter-spacing:.12em;color:#ff9cec;margin-bottom:24px}
.demo-preview-page strong,.demo-enquiry-card strong{display:block;color:#fff;font:700 30px/1.15 Montserrat,system-ui;letter-spacing:-.04em}
.demo-preview-page p,.demo-enquiry-card p{font-size:14px;line-height:1.7;color:#cfc7dc;margin-top:14px}
.demo-fake-button{display:inline-block;padding:10px 15px;background:#c6ff00;color:#111;border-radius:99px;font-size:12px;margin-top:20px}
.demo-enquiry-card .demo-check{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#c6ff00;color:#142009;margin-bottom:22px;font-size:22px}
.demo-enquiry-card{background:linear-gradient(145deg,#172917,#14131e)}
.demo-next{border:0;background:none;color:#00f0ff;padding:10px 0;cursor:pointer;font:600 13px/1.4 Jost,system-ui;text-align:left}
.demo-next:hover{text-decoration:underline;text-underline-offset:5px}
.service-page .ads-offer-summary{font-size:13px;line-height:1.65;padding:17px 19px;border:1px solid #ff3edb30;border-radius:17px;background:#ff3edb08}
.service-page .ads-offer-summary strong{display:block;color:#ffa8ed;margin-bottom:5px}
.service-page #ads-offer{background:radial-gradient(ellipse at 90% 50%,#ff3edb0a,transparent 60%),#111015}
.service-page #ads-offer .s-scope-copy>p{color:#ccc4d8}

/* Shared form surfaces retain their question-first, low-motion layout. */
.strategy-page .strategy-panel,.builder-page .question-panel{border:1px solid #b6a4dd38;background:linear-gradient(130deg,#ffffff05,transparent 65%),#14111c;box-shadow:inset 0 1px #ffffff14,0 24px 70px #0003}
.strategy-page .strategy-intro>p:last-child{color:#c8c1d5}
.campaign-page .enquiry-card{border-color:#b6a4dd38}
.signal-site-menu{position:relative;font:500 12px/1.4 Jost,system-ui;color:#fff}
.signal-site-menu summary{list-style:none;cursor:pointer;padding:10px 14px;border:1px solid #ffffff30;border-radius:99px;background:#14111ce0}
.signal-site-menu summary::-webkit-details-marker{display:none}
.signal-site-menu>div{position:absolute;right:0;top:calc(100% + 12px);width:min(300px,calc(100vw - 36px));max-height:70vh;overflow:auto;background:#17131ef5;border:1px solid #ffffff30;padding:12px;border-radius:20px;box-shadow:0 20px 50px #0007;backdrop-filter:blur(16px)}
.signal-site-menu a{display:block;padding:12px;color:#ded6ed;border-radius:10px}
.signal-site-menu a:hover,.signal-site-menu a[aria-current=page]{background:#c6ff0010;color:#c6ff00}
.signal-site-menu .nav-section-label{display:block;padding:9px 12px;color:#aaa0b8;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.signal-site-menu .nav-context{display:none}
.signal-nav{z-index:1000}
.signal-site-menu summary{display:flex;align-items:center;gap:6px;white-space:nowrap}
.signal-skip,.mission-hud{z-index:41}
@media(max-width:650px){.signal-brand>span{display:none}.signal-brand{flex:none}.signal-brand img{width:34px;height:34px}.signal-nav{gap:12px}.signal-nav-actions{flex:1;justify-content:flex-end}.signal-nav-actions :is(summary,.signal-motion,.signal-exit){white-space:nowrap;font-size:10px;padding:10px}.signal-site-menu>div{right:-160px;width:min(300px,calc(100vw - 36px))}}
@media(max-width:900px){.service-page .s-hero-grid{grid-template-columns:1fr}.service-page .s-hero-copy{max-width:660px}.service-demo{width:100%;max-width:620px;margin:auto}.service-page .s-hero h1{font-size:clamp(40px,7vw,60px);max-width:680px}.studio-home #how>.wrap,.service-page #process>.s-wrap{grid-template-columns:1fr;gap:34px}.studio-home #how .process-intro,.service-page #process .s-section-head{position:static}.studio-home #how .process-intro>p,.service-page #process .s-section-head>p{max-width:55ch}.service-page .s-scope-copy{position:static}.service-page .s-scope{gap:38px}.service-page .s-benefits{gap:14px}}
@media(max-width:620px){.service-page:not(.strategy-page) .s-wrap{width:calc(100% - 36px)}.service-page .s-hero{padding-bottom:55px}.service-page .s-hero h1{font-size:clamp(34px,9vw,49px);line-height:1.1}.service-page .s-hero-copy>p{font-size:17px;line-height:1.7}.service-page .s-breadcrumb{margin-bottom:28px}.service-page .s-actions{gap:20px}.service-page .s-section-head{gap:22px}.service-page .s-card{padding:27px}.service-page .s-card-no{margin-bottom:25px}.service-page .s-final .s-wrap{padding:42px 23px}.service-demo{padding:18px;border-radius:23px}.demo-choice{font-size:12px;padding:9px 13px}.service-demo .s-browser-page{padding:16px}.service-demo .s-mini-content{gap:12px}.service-demo .s-mini-content b{font-size:24px}.service-demo .s-house{min-height:150px}.service-demo .s-mini-nav>span{display:none}.service-demo .s-mini-links{flex-wrap:wrap}.demo-foot{font-size:11px}.demo-ad-panel{min-height:330px}.studio-home #how .step,.service-page #process .s-process article{grid-template-columns:36px minmax(0,1fr);gap:9px 15px;padding:22px 18px;border-radius:19px}.studio-home #how .step .no,.service-page #process .s-process article>b{width:36px;height:36px;border-radius:12px;font-size:13px}.studio-home #how .step h3,.service-page #process .s-process h3{font-size:20px}.studio-home #how .step p,.service-page #process .s-process p{font-size:16px;line-height:1.65}.service-page #included .s-inclusions li{padding:22px 18px;grid-template-columns:23px 1fr}.signal-nav-actions{gap:6px!important}.signal-site-menu summary{padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.service-page *,.studio-home #how *{transition:none!important}.service-page .s-card:hover,.service-page #included .s-inclusions li:hover,.studio-home #how .step:hover,.service-page #process .s-process article:hover{transform:none}}
.motion-paused .service-page *,.motion-paused .studio-home #how *{animation:none!important;transition:none!important}
