/* A visual language built from our work: canvas, composition, continuity. */
.cd-home .cd-hero{padding-top:119px;padding-bottom:65px}
.cd-home .cd-hero__meta{margin-bottom:23px}
.cd-home .cd-hero__title{font-size:clamp(62px,8.25vw,150px);line-height:1}
.cd-home .cd-hero__base{margin-top:36px;gap:5%;grid-template-columns:1.7fr 1fr}
.hero-copy-label{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--cherry);margin-bottom:20px}
.cd-home .cd-hero__copy>p{font-size:clamp(16px,1.35vw,20px);line-height:1.7;max-width:32ch;margin-bottom:25px}
.cd-home .experience-stage{aspect-ratio:1.65;background:#4b1323;perspective:1100px;overflow:hidden;color:#f7e7e5;isolation:isolate}
.experience-stage:before{content:'';position:absolute;width:75%;aspect-ratio:1;top:-30%;right:-15%;background:radial-gradient(circle,#d4708470,transparent 70%);z-index:-1}
.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#f5d5dc0a 1px,transparent 1px),linear-gradient(90deg,#f5d5dc0a 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(black,transparent)}
.stage-label{position:absolute;top:20px;left:24px;font:9px var(--font-body);letter-spacing:.14em;color:#e1bac5}
.stage-orbit{position:absolute;left:7%;top:8%;width:78%;height:100%;border:1px solid #e5a2b331;border-radius:50%;transform:rotate(-30deg)}
.stage-screen{position:absolute;border:1px solid #edd9cb50;box-shadow:0 25px 50px #18060e55;overflow:hidden;transform-style:preserve-3d;background:#252622}
.stage-screen--front{left:8%;top:20%;width:70%;transform:rotate(-5deg)}
.stage-screen--back{right:-3%;top:13%;width:53%;transform:rotate(10deg);opacity:.85}
.cd-home .stage-screen img{width:100%;height:auto;display:block;object-fit:contain}
.stage-browser{height:20px;background:#f3f0e9;display:flex;gap:4px;padding:7px 10px;align-items:center;color:#68605b}
.stage-browser i{width:4px;height:4px;border-radius:50%;background:#b7a8a3}
.stage-browser span{font-size:6px;letter-spacing:.04em;margin:auto}
.experience-stage figcaption{position:absolute;bottom:0;left:0;right:0;padding:15px 24px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.02em;background:linear-gradient(transparent,#401020 45%)}
.experience-stage figcaption span:last-child{font-size:18px}
.cd-home .cd-process p{font-size:14px;line-height:1.8;max-width:46ch}
.cd-home .cd-approach{padding-top:75px}
.cd-home .cd-approach__intro{padding-bottom:70px}
.craft-lab{display:grid;grid-template-columns:.8fr 1.3fr;gap:7%;padding-block:100px;align-items:center}
.craft-lab__heading h2{font:500 clamp(32px,3.25vw,56px)/1.08 var(--font-display);letter-spacing:-.055em}
.craft-lab__heading em{font-style:normal;color:var(--cherry)}
.craft-lab__heading>p:last-of-type{font-size:14px;line-height:1.8;color:var(--muted);margin-top:24px}
.craft-switch{display:flex;gap:5px;margin-top:30px;padding:5px;border:1px solid var(--rule);width:max-content;max-width:100%}
.craft-switch button{padding:13px 15px;border:0;background:transparent;color:var(--muted);font:12px var(--font-body);cursor:pointer;min-height:44px;transition:background .25s,color .25s}
.craft-switch button[aria-pressed=true]{background:var(--cherry);color:#fff}
.no-js .craft-switch{display:none}
.cd-home .craft-board__viewport{min-height:0}
.craft-board{border:1px solid #d0c6ba;box-shadow:0 25px 65px #3720150d;min-width:0;background:#e9e3d8}
.craft-board__bar{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;font-size:10px;color:var(--muted);border-bottom:1px solid #d0c6ba}
.craft-board__viewport{position:relative;aspect-ratio:1.6;overflow:hidden}
.craft-design{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0);transition:clip-path .9s cubic-bezier(.76,0,.24,1)}
.craft-board[data-layer=structure] .craft-design{clip-path:inset(0 100% 0 0)}
.craft-wire{position:absolute;inset:0;padding:5%;background-color:#e9e3d8;background-image:linear-gradient(#4b302510 1px,transparent 1px),linear-gradient(90deg,#4b302510 1px,transparent 1px);background-size:8.333% 25%;color:#4f4540}
.wire-nav{display:flex;justify-content:space-between;border-bottom:1px solid #b8aaa0;padding-bottom:3%;font-size:9px}
.wire-nav b{font:22px Georgia,serif}.wire-kicker{display:block;font-size:8px;letter-spacing:.1em;margin-top:5%;text-transform:uppercase}
.craft-wire strong{display:block;font:500 clamp(19px,2.5vw,40px)/1.05 var(--font-display);letter-spacing:-.04em;margin-top:3%}
.craft-wire p{font-size:clamp(9px,.9vw,14px);line-height:1.6;margin-top:3%}
.wire-button{display:inline-block;font-size:9px;border:1px solid #88746d;padding:9px 15px;margin-top:4%}
.craft-board__caption{padding:14px 18px;font-size:10px;color:var(--muted)}
.leads-transition{padding-top:0;overflow:hidden;background:var(--bone)}
.leads-transition__bridge{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:45px;font:400 clamp(19px,2.5vw,36px)/1.2 var(--font-display);letter-spacing:-.035em;border-top:1px solid var(--rule)}
.leads-transition__bridge>span:last-child{color:var(--cherry);display:flex;gap:25px;align-items:center}.leads-transition__bridge i{font-style:normal;font-size:30px}
.leads-portal{position:relative;isolation:isolate;background:#18151b;color:#f5ede8;overflow:hidden}
.leads-portal__glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 78% 45%,#752d4559,transparent 58%),linear-gradient(125deg,#211820,#14141a)}
.leads-portal:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #e7b9c312}
.leads-portal__inner{display:grid;grid-template-columns:.9fr 1.15fr;gap:8%;align-items:center;padding-block:105px}
.leads-portal .eyebrow{color:#c9a3b0;font-size:10px}
.leads-portal h2{font:500 clamp(36px,4vw,66px)/1.06 var(--font-display);letter-spacing:-.055em}
.leads-portal h2 em{font-style:normal;color:#da9eaf}
.leads-portal__copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#c4b7c0;max-width:38ch;margin-top:25px}
.leads-portal__link{display:flex;justify-content:space-between;gap:40px;border-bottom:1px solid #946978;width:max-content;max-width:100%;padding:17px 0;color:#f5dbe4;font-size:14px;margin-top:20px}
.leads-portal__link span{transition:transform .3s}.leads-portal__link:hover span{transform:translate(4px,-4px)}
.leads-portal__note{display:block;font-size:11px;color:#b4a5af;margin-top:19px}
.leads-window{display:block;min-width:0;background:#17171e;border:1px solid #ad6d883d;border-radius:10px;box-shadow:0 35px 100px #0005;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.leads-window:hover{border-color:#ca8ba4;box-shadow:0 35px 100px #0005,0 0 45px #bf58771a}
.leads-window__bar,.leads-window__foot{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 22px;font-size:10px;color:#c2aebc}
.leads-window__bar{border-bottom:1px solid #ffffff0d}.leads-window__bar>span:first-child{font-size:14px;font-weight:600;color:#f4dce4;white-space:nowrap}
.leads-window__bar i{display:inline-block;width:7px;height:7px;background:#dc94aa;border-radius:50%;margin-right:8px;box-shadow:0 0 14px #dc94aa66}
.leads-window img{display:block;width:100%;height:auto}.leads-window__foot{border-top:1px solid #ffffff0d}.leads-window__foot b{font-weight:400;color:#d6a1b6;margin-inline:12px}
.leads-window__foot>span:last-child{font-size:22px;color:#efc4d3}
.contact-next{border-top:1px solid #57464b;margin-top:38px;padding-top:24px;max-width:43ch}
.contact-next>span{font:500 19px var(--font-display);color:#e9bac6}
.contact-next p{font-size:14px;line-height:1.8;color:#c6b8af;margin-top:12px}.contact-next small{display:block;font-size:11px;color:#c6b8af;margin-top:22px}
.form-context{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px;background:#e6c5cc10;border:1px solid #e6c5cc45;font-size:12px;grid-column:1/-1}
.form-context[hidden]{display:none}.form-context button{border:0;background:none;color:#e9bac6;text-decoration:underline;cursor:pointer;font:11px var(--font-body);min-height:32px}
.page-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--cherry);transform:scaleX(0);transform-origin:left;z-index:101;pointer-events:none}
.cd-home .btn{transition:background .3s,color .3s,box-shadow .3s}
.cd-home .btn:hover{box-shadow:0 8px 25px #731e321a}
@media(min-width:901px){.cd-home .project__media{transition:box-shadow .5s}.cd-home .project__link:hover .project__media{box-shadow:0 25px 55px #29131a18}.cd-home .project__open{width:60px;height:60px}}
@media(max-width:900px){.cd-home .cd-hero__title{font-size:9vw}.cd-home .cd-hero__base{grid-template-columns:1.3fr 1fr}.cd-home .experience-stage{aspect-ratio:1.15}.stage-screen--front{top:30%;width:78%;left:5%}.stage-screen--back{top:18%;width:66%}.craft-lab{gap:5%;grid-template-columns:1fr 1.2fr}.craft-switch button{padding-inline:10px;font-size:11px}.leads-portal__inner{gap:5%;padding-block:75px}.leads-window__bar>span:last-child{display:none}}
@media(max-width:700px){
 .cd-home .cd-hero{padding-top:105px;padding-bottom:48px}.cd-home .cd-hero__meta{font-size:9px;margin-bottom:24px;letter-spacing:.07em}.cd-home .cd-hero__title{font-size:11.1vw;line-height:1.05}
 .cd-home .cd-hero__base{display:flex;margin-top:25px;gap:30px}.cd-home .cd-hero__copy{order:-1}.hero-copy-label{display:none}.cd-home .cd-hero__copy>p{font-size:15px;line-height:1.7;margin-bottom:18px;max-width:40ch}.cd-home .cd-hero__actions{gap:8px}
 .cd-home .experience-stage{aspect-ratio:1.25}.stage-screen--front{top:24%;width:74%;left:6%}.stage-screen--back{width:60%;top:16%}.stage-label{font-size:7px;left:18px;top:18px}.experience-stage figcaption{font-size:9px;padding-inline:18px}
 .cd-home .cd-approach{padding-top:58px}.cd-home .cd-approach__intro{padding-bottom:48px}.cd-home .cd-process p{font-size:14px}
 .craft-lab{display:block;padding-block:60px}.craft-lab__heading h2{font-size:37px}.craft-lab__heading>p:last-of-type{font-size:14px;margin-top:18px}.craft-switch{margin-top:22px}.craft-switch button{font-size:12px;padding-inline:15px}.craft-board{margin-top:30px}.craft-wire strong{font-size:23px}.craft-wire p{font-size:10px}.craft-board__bar{font-size:9px;padding:12px}.craft-board__caption{font-size:9px;padding:12px}.wire-nav{font-size:8px}.wire-kicker{font-size:7px}.wire-button{font-size:8px;padding:6px 10px}
 .leads-transition__bridge{padding-block:28px;align-items:start;font-size:20px}.leads-transition__bridge>span:first-child{max-width:14ch}.leads-transition__bridge>span:last-child{gap:12px;white-space:nowrap}.leads-transition__bridge i{font-size:24px}
 .leads-portal__inner{display:block;padding-block:55px}.leads-portal h2{font-size:40px}.leads-portal__copy>p:not(.eyebrow){font-size:15px;margin-top:20px}.leads-portal__link{font-size:14px;margin-top:12px}.leads-window{margin-top:36px}.leads-window__bar,.leads-window__foot{padding:16px}.leads-window__bar>span:last-child{display:none}
 .contact-next{margin-top:25px}.contact-next p{font-size:13px}
}
@media(prefers-reduced-motion:no-preference){
 .cd-entry .stage-screen--front{animation:stage-arrive 1.35s cubic-bezier(.16,1,.3,1) both}
 .cd-entry .stage-screen--back{animation:stage-back 1.35s cubic-bezier(.16,1,.3,1) both}
 .cd-entry .cd-hero__visual img{animation:none}
 .cd-entry .site-header{animation:none}
 .cd-entry [data-title-line]{animation:word-arrive 1.1s cubic-bezier(.16,1,.3,1) both}
 .cd-entry .reveal-line:nth-child(2) [data-title-line]{animation-delay:.12s}
}
@keyframes stage-arrive{from{transform:translate3d(0,40%,0) rotate(-15deg) scale(.8);opacity:0}to{transform:rotate(-5deg);opacity:1}}
@keyframes stage-back{from{transform:translate3d(15%,-30%,0) rotate(22deg);opacity:0}to{transform:rotate(10deg);opacity:.85}}
@keyframes word-arrive{from{transform:translateY(105%)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.craft-design,.craft-switch button,.leads-window,.cd-home .btn{transition:none}.page-progress{display:none}}
@media(max-width:700px){.craft-board__viewport{aspect-ratio:1.4}.craft-design{object-fit:contain;background:#292b28}.craft-wire strong{font-size:21px}}
