/* Original client artwork, seen as a complete campaign before the signature. */
.campaign-journey .brief-stamp{display:none}
.campaign-wall{position:absolute;inset:0;transform-style:preserve-3d}
.campaign-journey .campaign-tile{width:180px;height:180px;margin:0;box-shadow:0 18px 36px #0007;border-radius:5px;overflow:hidden;background:#faf9f6}
.campaign-tile img{display:block;width:100%;height:100%;object-fit:contain}
.campaign-tile-0{left:27px;top:12px}.campaign-tile-1{left:245px;top:20px}.campaign-tile-2{left:466px;top:10px}.campaign-tile-3{left:685px;top:22px}
.campaign-tile-4{left:136px;top:232px}.campaign-tile-5{left:355px;top:238px}.campaign-tile-6{left:574px;top:229px}
.campaign-wall-result{position:absolute;left:40px;right:40px;bottom:8px;display:flex;justify-content:center;align-items:baseline;gap:12px;color:#c1a8ce;font-size:15px;line-height:1.3}
.campaign-wall-result strong{color:#f2d037;font-size:30px;font-weight:500;letter-spacing:-1px}

/* The laptop stays inside the existing creative service panel. */
#services .laptop-splash{background:radial-gradient(ellipse at 50% 70%,#43264d66,transparent 70%),#151019;cursor:pointer}
#services .laptop-splash:focus-visible{outline:2px solid #f2d037;outline-offset:5px}
#services .splash-object{position:absolute;inset:0 0 27px;display:grid;place-items:center;transform:translateZ(25px);filter:drop-shadow(0 15px 15px #0005)}
#services .splash-object img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
#services .laptop-splash .service-tag{font-size:12px;letter-spacing:.5px;bottom:14px}
.splash-droplet{position:absolute;left:var(--dx);top:var(--dy);width:var(--dw,9px);height:calc(var(--dw,9px)*1.25);border-radius:55% 45% 55% 45%;background:radial-gradient(circle at 30% 25%,#fff8d5,#f9ac18 28%,#e56f04 65%,#9e4308);box-shadow:inset -2px -2px 4px #5f270b77,0 0 10px #ffb72e28;opacity:0;pointer-events:none}
.drop-0{--dx:21%;--dy:57%;--ex:-32px;--ey:-90px;--dw:8px}.drop-1{--dx:38%;--dy:38%;--ex:-10px;--ey:-105px;--dw:6px}.drop-2{--dx:74%;--dy:48%;--ex:34px;--ey:-75px;--dw:9px}.drop-3{--dx:79%;--dy:72%;--ex:32px;--ey:-43px;--dw:7px}.drop-4{--dx:24%;--dy:76%;--ex:-34px;--ey:-48px;--dw:10px}.drop-5{--dx:58%;--dy:36%;--ex:18px;--ey:-70px;--dw:6px}
.is-splashing .splash-droplet{animation:splash-detail 1.15s cubic-bezier(.2,.65,.25,1) both}
.is-splashing .drop-1,.is-splashing .drop-4{animation-delay:.08s}.is-splashing .drop-2,.is-splashing .drop-5{animation-delay:.14s}
@keyframes splash-detail{0%{opacity:0;transform:translate3d(0,10px,0) scale(.4)}22%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate3d(var(--ex),var(--ey),45px) rotate(35deg) scale(.65)}}

/* The cover bleeds to the edges of the case study and fades into its story. */
#project-dialog{--case-bg:#19131f;width:min(1200px,calc(100vw - 36px));max-width:none;padding:0;border:1px solid #b498c03b;border-radius:12px;background:var(--case-bg);color:#efe6f4;max-height:92svh;overflow:auto}
#project-dialog::backdrop{background:#050208c9;backdrop-filter:blur(8px)}
#project-dialog .close{position:sticky;float:right;top:16px;right:16px;z-index:5;margin:16px 16px -58px 0;min-height:38px;padding:8px 15px;background:#18121fe8;border:1px solid #e8d9f35c;color:#f8f1fc;box-shadow:0 4px 15px #0004}
#project-dialog .case-cover{position:relative;height:clamp(280px,31vw,410px);width:100%;overflow:hidden;background:#100d16}
#project-dialog .case-cover[hidden]{display:none}
#project-dialog .case-cover:after{content:'';position:absolute;inset:28% 0 0;background:linear-gradient(0deg,var(--case-bg) 0%,#19131fe3 18%,#19131f22 65%,transparent 100%);pointer-events:none}
#project-dialog #dialog-image{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center 35%;margin:0;border-radius:0;background:transparent}
#project-dialog .case-content{position:relative;z-index:2;padding:45px 64px 60px}
#project-dialog.has-cover .case-content{margin-top:-28px;padding-top:0}
#project-dialog #dialog-label{font-size:13px;letter-spacing:1.2px;color:#c9add9}
#project-dialog h2{font-size:clamp(35px,4vw,54px);line-height:1.1;letter-spacing:-1.9px;margin:15px 0 35px}
#project-dialog .case-story{grid-template-columns:1fr;gap:29px;margin-top:0}
#project-dialog .case-story section{padding-left:43px;padding-bottom:27px}
#project-dialog .case-story h3{font-size:21px;margin-bottom:12px}
#project-dialog .case-story p{font-size:18px;line-height:1.75;max-width:950px}
#project-dialog .case-story #dialog-result{font-size:29px;line-height:1.4}

/* Read the full feedback on demand, while keeping the desktop row compact. */
.testimonials h2 .serif{display:inline}
.quote-more{display:none}
@media(min-width:701px){
 .testimonials.section{padding-top:74px;padding-bottom:74px}
 .testimonials>.eyebrow{display:none}
 .testimonials h2{font-size:clamp(35px,3.8vw,55px);line-height:1.1;letter-spacing:-1.8px;margin:0}
 .testimonials .feedback-invitation{margin-top:30px;padding-top:24px}
 .testimonials .quote-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start;margin-top:38px}
 .testimonials .quote-grid figure{padding:23px 21px;min-height:344px;border-radius:11px}
 .testimonials .quote-stars{font-size:20px;line-height:1;letter-spacing:2px}
 .testimonials .quote-grid .quote-stars+blockquote{margin-top:23px}
 .testimonials .quote-grid figure:not(:has(.quote-stars)):before{content:'“';display:block;height:20px;margin-bottom:23px;font:400 37px/1 'Instrument Serif',Georgia,serif;color:#80588f}
 .testimonials .quote-grid blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;font-size:15px;line-height:1.65;margin:0 0 18px;flex:none}
 .testimonials .quote-grid figure.is-expanded blockquote{-webkit-line-clamp:unset;display:block}
 .testimonials .quote-grid figcaption{margin-top:auto;padding-top:20px}
 .testimonials .quote-grid figcaption b{font-size:15px;line-height:1.4}
 .testimonials .quote-grid figcaption>span{font-size:13px;line-height:1.5;margin-top:5px}
 .quote-more:not([hidden]){display:block;align-self:flex-start;border:0;border-bottom:1px solid #9472a266;padding:0 0 3px;background:transparent;color:#6c4a7b;font-size:13px;line-height:1.4;cursor:pointer}
 .quote-more:focus-visible{outline:2px solid #755086;outline-offset:4px}
}
@media(min-width:901px){
 #creative-lab .thinking-heading{margin-bottom:22px;padding-top:12px}
}
@media(max-width:700px){
 .campaign-journey .campaign-tile{width:172px;height:172px}
 .campaign-tile-0{left:18px;top:20px}.campaign-tile-1{left:215px;top:15px}.campaign-tile-2{left:410px;top:22px}
 .campaign-tile-3{left:18px;top:227px}.campaign-tile-4{left:215px;top:222px}.campaign-tile-5{left:410px;top:229px}
 .campaign-tile-6{left:202px;top:430px;width:196px!important;height:196px!important}
 .campaign-wall-result{left:18px;right:18px;bottom:0;font-size:16px;gap:10px}
 .campaign-wall-result strong{font-size:32px}
 #services .laptop-splash .service-tag{font-size:12px;bottom:15px}
 #project-dialog{width:calc(100vw - 24px);max-height:92svh;border-radius:9px}
 #project-dialog .case-cover{height:240px}
 #project-dialog .case-content{padding:30px 25px 35px}
 #project-dialog.has-cover .case-content{margin-top:-20px;padding-top:0}
 #project-dialog .close{top:12px;right:12px;margin:12px 12px -52px 0;font-size:13px;min-height:35px}
 #project-dialog h2{font-size:33px;margin-bottom:28px}
 #project-dialog #dialog-label{font-size:12px;letter-spacing:.7px}
 #project-dialog .case-story{gap:24px}
 #project-dialog .case-story section{padding-left:31px;padding-bottom:22px}
 #project-dialog .case-story h3{font-size:19px}
 #project-dialog .case-story p{font-size:16px;line-height:1.7}
 #project-dialog .case-story #dialog-result{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.splash-droplet{animation:none!important}.rating-choice svg{transition:none}}
