@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/font-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{--paper:#f7f6f2;--ink:#252c29;--muted:#5c635e;--line:#d5d8ce;--accent:#344d42}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'Manrope',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}button{cursor:pointer}header,main,footer{max-width:1560px;margin:auto}.header{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand img{filter:brightness(0);width:27px;height:36px;object-fit:contain}.brand span,.footer-brand{font:30px/1.1 'Instrument Serif',serif;letter-spacing:-.6px}.header nav{display:flex;align-items:center;gap:34px;font-size:14px}.nav-contact{border-bottom:1px solid var(--ink);padding:8px 0}.nav-contact span{margin-left:20px}.hero{padding:52px 5% 0}.hero-top{display:flex;justify-content:space-between;gap:55px;align-items:flex-end;margin-bottom:52px}.eyebrow,.section-label>span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.hero .eyebrow{margin-bottom:24px}h1{font:clamp(70px,8.5vw,130px)/.95 'Instrument Serif',serif;letter-spacing:-.04em}h1 span{display:block;font-style:italic}.hero-intro{width:320px;padding-bottom:8px;flex-shrink:0}.hero-intro h2{font-size:23px;line-height:1.45;font-weight:500;letter-spacing:-.7px}.hero-intro p{color:var(--muted);margin:18px 0 26px}.text-link{display:inline-flex;align-items:center;gap:38px;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:5px}.showcase-slides{position:relative;aspect-ratio:2.55;overflow:hidden;background:#deddd5}.showcase-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s,visibility 1s}.showcase-slide.active{opacity:1;visibility:visible}.showcase-slide img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform 7s linear}.showcase-slide.active img{transform:scale(1.025)}.showcase-slide>span{position:absolute;left:22px;bottom:20px;right:22px;display:flex;justify-content:space-between;align-items:center;background:rgba(247,246,242,.94);padding:13px 18px;font-size:16px}.showcase-slide b{font-size:12px;font-weight:500}.showcase-controls{display:flex;justify-content:space-between;align-items:center;padding:15px 0;font-size:12px;color:var(--muted)}.showcase-controls>div{display:flex;gap:6px;align-items:center}.showcase-controls button{background:none;border:0;padding:8px;min-width:40px;min-height:40px;font-size:12px}.slide-dot.selected{color:var(--ink);text-decoration:underline;text-underline-offset:7px}.section{margin:0 5%;padding:110px 0;border-bottom:1px solid var(--line)}.services{display:grid;grid-template-columns:1fr 2.1fr;gap:60px}.section-label p{margin-top:25px;color:var(--muted);font-size:16px}.service-content>h2,.work h2{font:clamp(38px,4.1vw,62px)/1.05 'Instrument Serif',serif;letter-spacing:-.03em}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:48px}.service-grid article{border-top:1px solid var(--line);padding-top:22px}.service-grid h3{display:flex;justify-content:space-between;align-items:center;font-size:23px;font-weight:500;margin-bottom:17px;letter-spacing:-.5px}.service-grid h3 span{font-size:12px;color:var(--muted)}.service-grid p{color:var(--muted);max-width:340px}.service-grid .service-note{font-size:13px;margin-top:23px;color:var(--ink)}.work-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.work-heading .eyebrow{margin-bottom:20px}.work-heading>p{color:var(--muted);font-size:14px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 32px}.project-image{display:block;position:relative;overflow:hidden;background:#e4e3dc;aspect-ratio:1.6}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-image:hover img{transform:scale(1.035)}.view-project{position:absolute;bottom:18px;right:18px;padding:10px 15px;background:var(--paper);font-size:12px;opacity:0;transform:translateY(5px);transition:.25s}.project-image:hover .view-project,.project-image:focus-visible .view-project{opacity:1;transform:none}.project-info{padding:20px 0 0}.meta{font-size:12px;color:var(--muted);margin-bottom:9px}.project h3{font-size:24px;font-weight:500;letter-spacing:-.7px}.project h3 a{display:flex;align-items:center;justify-content:space-between;gap:20px}.project h3 span{font-size:18px}.project-info>p:last-child{font-size:15px;color:var(--muted);margin-top:8px;max-width:460px}.project:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.project:last-child .project-info{padding:25px}.work-note{font-size:12px;color:var(--muted);margin-top:40px}.contact{display:grid;grid-template-columns:1.5fr 1fr;gap:12%;padding-bottom:100px}.contact h2{font:clamp(50px,5.9vw,86px)/1.05 'Instrument Serif',serif;letter-spacing:-.04em;margin:28px 0}.contact h2 em{font-weight:400}.contact-main>p:not(.eyebrow){max-width:420px;color:var(--muted)}.contact-button{display:flex;width:190px;align-items:center;justify-content:space-between;margin:30px 0 20px;padding:15px 20px;background:var(--accent);color:white;font-size:15px;transition:background .2s}.contact-button:hover{background:#21362b}.email{font-size:14px;overflow-wrap:anywhere}.contact-main .contact-note{font-size:12px;margin-top:20px}.founder{padding-top:7px}.founder>img{width:140px;height:160px;object-fit:cover;object-position:center 25%;margin-bottom:24px}.founder h3{font:32px/1.2 'Instrument Serif',serif;letter-spacing:-.5px;margin-bottom:15px}.founder p{color:var(--muted);font-size:15px;max-width:345px;margin-bottom:23px}footer{padding:32px 5%;display:flex;gap:30px;align-items:center;justify-content:space-between}footer p,footer>span{font-size:12px;color:var(--muted)}.skip{position:fixed;left:15px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{padding-top:70px}}@media(max-width:850px){.hero-top{gap:30px}.hero-intro{width:265px}h1{font-size:90px}.services{gap:35px;grid-template-columns:1fr 2fr}.service-grid{gap:25px}.contact{gap:7%}.section{padding:80px 0}.showcase-slides{aspect-ratio:2.1}}@media(max-width:600px){.header{padding:22px 6%;gap:12px}.brand{gap:9px}.brand span{font-size:24px}.brand img{width:22px;height:30px}.header nav{gap:18px;font-size:13px}.header nav>a:first-child{display:none}.nav-contact span{display:none}.hero{padding:35px 6% 0}.hero-top{display:block;margin-bottom:30px}.hero .eyebrow{font-size:10px;letter-spacing:.075em;margin-bottom:25px}h1{font-size:clamp(73px,20vw,115px)}.hero-intro{width:auto;margin-top:30px;padding:0;max-width:380px}.hero-intro h2{font-size:19px;line-height:1.4}.hero-intro h2 br{display:none}.hero-intro p{font-size:16px;margin:12px 0 20px}.showcase-slides{aspect-ratio:1.2}.showcase-slide>span{left:12px;right:12px;bottom:12px;padding:11px 12px;font-size:13px}.showcase-slide b{display:none}.showcase-controls{align-items:flex-start;gap:10px;padding:10px 0;font-size:11px}.showcase-controls>p{max-width:130px;padding-top:10px}.showcase-controls>div{gap:0}.showcase-controls button{padding:6px;min-width:32px}.section{margin:0 6%;padding:65px 0}.services{display:block}.section-label p{display:none}.service-content>h2{margin-top:25px;font-size:39px}.service-grid{gap:28px;margin-top:30px;grid-template-columns:1fr}.service-grid h3{font-size:23px}.service-grid p{max-width:100%}.service-grid .service-note{margin-top:12px}.work-heading{display:block;margin-bottom:30px}.work h2{font-size:45px}.work-heading>p{margin-top:20px}.work-heading>p br{display:none}.project-grid{grid-template-columns:1fr;gap:38px}.project:last-child{display:block;grid-column:auto}.project:last-child .project-info{padding:20px 0 0}.project h3{font-size:24px}.project-info>p:last-child{font-size:16px}.view-project{display:none}.project-image{aspect-ratio:1.35}.contact{display:block}.contact h2{font-size:57px}.founder{margin-top:55px;border-top:1px solid var(--line);padding-top:35px}.founder>img{width:110px;height:135px}.founder p{max-width:100%}.contact-note{max-width:100%}.email{font-size:13px}footer{padding:28px 6%;flex-wrap:wrap;gap:15px}footer .footer-brand{font-size:26px}footer>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.showcase-slide.active img{transform:none}}

:root{--paper:#f8f8f5;--ink:#17201d;--muted:#59615d;--accent:#304fea;--line:#d2d8d2}.header{padding-top:26px;padding-bottom:26px}.brand span{font-size:32px}.nav-contact{color:var(--accent);border-color:var(--accent)}.hero{padding-top:48px}.hero-top{align-items:flex-end;margin-bottom:48px;gap:30px}.hero-top>div:first-child{flex:1;min-width:0}.hero .eyebrow{font-size:12px;letter-spacing:.045em;text-transform:none;color:var(--muted);margin-bottom:32px}h1{font-family:'Manrope',sans-serif;font-size:clamp(82px,9.2vw,142px);font-weight:550;line-height:.99;letter-spacing:-.085em}h1 .advisory-word{font-style:normal}h1 .build-word{font-family:'Instrument Serif',serif;font-size:1.15em;line-height:1.03;letter-spacing:-.055em;font-style:italic;display:flex;align-items:baseline;gap:.1em}.amp{font-style:normal;color:var(--accent);display:inline-block;margin-right:.015em}.hero-intro{width:295px;padding-bottom:16px}.hero-intro h2{font-size:24px;line-height:1.4;letter-spacing:-.9px}.hero-intro p{margin:20px 0 28px}.text-link{position:relative;border:0;padding-bottom:9px}.text-link::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--ink);transform-origin:left;transition:transform .3s}.text-link:hover::after{transform:scaleX(.6)}.hero-intro .text-link{color:var(--accent)}.hero-intro .text-link::after{background:var(--accent)}.showcase-slides{aspect-ratio:2.18;background:#dfe5df;border-radius:2px}.showcase-slide{overflow:hidden;transition:opacity .8s,visibility .8s;background:#e5e6df}.showcase-slide:nth-child(2){background:#b9d6c5}.showcase-slide:nth-child(3){background:#d6ddec}.stage-brand{position:absolute;left:4%;top:9%;width:21%;height:50%;display:flex;align-items:center;justify-content:center}.stage-brand img{object-fit:contain!important;transform:none!important;max-height:120px;width:auto!important;height:auto!important;max-width:100%;mix-blend-mode:multiply}.screen-frame{position:absolute;top:9%;left:30%;width:65%;height:84%;overflow:hidden;border-radius:5px;background:white;box-shadow:0 18px 35px #10291a1c;transform:translateY(18px);transition:transform 1s cubic-bezier(.2,.65,.2,1)}.showcase-slide.active .screen-frame{transform:translateY(0)}.screen-frame img{width:100%;height:auto;object-fit:contain;object-position:top;transform:none!important;max-width:none}.showcase-slide>span{left:4%;bottom:9%;right:auto;width:22%;display:block;background:none;padding:0;font-size:16px;line-height:1.35}.showcase-slide>span b{display:block;margin-top:8px;font-size:12px}.showcase-controls{padding:12px 0}.showcase-controls>p{font-size:13px}.showcase-controls button{font-size:13px}.slide-dot{border-bottom:2px solid transparent!important;border-radius:0}.slide-dot.selected{color:var(--accent);text-decoration:none;border-color:var(--accent)!important}.services{padding-top:100px;padding-bottom:95px}.section-label>span,.work .eyebrow,.contact .eyebrow{color:var(--accent);letter-spacing:.035em;text-transform:none;font-size:13px}.service-content>h2{font-size:52px}.service-grid h3{font-size:29px;font-weight:500}.service-grid h3 span{color:var(--accent)}.service-grid article{position:relative}.service-grid article::before{content:'';position:absolute;top:-1px;left:0;height:2px;width:28px;background:var(--accent);transition:width .6s}.service-grid article:hover::before{width:100%}.work-heading h2{font:500 clamp(42px,5vw,70px)/1.05 'Manrope',sans-serif;letter-spacing:-.065em}.project-grid{gap:68px 40px;align-items:start}.project:nth-child(even){margin-top:95px}.project-identity{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px}.project-identity img{width:auto;max-width:210px;max-height:55px;object-fit:contain;object-position:left center}.project-number{font-size:12px;color:var(--muted)}.project-image{aspect-ratio:1.65;background:#e4e6e0}.project-image img{object-fit:contain}.project-info{padding-top:19px}.project h3{font-size:26px;line-height:1.35;letter-spacing:-.85px}.project h3 span{color:var(--accent)}.project-info>p:last-child{font-size:16px}.project:last-child{display:block;grid-column:auto}.project:last-child .project-info{padding:19px 0 0}.work-note{font-size:13px;margin-top:50px}.contact{background:var(--ink);color:#f8f8f5;margin:0;padding:85px 5%;border:0;gap:12%}.contact .eyebrow{color:#b6c3ff}.contact h2{font:500 clamp(52px,5.5vw,84px)/1.05 'Manrope',sans-serif;letter-spacing:-.06em}.contact h2 em{font-family:'Instrument Serif',serif;letter-spacing:-.045em;font-size:1.2em;color:#d9e0ff}.contact-main>p:not(.eyebrow),.founder p{color:#bcc5bd}.contact-button{background:#dce4ff;color:#1e37a0}.contact-button:hover{background:white}.contact .text-link::after{background:#dce4ff}.founder>img{width:150px;height:180px}.founder{padding-top:35px}.founder h3{font-size:35px}.contact-note{font-size:13px!important}.contact-main .email{font-size:15px}footer{padding-top:34px;padding-bottom:34px}.footer-brand{font-size:32px}@media(max-width:1000px){h1{font-size:9.8vw}.hero-intro{width:250px}.hero-intro h2{font-size:21px}.service-content>h2{font-size:45px}.project-identity img{max-width:160px}.showcase-slide>span{font-size:14px}}@media(max-width:600px){.brand span{font-size:25px}.hero{padding-top:34px}.hero .eyebrow{font-size:12px;margin-bottom:25px}h1{font-size:20vw;letter-spacing:-.085em}.hero-intro{width:auto;margin-top:28px;padding:0}.hero-intro h2{font-size:20px}.hero-intro h2 br{display:none}.hero-intro p{margin:12px 0 20px}.hero-top{margin-bottom:30px}.showcase-slides{aspect-ratio:.98}.stage-brand{left:6%;top:6%;width:38%;height:17%;justify-content:flex-start}.stage-brand img{max-height:56px;max-width:125px}.screen-frame{left:6%;top:28%;width:88%;height:62%}.showcase-slide>span{left:auto;right:6%;top:8%;bottom:auto;width:43%;text-align:right;font-size:13px}.showcase-slide>span b{font-size:10px;margin-top:4px}.showcase-controls>p{font-size:12px;max-width:142px}.showcase-controls button{font-size:12px;min-width:32px}.services{padding:65px 0}.service-content>h2{font-size:40px}.service-grid h3{font-size:28px}.project-grid{gap:40px}.project:nth-child(even){margin-top:0}.project-identity{height:75px;padding-bottom:20px}.project-identity img{max-height:50px;max-width:175px}.project-image{aspect-ratio:1.5}.work-heading h2{font-size:43px}.work-note{font-size:12px}.contact{margin:0;padding:65px 6%}.contact h2{font-size:51px}.contact-main .email{font-size:13px}.founder{border-color:#455049;padding-top:32px}.founder>img{width:110px;height:135px}footer .footer-brand{font-size:28px}}@media(prefers-reduced-motion:reduce){.screen-frame{transform:none!important;transition:none!important}}
/* The work becomes the motion: offset pages resolve into a clear, usable preview. */
.showcase-slides{perspective:1600px}.screen-frame{overflow:visible;isolation:isolate;transform:translate3d(45px,30px,0) rotate(3deg) scale(.96);transition:transform .7s cubic-bezier(.16,1,.3,1)}.screen-frame::before,.screen-frame::after{content:'';position:absolute;inset:0;background:#ffffff80;border:1px solid #ffffffb0;z-index:-1;transform-origin:50% 90%;transition:transform .85s cubic-bezier(.16,1,.3,1)}.screen-frame::before{transform:rotate(-5deg) translate(-10px,8px)}.screen-frame::after{transform:rotate(4deg) translate(12px,9px)}.screen-frame img{border-radius:5px;box-shadow:0 15px 35px #16252220;max-height:100%;object-fit:cover;object-position:top}.showcase-slide.active .screen-frame{transform:translate3d(0,0,0) rotate(-1deg) scale(1)}.showcase-slide.active:nth-child(2) .screen-frame{transform:rotate(1deg)}.showcase-slide.active:nth-child(3) .screen-frame{transform:rotate(-.5deg)}.stage-brand{transform:translateY(10px);opacity:0;transition:transform .5s .12s,opacity .5s .12s}.showcase-slide.active .stage-brand{transform:none;opacity:1}.showcase-slide{transition:opacity .45s,visibility .45s}.hero-top h1{animation:title-arrive .8s cubic-bezier(.16,1,.3,1) both}.amp{animation:amp-arrive 1s cubic-bezier(.16,1,.3,1) both}.project-image{transition:box-shadow .4s,transform .4s}.project-image:hover{transform:translateY(-4px);box-shadow:0 15px 25px #17201d14}.project-image img{transition:transform .65s cubic-bezier(.16,1,.3,1)}.project-image:hover img{transform:scale(1.025)}.motion-ready.arrived{animation:content-arrive .7s cubic-bezier(.16,1,.3,1) both}.contact-button span{transition:transform .3s}.contact-button:hover span{transform:translate(3px,-3px)}@keyframes title-arrive{from{transform:translateY(22px);opacity:.2}to{transform:none;opacity:1}}@keyframes amp-arrive{from{transform:rotate(-12deg) translateY(15px)}to{transform:none}}@keyframes content-arrive{from{transform:translateY(25px);opacity:.35}to{transform:none;opacity:1}}@media(max-width:600px){.screen-frame{width:84%;left:8%}.screen-frame::before{transform:rotate(-4deg) translate(-6px,5px)}.screen-frame::after{transform:rotate(3deg) translate(6px,5px)}}@media(prefers-reduced-motion:reduce){.stage-brand{opacity:1;transform:none}.screen-frame,.showcase-slide.active .screen-frame{transform:none!important}.motion-ready.arrived{animation:none}}

/* A quieter, precise typographic system; display character stays in the opening. */
body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font-family:inherit}.hero-intro h2{font-family:inherit;font-weight:500;letter-spacing:-.5px}.hero-intro p{font-size:17px;line-height:1.55}.services{display:block;padding-top:100px;padding-bottom:95px}.section-label{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:35px}.section-label>span{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.section-label p{font-size:14px;line-height:1.4;margin:0;color:var(--muted)}.service-content>h2{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1.09;letter-spacing:-.04em;max-width:820px}.service-content>h2 br{display:none}.service-grid{display:block;margin-top:50px}.service-grid article{display:grid;grid-template-columns:1fr 1.3fr .9fr;gap:55px;align-items:start;padding:30px 0;border-top:1px solid var(--line)}.service-grid article::before{display:none}.service-grid h3{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:35px;line-height:1.1;font-weight:400;letter-spacing:-1.2px;margin:0}.service-grid p{font-size:17px;line-height:1.5;max-width:400px;color:#343d38}.service-grid .service-note{font-size:14px;line-height:1.5;color:var(--muted);margin:0;max-width:240px;padding-left:30px;border-left:1px solid var(--line)}.work .eyebrow,.contact .eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.work .eyebrow{color:var(--muted)}.work h2,.contact h2{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;letter-spacing:-.045em}.project h3{font-weight:400;font-size:25px;letter-spacing:-.65px}.project-info>p:last-child{font-size:16px;line-height:1.5}.meta{letter-spacing:.01em}.project-identity img{max-width:230px}.project-fretspeak .project-identity img{max-height:64px}.project-symphony .project-identity img{max-width:290px;max-height:60px}.stage-brand img{mix-blend-mode:normal}.project-identity{height:95px}.stage-brand{width:23%;left:3%}.screen-frame{left:31%;width:64%}.project-number{font-size:11px;letter-spacing:.06em;color:#7e867f}.founder p{font-size:16px;line-height:1.6}.showcase-controls{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}@media(max-width:850px){.service-grid article{grid-template-columns:.75fr 1.3fr;gap:25px}.service-grid .service-note{grid-column:2;padding-left:0;border-left:0;margin-top:-10px}.service-grid h3{font-size:30px}}@media(max-width:600px){.services{padding:65px 0}.section-label{margin-bottom:25px}.section-label p{display:none}.service-content>h2{font-size:36px;margin-top:0;letter-spacing:-1.2px}.service-grid{margin-top:30px}.service-grid article{grid-template-columns:1fr;gap:16px;padding:26px 0}.service-grid h3{font-size:29px;letter-spacing:-.8px}.service-grid p{font-size:16px;max-width:none}.service-grid .service-note{grid-column:1;font-size:13px;margin-top:0}.stage-brand{left:6%;top:6%;width:40%;height:18%}.stage-brand img{max-width:135px}.screen-frame{left:8%;top:29%;width:84%;height:61%}.project-identity{height:90px}.project-symphony .project-identity img{max-width:245px}.project-info>p:last-child{font-size:16px}}

/* A unified portfolio exhibition: original identity and actual interface on one surface. */
.work{padding-top:90px}.work-heading{margin-bottom:45px}.work-heading h2{font-size:clamp(38px,4.5vw,62px);font-weight:400}.work-heading>p{font-size:15px;line-height:1.45}.project-grid{display:block}.project{margin:0 0 64px!important}.project-image{aspect-ratio:2.1;position:relative;display:block;overflow:hidden;background:var(--project-bg);border:1px solid #19231b0a;box-shadow:none;border-radius:2px}.project-mark{position:absolute;left:4%;top:0;bottom:0;width:23%;display:flex;align-items:center;justify-content:center;padding-bottom:5%}.project-mark img{width:100%;height:auto;max-height:145px;object-fit:contain;transform:none!important;box-shadow:none}.project-browser{position:absolute;left:33%;top:10%;width:63%;height:90%;overflow:hidden;background:white;border-radius:5px 5px 0 0;box-shadow:0 20px 45px #0002;transform:translateY(12px);transition:transform .65s cubic-bezier(.16,1,.3,1)}.project-browser img{width:100%;height:auto;max-width:none;object-fit:contain;object-position:top;transform:none!important}.project-image:hover{transform:none;box-shadow:none}.project-image:hover .project-browser,.project-image:focus-visible .project-browser{transform:translateY(0)}.view-project{left:4%;right:auto;bottom:8%;padding:0;background:none;color:var(--project-fg);opacity:1;transform:none;font-size:12px;letter-spacing:.02em;border-bottom:1px solid currentColor;padding-bottom:6px}.project-info,.project:last-child .project-info{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:7px;padding:24px 0 0}.project-info .meta{grid-column:1;grid-row:2;font-size:12px;margin:0;color:var(--muted)}.project-info h3{grid-column:1;grid-row:1;font-size:22px;line-height:1.25;font-weight:500;letter-spacing:-.6px}.project-info h3 span{display:none}.project-info>p:last-child{grid-column:2;grid-row:1/3;font-size:16px;line-height:1.5;margin:0;max-width:430px;justify-self:end;color:var(--muted)}.project:last-child{display:block}.project-salt{--project-bg:#fbf8f4;--project-fg:#192537}.project-liiv{--project-bg:#1b2623;--project-fg:#fff}.project-txtmychurch{--project-bg:#fefefe;--project-fg:#092b5b}.project-fretspeak{--project-bg:#151823;--project-fg:#e1d2aa}.project-growleader{--project-bg:#080807;--project-fg:#f5c825}.project-jones{--project-bg:#080806;--project-fg:#d2ba87}.project-symphony{--project-bg:#070b12;--project-fg:#ebdfb1}.project-fretspeak .project-mark img{max-height:240px}.project-symphony .project-mark{left:3%;width:26%}.project-symphony .project-mark img{width:100%}.project .project-number{display:none}.showcase-slide:nth-child(1){background:#fbf8f4}.showcase-slide:nth-child(2){background:#1b2623}.showcase-slide:nth-child(3){background:#151823}.showcase-slide .stage-brand{height:65%;top:5%;padding-bottom:3%}.showcase-slide:nth-child(3) .stage-brand img{max-height:230px}.stage-brand img{max-width:100%;width:100%!important}.screen-frame::before,.screen-frame::after{background:#ffffff16;border-color:#ffffff20}.showcase-controls>p{font-size:12px}.project-mark,.project-browser{will-change:auto}.project.arrived .project-browser{animation:project-settle .85s cubic-bezier(.16,1,.3,1) both}@keyframes project-settle{from{transform:translateY(40px)}to{transform:translateY(12px)}}@media(max-width:850px){.project-image{aspect-ratio:1.7}.project-mark{width:24%;left:3%}.project-browser{left:32%;width:65%;top:12%}.project-info>p:last-child{font-size:15px}}@media(max-width:600px){.work{padding-top:65px}.work-heading{margin-bottom:30px}.project{margin-bottom:42px!important}.project-image{aspect-ratio:.96}.project-mark{left:7%;top:5%;width:45%;height:18%;bottom:auto;padding:0;justify-content:flex-start}.project-mark img{max-height:48px;width:auto;max-width:100%;object-position:left center}.project-browser{left:7%;top:29%;width:86%;height:73%;transform:translateY(4px);border-radius:3px 3px 0 0}.view-project{left:auto;right:7%;top:12%;bottom:auto;font-size:10px}.project-fretspeak .project-mark img{max-height:68px}.project-symphony .project-mark{left:5%;width:59%;top:7%}.project-symphony .view-project{right:5%;font-size:9px}.project-info,.project:last-child .project-info{display:flex;flex-direction:column;padding-top:18px;gap:9px}.project-info h3{order:0;font-size:22px}.project-info .meta{order:1;font-size:11px}.project-info>p:last-child{order:2;font-size:15px;max-width:none;margin:0;line-height:1.5}.showcase-slide .stage-brand{left:6%;top:6%;width:40%;height:18%;padding:0}.showcase-slide .stage-brand img{max-height:54px;max-width:140px;width:auto!important}.showcase-slide:nth-child(3) .stage-brand img{max-height:65px}.showcase-slides{aspect-ratio:1.03}.screen-frame{left:7%;top:29%;width:86%;height:72%}.screen-frame::before,.screen-frame::after{display:none}.work-heading h2{font-size:42px}.project.arrived .project-browser{animation:none}}

/* Lightweight recorded walkthroughs; only the visible project plays. */
.project{position:relative}.project-browser video{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top;background:var(--project-bg);transition:opacity .35s}.project-browser video.preview-reset{opacity:.15}.preview-toggle{position:absolute;top:18px;right:18px;z-index:2;min-height:36px;padding:7px 12px;border:1px solid #ffffff66;border-radius:3px;background:#fffffff2;color:#17201d;font:12px/1.3 'Helvetica Neue',Helvetica,Arial,sans-serif;box-shadow:0 2px 10px #0001;cursor:pointer}.preview-toggle:hover{background:white}.project-image .view-project{opacity:1}.project-browser{height:84%;top:10%}.project-video{pointer-events:none}@media(max-width:600px){.project-image{aspect-ratio:.69}.project-mark{top:3%;height:12%;width:47%}.project-browser{top:19%;height:78%;left:13%;width:74%;border-radius:4px}.project-browser video{aspect-ratio:390/760;width:100%;height:100%;object-fit:contain}.view-project{top:8%;right:5%;font-size:10px}.preview-toggle{top:auto;bottom:138px;right:8%;font-size:11px;min-height:34px}.project .preview-toggle{top:calc((100vw - 12vw) / .69 - 48px);bottom:auto;right:7%}.project-symphony .project-mark{top:5%;height:10%}.project-symphony .view-project{top:9%}.project-fretspeak .project-mark img{max-height:60px}}@media(prefers-reduced-motion:reduce){.project-browser video{transition:none}.project-browser video.preview-reset{opacity:1}}
/* Match the frame to the recording; no exposed white canvas below it. */
.project-browser{height:auto;aspect-ratio:8/5;background:var(--project-bg);border-radius:4px;}
.project-browser video{width:100%;height:100%;aspect-ratio:8/5;object-fit:contain;}
@media(max-width:600px){.project-browser{height:auto;aspect-ratio:390/760;}.project-browser video{aspect-ratio:390/760;}}
.project-info,.project:last-child .project-info{grid-template-columns:1fr;}
.project-info h3{grid-column:1;grid-row:1;}
.project-info .meta{grid-column:1;grid-row:2;font-size:12px;justify-self:start;max-width:none;}
.project-info>p.meta:last-child{grid-column:1;grid-row:2;justify-self:start;font-size:12px;max-width:none;order:1;margin:0;}
/* Let the work lead: a compact identity strip above a full-width preview. */
.project-image{aspect-ratio:auto;padding:22px;display:flex;flex-direction:column;gap:20px;}
.project .project-mark{position:static;width:190px;height:48px;padding:0;flex:none;justify-content:flex-start;}
.project .project-mark img{width:auto!important;max-width:190px;max-height:48px;object-position:left center;}
.project .project-browser{position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:8/5;transform:none!important;animation:none!important;box-shadow:none;}
.project .view-project{left:auto;right:24px;top:37px;bottom:auto;font-size:12px;}
.project .preview-toggle{top:28px;right:165px;bottom:auto;min-height:36px;}
@media(max-width:600px){.project-image{padding:14px;gap:16px;}.project .project-mark{width:140px;height:44px;}.project .project-mark img{max-width:140px;max-height:44px;}.project .project-browser{aspect-ratio:390/760;}.project .view-project{top:28px;right:14px;font-size:10px;}.project .preview-toggle{top:86px;right:23px;font-size:10px;min-height:34px;background:#ffffffe6;}}
@media(max-width:600px){.project .preview-toggle{top:20px;right:14px;}.project .view-project{display:none;}}
.preview-pan{position:absolute;inset:0;overflow:hidden;background:var(--project-bg);contain:paint;}
.preview-pan-track{width:100%;will-change:transform;}
.project .project-browser .preview-pan img{display:block;width:100%;height:auto;max-width:none;transform:none!important;transition:none;box-shadow:none;border-radius:0;}
.project .project-browser .preview-pan .pan-poster{height:100%;object-fit:cover;object-position:top;}
/* Scroll a normal clipped viewport: avoid huge moving compositor layers. */
.preview-pan{scroll-behavior:auto!important;overflow:hidden;overflow-anchor:none;}
.preview-pan-track{will-change:auto;transform:none!important;}
/* Give each original mark an equal width; retain its natural proportions. */
.project .project-mark{width:210px;height:auto;min-height:54px;max-width:55%;display:flex;align-items:center;}
.project .project-mark img{width:100%!important;max-width:none;max-height:none;height:auto;object-fit:contain;}
.project-txtmychurch .project-mark img{width:112%!important;max-width:none;margin-left:-6%;}
@media(max-width:600px){.project .project-mark{width:170px;max-width:55%;min-height:48px;}.project .project-mark img{max-width:none;max-height:none;}.project .preview-toggle{right:14px;padding:7px 9px;font-size:10px;}}
/* Fit the entire page width in every mobile preview, including its initial image. */
.project .project-browser .preview-pan .pan-poster{width:100%;height:auto!important;object-fit:contain!important;object-position:top;}
.project .project-browser video{object-fit:contain!important;object-position:top;max-width:100%;}
.preview-pan picture{display:block;width:100%;}
.project-growleader .project-mark img{filter:brightness(2) saturate(1.15);}
.project-jones .project-mark{width:340px;max-width:68%;min-height:64px;}
.project-jones .project-mark img{filter:brightness(1.2);}
@media(max-width:600px){.project-jones .project-image{padding-top:60px;}.project-jones .project-mark{width:100%;max-width:100%;min-height:0;margin-bottom:5px;}.project-jones .preview-toggle{top:14px;}}


@font-face{font-family:Geist;src:url(assets/geist-variable.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Sora;src:url(assets/sora-variable.woff2) format('woff2');font-style:normal;font-weight:100 800;font-display:swap}
:root{--display:Sora,Arial,sans-serif;--body:Geist,Arial,sans-serif;--accent:#203dcb}body,button,input,textarea{font-family:var(--body);font-weight:450;letter-spacing:-.015em}h1,h2,h3{font-family:var(--display)}.hero-top{align-items:flex-end;gap:6%;margin-bottom:46px}.hero-top>div:first-child{flex:1}.hero .eyebrow{font-family:var(--body);font-size:13px;font-weight:550;letter-spacing:.015em;margin-bottom:30px}h1{font-family:var(--display);font-size:clamp(72px,7.8vw,116px);line-height:1.04;font-weight:750;letter-spacing:-.07em}h1 .advisory-word,h1 .build-word{display:block;font-family:inherit;font-size:1em;font-style:normal;font-weight:inherit;line-height:inherit;letter-spacing:inherit;animation:none}h1 .build-word{color:var(--accent)}.hero-intro{width:310px;flex-shrink:0;padding-bottom:8px}.hero-intro h2{font-family:var(--display);font-size:23px;line-height:1.3;font-weight:650;letter-spacing:-.045em}.hero-intro p{font-family:var(--body);font-size:18px;line-height:1.5;font-weight:450;letter-spacing:-.02em}.text-link,.header nav,.contact-button{font-family:var(--body);font-weight:600;letter-spacing:-.015em}.section-label>span,.eyebrow,.work .eyebrow,.contact .eyebrow{font-family:var(--display);font-weight:650;font-size:11px;letter-spacing:.08em}.section-label p{font-family:var(--body);font-size:15px;line-height:1.4;font-weight:450}.service-content>h2{font-family:var(--display);font-weight:650;font-size:clamp(34px,3.7vw,54px);letter-spacing:-.055em;line-height:1.12;max-width:1000px;text-wrap:balance}.service-grid h3{font-family:var(--display);font-weight:700;letter-spacing:-.055em;font-size:34px;line-height:1.15}.service-grid p{font-family:var(--body);font-weight:450;letter-spacing:-.015em;font-size:18px;line-height:1.5}.service-grid .service-note{font-family:var(--body);font-weight:450;font-size:15px;line-height:1.5}.work-heading h2,.work h2{font-family:var(--display);font-size:clamp(40px,4.7vw,68px);font-weight:750;letter-spacing:-.065em;line-height:1.05}.work-heading>p{font-family:var(--body);font-size:16px;line-height:1.5}.project h3,.project-info h3{font-family:var(--display);font-size:23px;font-weight:650;letter-spacing:-.04em;line-height:1.25}.project-info>p:last-child{font-family:var(--body);font-size:17px;font-weight:450;line-height:1.5;letter-spacing:-.015em}.meta,.project-info .meta{font-family:var(--body);font-size:13px;letter-spacing:0;font-weight:450}.contact h2,.contact h2 em{font-family:var(--display);font-style:normal;font-size:clamp(46px,5vw,72px);font-weight:700;line-height:1.08;letter-spacing:-.055em}.contact h2 em{color:#dbe2ff}.contact-main>p,.founder p{font-family:var(--body);font-weight:450;font-size:17px;line-height:1.55}.founder h3{font-family:var(--display);font-weight:650;font-size:27px;line-height:1.15;letter-spacing:-.045em}.showcase-controls,.preview-toggle,.view-project,.work-note{font-family:var(--body);letter-spacing:0}.brand span,.footer-brand{font-family:'Instrument Serif',serif}.service-grid article{grid-template-columns:.9fr 1.4fr .85fr}.contact-button{font-size:16px}.contact-note{font-size:13px!important}@media(max-width:850px){h1{font-size:8.2vw}.hero-intro{width:255px}.hero-intro h2{font-size:21px}.hero-intro p{font-size:17px}.service-grid article{grid-template-columns:.75fr 1.3fr}.service-content>h2{max-width:720px}.service-grid h3{font-size:30px}.service-grid p{font-size:17px}}@media(max-width:600px){.hero .eyebrow{font-size:12px;margin-bottom:25px}h1{font-size:clamp(55px,16.6vw,95px);line-height:1.07;letter-spacing:-.07em}.hero-intro{width:auto;margin-top:28px}.hero-intro h2{font-size:21px;letter-spacing:-.045em;line-height:1.3}.hero-intro p{font-size:17px}.hero-top{margin-bottom:28px}.service-content>h2{font-size:33px;letter-spacing:-.055em;line-height:1.13}.service-grid article{grid-template-columns:1fr}.service-grid h3{font-size:28px;letter-spacing:-.045em}.service-grid p{font-size:17px;line-height:1.5}.service-grid .service-note{font-size:14px}.work h2,.work-heading h2{font-size:39px;line-height:1.1;letter-spacing:-.065em}.project-info h3{font-size:22px}.project-info .meta{font-size:12px}.project-info>p:last-child{font-size:16px}.contact h2,.contact h2 em{font-size:44px;letter-spacing:-.055em}.founder h3{font-size:25px}.brand span{font-size:25px}}
/* A calmer hierarchy and a distinct services chapter. */
h1{font-weight:650;letter-spacing:-.045em;}
.hero-intro h2{font-weight:550;letter-spacing:-.025em;}
.services{background:#192b38;color:#f5f5ef;padding:64px;margin-top:40px;border:0;}
.services .section-label>span,.services .section-label p{color:#c5d3dc;}
.service-content>h2{max-width:23ch;font-weight:550;letter-spacing:-.035em;font-size:clamp(36px,4vw,58px);line-height:1.16;}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:55px;}
.service-grid article{display:block;border-top:1px solid #8297a64d;padding:28px 0 0;}
.service-grid h3{font-size:32px;letter-spacing:-.03em;font-weight:550;color:#bed1ff;margin:0 0 24px;}
.service-grid p{color:#f1f4f5;font-size:18px;max-width:38ch;line-height:1.6;}
.service-grid .service-note{color:#b5c6d2;border:0;padding:0;margin-top:22px;font-size:14px;max-width:35ch;}
.work h2,.work-heading h2{font-weight:600;letter-spacing:-.04em;}
@media(max-width:600px){h1{letter-spacing:-.045em;}.services{padding:32px 24px;margin-top:26px;}.service-content>h2{font-size:32px;letter-spacing:-.035em;}.service-grid{grid-template-columns:1fr;gap:28px;margin-top:32px;}.service-grid article{padding-top:22px;}.service-grid h3{font-size:27px;margin-bottom:15px;}.service-grid p{font-size:16px;}.service-grid .service-note{margin-top:15px;font-size:13px;}}
.header .brand span{font-size:42px;}.header .brand img{width:40px;height:48px;object-fit:contain;}.header .brand{gap:14px;}
@media(max-width:600px){.header .brand span{font-size:29px;}.header .brand img{width:30px;height:36px;}.header .brand{gap:9px;}}
.hero h1{font-size:clamp(54px,7vw,104px);letter-spacing:-.045em;line-height:1.06;}
.hero-offer{font-family:var(--body);font-size:21px;line-height:1.4;font-weight:500;letter-spacing:-.015em;color:var(--ink);margin:25px 0 0;}
@media(max-width:600px){.hero h1{font-size:clamp(37px,11.6vw,54px);}.hero-offer{font-size:18px;margin-top:19px;}}

.services{background:transparent;color:var(--ink);padding:85px 0 70px;margin-top:0;border-top:1px solid var(--line);}
.services .section-label>span{color:var(--accent);font-size:11px;letter-spacing:.1em;}
.service-story{display:grid;grid-template-columns:.72fr 1.28fr;gap:7%;align-items:center;margin:38px 0 65px;}
.service-story>h2{font-family:var(--display);font-size:clamp(36px,4.4vw,64px);line-height:1.06;letter-spacing:-.045em;font-weight:550;margin:0;}
.service-story>h2 span{color:var(--accent);}
.idea-to-life{--reveal:0;min-width:0;}
.transformation-labels{display:flex;align-items:center;gap:17px;font-size:14px;font-weight:550;letter-spacing:-.02em;margin-bottom:28px;}
.transformation-labels>span:last-child{color:var(--accent);}
.transformation-line{height:1px;background:#203dcb30;flex:1;position:relative;}
.transformation-line i{display:block;width:7px;height:7px;background:var(--accent);border-radius:50%;position:absolute;top:-3px;left:calc(var(--reveal)*100%);transform:translateX(-50%);}
.transformation-stage{position:relative;padding:35px 18px 18px;perspective:1200px;}
.plan-sheet{position:absolute;inset:35px 18px 18px;border:1px solid #203dcb25;background:#eef0f7;border-radius:7px;}
.plan-sheet-back{transform:translate(calc((1 - var(--reveal))*-17px),calc((1 - var(--reveal))*-22px)) rotate(calc((1 - var(--reveal))*-4deg));opacity:calc(1 - var(--reveal));}
.plan-sheet-mid{transform:translate(calc((1 - var(--reveal))*14px),calc((1 - var(--reveal))*-11px)) rotate(calc((1 - var(--reveal))*3deg));opacity:calc(1 - var(--reveal));}
.transformation-window{position:relative;overflow:hidden;border:1px solid #203dcb30;border-radius:7px;background:#f8f8f5;box-shadow:0 18px 42px #1c27401a;transform:rotate(calc((1 - var(--reveal))*-1.5deg));}
.window-top{height:28px;display:flex;align-items:center;gap:5px;padding:0 11px;border-bottom:1px solid #203dcb20;background:#f4f5f8;}
.window-top>span{width:4px;height:4px;border:1px solid #8995a9;border-radius:50%;}
.window-top i{font-style:normal;font-size:8px;letter-spacing:.12em;margin-left:auto;color:#5b697a;}
.transformation-canvas{aspect-ratio:1.6;position:relative;overflow:hidden;}
.site-outline{position:absolute;inset:0;width:100%;height:100%;stroke:#203dcb;stroke-width:2;opacity:.58;background:#f1f3fa;}
.site-outline path{stroke-width:5;}
.finished-site{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;clip-path:inset(0 calc((1 - var(--reveal))*100%) 0 0);}
.reveal-edge{position:absolute;left:calc(var(--reveal)*100%);top:0;bottom:0;width:1px;background:#203dcb;opacity:calc(1 - var(--reveal));}
.transformation-caption{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted);margin:15px 18px 0;}
.transformation-caption>span:last-child{color:var(--accent);}
.services .service-grid{grid-template-columns:1fr 1fr;gap:7%;margin-top:0;}
.services .service-grid article{padding-top:26px;border-top:1px solid var(--line);}
.services .service-grid h3{color:var(--ink);font-size:25px;margin-bottom:16px;}
.services .service-grid p{color:var(--muted);font-size:16px;line-height:1.6;max-width:43ch;}
.services .service-grid .service-note{color:var(--muted);font-size:13px;margin-top:16px;}
@media(max-width:850px){.service-story{gap:4%;grid-template-columns:.85fr 1.15fr;}.service-story>h2{font-size:39px;}.transformation-stage{padding:25px 8px 8px;}.plan-sheet{inset:25px 8px 8px;}}
@media(max-width:600px){.services{padding:58px 0;margin-top:0;}.service-story{grid-template-columns:1fr;gap:36px;margin:28px 0 40px;}.service-story>h2{font-size:clamp(34px,9.5vw,44px);max-width:13ch;}.service-story>h2 br{display:none;}.service-story>h2 span{display:block;margin-top:4px;}.transformation-labels{font-size:13px;margin-bottom:8px;}.transformation-caption{font-size:10px;margin:13px 8px 0;}.services .service-grid{grid-template-columns:1fr;gap:27px;}.services .service-grid h3{font-size:24px;}.services .service-grid p{font-size:16px;}.window-top{height:22px;}}
@media(prefers-reduced-motion:reduce){.idea-to-life{--reveal:1!important;}.plan-sheet{display:none;}}
/* Keep supporting content crisp while the single transformation carries the motion. */
.services .motion-ready.arrived{animation:none!important;opacity:1!important;}
.skip{top:-100px!important;transform:none!important;}
.skip:focus{top:12px!important;}
/* Put real work alongside the promise; supporting copy sits beneath it. */
.hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:38px 5%;padding-top:42px;}
.hero-top{display:contents;}
.hero-top>div:first-child{grid-column:1;grid-row:1;align-self:center;min-width:0;}
.hero h1{font-size:clamp(52px,5.8vw,86px);line-height:1.07;}
.hero-showcase{grid-column:2;grid-row:1;min-width:0;}
.hero .showcase-slides{aspect-ratio:1.12;border-radius:5px;}
.hero .showcase-slide .stage-brand{left:7%;top:6%;width:43%;height:16%;padding:0;justify-content:flex-start;}
.hero .showcase-slide .stage-brand img{max-height:65px;width:auto!important;max-width:100%;}
.hero .screen-frame{left:7%;top:29%;width:86%;height:66%;}
.hero .screen-frame img{width:100%;height:100%;object-fit:cover;object-position:top;}
.hero .showcase-controls{justify-content:flex-end;}
.hero .hero-intro{grid-column:1/-1;grid-row:2;width:auto;margin:0 0 28px;padding:24px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.35fr .85fr;gap:6%;align-items:start;}
.hero .hero-intro h2{font-size:19px;font-weight:500;line-height:1.4;letter-spacing:-.02em;margin:0;}
.hero .hero-intro p{font-size:16px;line-height:1.55;margin:0;}
.hero .hero-intro .text-link{font-size:15px;width:100%;margin:0;align-self:start;}
@media(max-width:850px){.hero h1{font-size:5.6vw;}.hero .hero-intro{grid-template-columns:1fr 1.3fr;}.hero .hero-intro .text-link{grid-column:2;max-width:220px;}.hero .hero-intro h2{font-size:17px;}}
@media(max-width:600px){.hero{grid-template-columns:1fr;gap:30px;padding-top:35px;}.hero h1{font-size:clamp(37px,11.6vw,54px);}.hero-top>div:first-child{grid-column:1;grid-row:1;}.hero-showcase{grid-column:1;grid-row:2;}.hero .showcase-slides{aspect-ratio:1.12;}.hero .hero-intro{grid-column:1;grid-row:3;grid-template-columns:1fr;gap:15px;padding-top:22px;margin-bottom:10px;}.hero .hero-intro h2{font-size:18px;}.hero .hero-intro p{font-size:16px;}.hero .hero-intro .text-link{grid-column:1;max-width:230px;margin-top:5px;}}
.work-signature{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding:30px 0 15px;margin-top:12px;}
.work-signature>img{width:36px;height:48px;object-fit:contain;filter:invert(1);}
.signature-name{font-family:'Instrument Serif',serif;font-size:34px;line-height:1.1;color:var(--ink);margin:0 0 7px;}
.signature-role{font-family:var(--body);font-size:11px;letter-spacing:.04em;line-height:1.5;color:var(--muted);margin:0;}
.signature-note{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 0 auto;}
@media(max-width:600px){.work-signature{display:grid;grid-template-columns:30px 1fr;gap:17px;padding-top:25px;}.work-signature>img{width:28px;height:38px;}.signature-name{font-size:28px;}.signature-role{font-size:10px;letter-spacing:.015em;}.signature-note{grid-column:2;margin:0;font-size:11px;}.signature-note br{display:none;}}
/* Two deliberate motion studies express the services themselves. */
.services .service-grid{gap:6%;}
.services .service-grid article{border-top:0;padding-top:0;}
.service-motion{height:240px;position:relative;overflow:hidden;margin-bottom:28px;border-bottom:1px solid var(--line);}
.advisory-motion svg{display:block;width:100%;height:100%;overflow:visible;}
.signal-route{stroke:#203dcb55;stroke-width:1.5;stroke-dasharray:5 7;}
.clear-route{stroke:#203dcb;stroke-width:2;stroke-dasharray:519;stroke-dashoffset:519;}
.decision rect{fill:var(--paper);stroke:#203dcb;stroke-width:1.5;}
.decision path{stroke:#203dcb;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.decision-one{transform:translate(105px,163px) rotate(-12deg);}
.decision-two{transform:translate(270px,77px) rotate(9deg);}
.decision-three{transform:translate(430px,155px) rotate(-7deg);}
.direction-target{fill:#203dcb;opacity:.25;}.direction-pulse{stroke:#203dcb;opacity:0;transform-origin:557px 120px;}
.motion-caption{position:absolute;bottom:17px;font-size:11px;color:var(--muted);letter-spacing:.03em;}
.motion-caption-before{left:0;}.motion-caption-after{right:0;color:var(--accent);}
.assembly-screen{position:absolute;width:68%;height:150px;left:16%;top:32px;border:1px solid #203dcb40;border-radius:5px;background:#eef1fa;perspective:700px;}
.assembly-nav{position:absolute;inset:0 0 auto;height:18px;border-bottom:1px solid #203dcb25;display:flex;gap:4px;align-items:center;padding-left:9px;background:#f8f8f5;transform:translate(0,-22px);}
.assembly-nav i{width:3px;height:3px;border-radius:50%;background:#203dcb80;}
.assembly-type{position:absolute;left:8%;top:39px;width:37%;transform:translate(-48px,6px) rotate(-5deg);}
.assembly-type span{display:block;height:9px;background:#203dcb;margin-bottom:6px;}.assembly-type span:nth-child(2){width:85%;}.assembly-type span:nth-child(3){width:62%;height:4px;background:#203dcb55;}
.assembly-photo{position:absolute;right:7%;top:34px;width:40%;height:93px;overflow:hidden;transform:translate(45px,-6px) rotate(8deg);box-shadow:0 8px 15px #17201d13;}
.assembly-photo img{width:100%;height:100%;object-fit:cover;object-position:top;}
.assembly-button{position:absolute;left:8%;bottom:24px;width:26%;height:17px;border-radius:3px;background:#203dcb;transform:translate(-20px,26px);}
.assembly-base{position:absolute;left:7%;right:7%;bottom:-8px;height:1px;background:#203dcb33;transform:scaleX(.4);}
.motion-running .clear-route{animation:route-resolve 6s ease-in-out infinite;}
.motion-running .signal-route{animation:route-fade 6s ease-in-out infinite;}
.motion-running .decision-one{animation:decision-one 6s cubic-bezier(.22,.7,.2,1) infinite;}
.motion-running .decision-two{animation:decision-two 6s cubic-bezier(.22,.7,.2,1) infinite;}
.motion-running .decision-three{animation:decision-three 6s cubic-bezier(.22,.7,.2,1) infinite;}
.motion-running .direction-target{animation:target-show 6s ease-in-out infinite;}
.motion-running .direction-pulse{animation:target-pulse 6s ease-out infinite;}
.motion-running .assembly-nav,.motion-running .assembly-type,.motion-running .assembly-photo,.motion-running .assembly-button,.motion-running .assembly-base{animation:piece-assemble 6s cubic-bezier(.22,.7,.2,1) infinite;}
.motion-running .assembly-type{animation-delay:.12s;}.motion-running .assembly-photo{animation-delay:.24s;}.motion-running .assembly-button{animation-delay:.36s;}
@keyframes route-resolve{0%,12%,100%{stroke-dashoffset:519;}42%,80%{stroke-dashoffset:0;}}
@keyframes route-fade{0%,12%,100%{opacity:1;}42%,80%{opacity:0;}}
@keyframes decision-one{0%,12%,100%{transform:translate(105px,163px) rotate(-12deg);}42%,80%{transform:translate(105px,120px) rotate(0);}}
@keyframes decision-two{0%,12%,100%{transform:translate(270px,77px) rotate(9deg);}46%,80%{transform:translate(270px,120px) rotate(0);}}
@keyframes decision-three{0%,12%,100%{transform:translate(430px,155px) rotate(-7deg);}50%,80%{transform:translate(430px,120px) rotate(0);}}
@keyframes target-show{0%,30%,100%{opacity:.25;}52%,80%{opacity:1;}}
@keyframes target-pulse{0%,48%,100%{opacity:0;transform:scale(.6);}52%{opacity:.6;}73%,90%{opacity:0;transform:scale(1.8);}}
@keyframes piece-assemble{0%,10%,100%{}45%,80%{transform:translate(0,0) rotate(0) scaleX(1);}}
.service-motion:not(.motion-running) *{animation-play-state:paused!important;}
@media(max-width:600px){.service-motion{height:185px;margin-bottom:23px;}.assembly-screen{top:14px;height:132px;width:76%;left:12%;}.assembly-photo{height:77px;}.assembly-type{top:35px;}.services .service-grid{gap:33px;}}
@media(prefers-reduced-motion:reduce){.service-motion *{animation:none!important;}.signal-route{opacity:0;}.clear-route{stroke-dashoffset:0;}.decision-one{transform:translate(105px,120px);}.decision-two{transform:translate(270px,120px);}.decision-three{transform:translate(430px,120px);}.assembly-nav,.assembly-type,.assembly-photo,.assembly-button,.assembly-base{transform:none;}.direction-target{opacity:1;}}
/* Service typography behaves like a wordmark, with quieter reading text. */
.services .service-grid h3{font-family:var(--display);font-size:clamp(44px,5.8vw,82px);font-weight:700;line-height:.98;letter-spacing:-.065em;margin:0 0 24px;color:#17201d;}
.services .service-build h3{color:var(--accent);}
.services .service-grid p{font-size:18px;line-height:1.55;letter-spacing:-.015em;color:#354039;max-width:35ch;}
.services .service-grid p strong{font-weight:550;display:block;color:var(--ink);margin-bottom:7px;font-size:21px;letter-spacing:-.03em;}
.services .service-grid .service-note{font-size:12px;line-height:1.5;color:#566159;margin-top:24px;max-width:40ch;border-left:2px solid #203dcb;padding-left:13px;}
.service-motion{margin-bottom:30px;}
@media(max-width:600px){.services .service-grid h3{font-size:clamp(44px,13.8vw,58px);margin-bottom:21px;}.services .service-grid p{font-size:16px;max-width:34ch;}.services .service-grid p strong{font-size:19px;}.services .service-grid .service-note{font-size:12px;margin-top:20px;}.services .service-grid{gap:38px;}}

/* The cobalt reveal is the common motion signature. */
.hero{grid-template-columns:.85fr 1.15fr;gap:4%;padding-bottom:48px;align-items:center;}
.hero h1{font-size:clamp(44px,5.4vw,79px);letter-spacing:-.065em;}
.hero .hero-offer{font-size:15px;letter-spacing:.02em;margin-top:25px;}
.brand-reel{min-width:0;grid-column:2;grid-row:1;}
.reel-stage{position:relative;aspect-ratio:1.6;background:#0d1119;overflow:hidden;border-radius:3px;isolation:isolate;}
.reel-stage:after{content:'';position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:right;pointer-events:none;z-index:3;}
.brand-reel.is-changing .reel-stage:after{animation:signature-wipe .65s cubic-bezier(.76,0,.24,1);}
@keyframes signature-wipe{0%{transform:scaleX(0);transform-origin:left}48%{transform:scaleX(1);transform-origin:left}49%{transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
.reel-scene{position:absolute;inset:0;visibility:hidden;opacity:0;display:flex;align-items:center;}
.reel-scene.is-active{visibility:visible;opacity:1;}
.reel-scene video{width:100%;height:100%;object-fit:contain;display:block;}
.reel-brand{position:absolute;right:14px;bottom:14px;background:#101621e8;border:1px solid #ffffff25;padding:9px 13px;border-radius:2px;max-width:31%;height:49px;display:flex;align-items:center;}
.reel-brand img{max-height:100%;max-width:100%;width:auto;object-fit:contain;}
.reel-controls{display:flex;align-items:center;gap:18px;margin-top:16px;font-size:12px;}
.reel-counter{color:var(--muted);font-variant-numeric:tabular-nums;}
.reel-tabs{display:flex;gap:5px;margin-left:auto;}
.reel-controls button{border:0;background:transparent;min-height:44px;min-width:40px;padding:7px;color:var(--muted);font-size:12px;}
.reel-tabs button[aria-pressed=true]{color:var(--accent);box-shadow:inset 0 -2px var(--accent);}
.reel-pause{margin-left:6px;}
.clarity-services{position:relative;padding:70px 0 64px;}
.clarity-heading{font-family:var(--display);font-size:clamp(35px,5.5vw,78px);line-height:1.13;letter-spacing:-.055em;font-weight:550;margin:35px 0 68px;}
.clarity-heading span{color:var(--accent);}
.clarity-services .service-grid{gap:8%;}
.clarity-services .service-grid article{display:block;border-top:2px solid var(--accent);padding:24px 0 0;}
.service-index{display:block;color:var(--muted);font-size:14px;margin-bottom:24px;}
.clarity-services .service-grid h3{font-size:clamp(28px,3.1vw,43px);line-height:1.15;letter-spacing:-.04em;font-weight:500;margin:0 0 24px;color:var(--ink);}
.clarity-services .service-grid p{font-size:17px;max-width:36ch;}
.project-details{display:block;margin:12px 0 0 auto;padding:7px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--muted);font-size:13px;min-height:40px;}
#project-dialog{width:min(620px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:55px 40px 40px;border:0;border-top:4px solid var(--accent);background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0003;}
#project-dialog::backdrop{background:#111b2dcc;backdrop-filter:blur(5px);}
.detail-close{position:absolute;right:20px;top:12px;background:none;border:0;padding:8px;font-size:14px;}
#project-dialog h2{font-family:var(--display);font-size:36px;line-height:1.1;letter-spacing:-.04em;margin:20px 0;}
#project-dialog h3{font-size:15px;margin:25px 0 8px;}
#project-dialog p{font-size:17px;line-height:1.6;}
#project-dialog .eyebrow{font-size:12px;}
#detail-visit{margin-top:30px;display:inline-block;font-size:16px;color:var(--accent);}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:30px;}.hero-top>div:first-child{grid-row:1;}.hero h1{font-size:clamp(48px,8vw,72px);}.brand-reel{grid-column:1;grid-row:2;}.reel-stage{aspect-ratio:1.6;}.clarity-heading{font-size:clamp(34px,6vw,58px);}}
@media(max-width:600px){.hero{padding-bottom:30px;}.hero h1{font-size:clamp(35px,10.6vw,54px);}.hero .hero-offer{margin-top:16px;}.reel-brand{height:32px;right:8px;bottom:8px;padding:5px 8px;}.reel-controls{gap:7px;margin-top:6px;}.reel-controls button{font-size:12px;}.clarity-services{padding:44px 0;}.clarity-heading{font-size:clamp(29px,8.2vw,43px);margin:27px 0 43px;}.clarity-services .service-grid{gap:32px;}.clarity-services .service-grid h3{font-size:31px;}.clarity-services .service-grid p{font-size:16px;}.service-index{margin-bottom:20px;}#project-dialog{padding:55px 24px 30px;}}
@media(prefers-reduced-motion:reduce){.brand-reel.is-changing .reel-stage:after{animation:none;}html{scroll-behavior:auto;}}

/* A single transformation: fragments of the real product become the working experience. */
.wonder-letter{display:inline-block;animation:letter-resolve 1.15s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--letter)*45ms);}
@keyframes letter-resolve{from{opacity:0;transform:translateY(24px) rotate(6deg);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.clarity-services{background:#203dcb!important;color:#fff;margin-top:14px;padding:54px 5% 58px!important;border:0;overflow:clip;}
.clarity-services .section-label>span{color:#fff;font-size:13px;}
.wonder-chapter{height:110vh;min-height:760px;position:relative;--resolve:0;}
.wonder-sticky{position:sticky;top:8vh;min-height:65vh;display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:center;}
.clarity-services .clarity-heading{font-size:clamp(36px,4.6vw,65px);font-weight:500;letter-spacing:-.055em;line-height:1.08;margin:35px 0;}
.clarity-heading>span{display:block;}
.clarity-heading .clarity-line{color:#fff;opacity:calc(1 - var(--resolve)*.45);}
.clarity-heading .craft-line{color:#fff;margin-top:26px;opacity:calc(.45 + var(--resolve)*.55);}
.chapter-track{width:110px;height:2px;background:#ffffff40;margin-top:35px;}
.chapter-track span{display:block;height:100%;background:#fff;transform:scaleX(var(--resolve));transform-origin:left;}
.craft-composition{min-width:0;padding:45px 0;}
.craft-surface{aspect-ratio:1.6;position:relative;isolation:isolate;box-shadow:0 24px 65px #07146d40;}
.craft-tile{position:absolute;left:calc(var(--col)*100%/3);top:calc(var(--row)*100%/3);width:33.4%;height:33.4%;background-image:url('assets/previews/hero-fretspeak.jpg');background-size:300% 300%;background-position:calc(var(--col)*50%) calc(var(--row)*50%);transform:translate(calc(var(--dx)*(1 - var(--resolve))),calc(var(--dy)*(1 - var(--resolve)))) rotate(calc(var(--turn)*(1 - var(--resolve))));outline:1px solid #ffffff18;backface-visibility:hidden;}
.craft-film{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .3s;background:#11141e;}
.craft-composition.is-resolved .craft-film{opacity:1;}
.craft-credit{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;opacity:calc(.4 + var(--resolve)*.6);}
.craft-credit img{width:56px;height:56px;object-fit:contain;}
.craft-credit span{font-size:13px;color:#fff;}
.clarity-services .service-grid{gap:8%;margin-top:0;}
.clarity-services .service-grid article{border-color:#ffffff50;padding-top:24px;}
.clarity-services .service-index{color:#cdd6ff;font-size:14px;}
.clarity-services .service-grid h3{color:#fff;font-weight:500;font-size:clamp(26px,2.8vw,38px);}
.clarity-services .service-grid p{color:#e2e7ff;font-size:17px;}
.project-details{margin-top:8px;font-size:14px;}
.project .preview-toggle{font-size:13px;min-height:44px;}
.project .project-mark{max-width:55%;}
.reel-scene:nth-child(2) .reel-brand{background:#fff;}
.reel-scene:nth-child(3) .reel-brand{max-width:48%;height:54px;}
@media(max-width:850px){.wonder-sticky{grid-template-columns:1fr 1.1fr;gap:5%;}.clarity-services .clarity-heading{font-size:clamp(33px,4.8vw,45px);}.craft-tile{--dx:0px!important;}.wonder-chapter{min-height:620px;height:95vh;}}
@media(max-width:600px){.clarity-services{padding:32px 6% 38px!important;}.wonder-chapter{height:105vh;min-height:700px;}.wonder-sticky{top:24px;min-height:0;display:block;padding-top:10px;}.clarity-services .clarity-heading{font-size:clamp(29px,8.1vw,40px);margin:25px 0 0;}.clarity-heading br{display:none;}.clarity-heading .craft-line{margin-top:12px;}.chapter-track{margin-top:22px;width:75px;}.craft-composition{padding:65px 0 25px;}.craft-tile{--dx:0px!important;--dy:24px!important;}.craft-credit{margin-top:22px;}.craft-credit img{width:42px;height:42px;}.craft-credit span{font-size:12px;}.clarity-services .service-grid{gap:32px;}.clarity-services .service-grid p{font-size:16px;}.clarity-services .service-grid h3{font-size:28px;}.reel-scene:nth-child(3) .reel-brand{height:36px;}.project .preview-toggle{font-size:12px;}}
@media(prefers-reduced-motion:reduce){.wonder-letter{animation:none;}.wonder-chapter{height:auto;min-height:0;--resolve:1!important;}.wonder-sticky{position:relative;top:0;min-height:0;padding-bottom:45px;}.craft-film{transition:none;}.craft-tile{transform:none;}}
/* The closing gesture repeats the reveal rather than adding another effect. */
.work-signature,.contact-main,.founder{transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1);}
.closing-pending{opacity:0;transform:translateY(24px);}
.closing-arrived{opacity:1;transform:none;}
.contact-button{position:relative;overflow:hidden;isolation:isolate;transition:color .25s;}
.contact-button:before{content:'';position:absolute;inset:0;background:#fff;transform:translateX(-101%);transition:transform .35s cubic-bezier(.22,1,.36,1);z-index:-1;}
.contact-button:hover:before,.contact-button:focus-visible:before{transform:translateX(0);}
.contact-button:hover,.contact-button:focus-visible{color:#203dcb;}
@media(prefers-reduced-motion:reduce){.work-signature,.contact-main,.founder,.contact-button:before{transition:none;}.closing-pending{opacity:1;transform:none;}}
/* Keep project transitions transparent and the product interface whole. */
.reel-stage:after{display:none!important;animation:none!important;}
.reel-scene{transition:opacity .25s ease,visibility 0s linear .25s;}
.reel-scene.is-active{transition:opacity .25s ease,visibility 0s;}
.craft-film{opacity:1!important;}
.wonder-chapter{height:auto;min-height:0;}
.wonder-sticky{position:relative;top:0;min-height:0;padding:28px 0 55px;}
.clarity-heading .clarity-line,.clarity-heading .craft-line,.craft-credit{opacity:1;}
.chapter-track{display:none;}
@media(max-width:600px){.wonder-chapter{height:auto;min-height:0;}.wonder-sticky{padding:0 0 30px;}.craft-composition{padding:30px 0 0;}}
@media(prefers-reduced-motion:reduce){.reel-scene,.reel-scene.is-active{transition:none;}}
.clarity-services .service-index{font-size:13px;letter-spacing:.06em;margin-bottom:14px;color:#fff;}
.clarity-services .service-grid h3{font-family:var(--body);font-size:clamp(36px,3.5vw,50px);font-weight:600;letter-spacing:-.025em;line-height:1.12;margin-bottom:20px;}
.clarity-services .service-grid p{font-family:var(--body);font-size:18px;line-height:1.65;letter-spacing:0;font-weight:400;max-width:33ch;color:#fff;}
.clarity-services .clarity-heading{letter-spacing:-.035em;}
@media(max-width:600px){.clarity-services .service-grid h3{font-size:36px;}.clarity-services .service-grid p{font-size:16px;}}

/* One hierarchy: expressive statements, plain reading text, useful controls. */
.hero h1{letter-spacing:-.045em;font-weight:650;line-height:1.09;}
.hero .hero-offer{font-size:16px;letter-spacing:0;}
.reel-controls{gap:12px;flex-wrap:wrap;}
.reel-controls button{font-size:14px;min-height:44px;min-width:48px;}
.reel-counter{display:none;}
.reel-tabs{margin-left:0;gap:10px;}
.reel-pause{margin-left:auto!important;}
.clarity-services .clarity-heading{font-family:var(--body);font-size:clamp(40px,4.9vw,70px);font-weight:400;line-height:1.06;letter-spacing:-.035em;}
.clarity-heading strong{font-weight:650;}
.clarity-heading .craft-line strong{position:relative;display:inline-block;}
.clarity-heading .craft-line strong:after{content:'';display:block;height:3px;background:#fff;position:absolute;bottom:-5px;left:0;right:0;}
.clarity-heading .craft-line{margin-top:30px;}
.craft-credit img{width:80px;height:80px;}
.craft-toggle{color:#fff;background:transparent;border:1px solid #ffffff75;border-radius:2px;min-height:44px;padding:8px 14px;font-size:14px;}
.craft-toggle:hover{background:#ffffff15;}
.work-heading{margin-bottom:40px;}
.work-heading h2{font-weight:550;font-size:clamp(48px,6.8vw,96px);line-height:1.02;letter-spacing:-.045em;}
.work-heading h2 span{color:var(--accent);}
.section-label>span,.work .eyebrow,.contact .eyebrow{font-size:14px;}
.work .eyebrow{margin-bottom:20px;}
.signature-role,.signature-note{font-size:14px;letter-spacing:0;}
.signature-name{font-size:38px;}
.view-project{font-size:14px!important;min-height:44px;display:flex;align-items:center;}
.email{overflow-wrap:anywhere;}
.contact h2,.contact h2 em{letter-spacing:-.035em;}
@media(max-width:600px){.hero h1{font-size:clamp(34px,10.4vw,52px);}.reel-tabs{gap:4px;}.reel-controls{gap:4px;}.reel-controls button{padding:6px;font-size:14px;}.clarity-services .clarity-heading{font-size:clamp(34px,9vw,44px);}.clarity-heading .craft-line{margin-top:18px;}.craft-credit img{width:68px;height:68px;}.work-heading h2{font-size:clamp(44px,13vw,60px);}.signature-name{font-size:28px;}.signature-role,.signature-note{font-size:13px;}.project .preview-toggle{font-size:12px;}.view-project{font-size:12px!important;}.header nav a{min-height:44px;display:inline-flex;align-items:center;}}
.clarity-services .clarity-heading{letter-spacing:-.02em;}

/* Original Griffin James motion poster. The words carry the concept. */
.clarity-services{padding:42px 5% 52px!important;}
.process-poster{padding:32px 0 30px;}
.process-title{margin:0;font-family:var(--display);font-weight:550;line-height:1.02;letter-spacing:-.055em;color:#fff;}
.process-row{display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding:28px 0;}
.process-row+.process-row{border-top:1px solid #ffffff30;}
.process-word{position:relative;display:inline-block;font-size:clamp(80px,11.3vw,162px);line-height:1.12;isolation:isolate;}
.process-phrase{font-family:var(--body);font-size:clamp(23px,3vw,43px);font-weight:400;letter-spacing:-.025em;white-space:nowrap;}
.clarity-solid{position:relative;z-index:1;}
.clarity-echo{position:absolute;inset:0;color:transparent;-webkit-text-stroke:1px #ffffff;pointer-events:none;opacity:0;}
.echo-one{animation:focus-left 9s cubic-bezier(.22,1,.36,1) infinite;}
.echo-two{animation:focus-right 9s cubic-bezier(.22,1,.36,1) infinite;}
.craft-word{color:transparent;-webkit-text-stroke:1px #ffffff70;}
.craft-fill{position:absolute;inset:0;color:#fff;-webkit-text-stroke:0;clip-path:inset(0 0 0 0);animation:craft-draw 9s cubic-bezier(.65,0,.35,1) infinite;}
.process-footer{display:flex;align-items:center;gap:24px;margin-top:27px;}
.process-footer>img{width:29px;height:38px;object-fit:contain;}
.process-rule{height:1px;background:#ffffff30;flex:1;overflow:hidden;}
.process-rule i{height:1px;display:block;background:white;transform-origin:left;animation:craft-rule 9s ease-in-out infinite;}
.process-toggle{color:white;border:1px solid #ffffff66;background:transparent;font-size:14px;min-height:44px;padding:9px 15px;border-radius:2px;}
.process-toggle:hover{background:#ffffff12;}
.process-poster *{animation-play-state:paused;}
.process-running *{animation-play-state:running;}
.process-static .clarity-echo{display:none;}
.process-static .craft-fill{clip-path:none!important;animation:none;}
.process-static .process-rule i{animation:none;}
@keyframes focus-left{0%,7%{transform:translate(-15px,-4px);opacity:.3;}28%,82%{transform:translate(0,0);opacity:0;}94%,100%{transform:translate(-15px,-4px);opacity:.3;}}
@keyframes focus-right{0%,7%{transform:translate(15px,4px);opacity:.3;}28%,82%{transform:translate(0,0);opacity:0;}94%,100%{transform:translate(15px,4px);opacity:.3;}}
@keyframes craft-draw{0%,23%{clip-path:inset(0 100% 0 0);}56%,87%{clip-path:inset(0 0 0 0);}100%{clip-path:inset(0 100% 0 0);}}
@keyframes craft-rule{0%,23%{transform:scaleX(0);}56%,87%{transform:scaleX(1);}100%{transform:scaleX(0);}}
.clarity-services .service-grid{margin-top:30px;}
.clarity-services .service-grid article{border-top:1px solid #ffffff40;}
@media(max-width:850px){.process-word{font-size:11vw;}.process-phrase{font-size:3vw;}}
@media(max-width:600px){.clarity-services{padding:30px 7% 38px!important;}.process-poster{padding:14px 0 18px;}.process-row{display:block;padding:20px 0 24px;}.process-word{font-size:clamp(66px,18.3vw,100px);letter-spacing:-.055em;}.process-phrase{display:block;font-size:26px;margin-top:9px;letter-spacing:-.02em;}.process-footer{gap:18px;margin-top:17px;}.process-toggle{font-size:13px;padding:9px 12px;}.clarity-services .service-grid{margin-top:22px;}}
/* Cold-read refinements: clear positioning and a shorter route to the work. */
.hero-positioning{font-family:var(--body);font-size:18px;line-height:1.5;letter-spacing:0;color:var(--muted);max-width:33ch;margin-top:18px;}
.wonder-letter{font-style:normal!important;}
.clarity-services{padding-top:30px!important;padding-bottom:32px!important;}
.process-poster{padding-top:12px;padding-bottom:8px;}
.process-row{padding:16px 0;}
.process-word{font-size:clamp(64px,8.7vw,120px);}
.clarity-solid{display:inline-block;animation:clarity-settle 8s ease-in-out infinite;}
@keyframes clarity-settle{0%,10%{opacity:.75;}30%,100%{opacity:1;}}
.process-static .clarity-solid{animation:none;}
.process-footer{margin-top:14px;}
.clarity-services .service-grid{margin-top:20px;}
.clarity-services .service-grid article{padding-top:18px;}
.clarity-services .service-grid h3{font-size:36px;margin-bottom:12px;}
.clarity-services .service-index{margin-bottom:8px;}
@media(max-width:600px){.hero-positioning{font-size:16px;max-width:32ch;margin-top:13px;}.process-word{font-size:clamp(54px,16.5vw,78px);}.process-row{padding:12px 0 16px;}.process-phrase{font-size:23px;margin-top:5px;}.process-poster{padding-top:12px;}.clarity-services .service-grid{gap:22px;}.clarity-services .service-grid h3{font-size:30px;}}

@font-face{font-family:Fraunces;src:url('assets/fraunces.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:Bricolage;src:url('assets/bricolage.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;}
.hero h1 .advisory-word{font-family:Fraunces,Georgia,serif;font-weight:650;font-size:1.18em;letter-spacing:-.06em;line-height:1.05;margin-bottom:8px;}
.hero h1 .wonder-letter{font-family:inherit;font-style:normal;font-weight:inherit;}
.hero h1 .build-word{font-family:Bricolage,Arial,sans-serif;font-weight:700;letter-spacing:-.055em;}
.hero h1{font-size:clamp(44px,5.4vw,78px);}
.process-word{font-family:Bricolage,Arial,sans-serif;font-weight:650;letter-spacing:-.045em;}
.craft-word{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(70px,9.5vw,132px);letter-spacing:-.045em;}
.process-title .clarity-solid{animation:none;opacity:1;}
.craft-fill{animation:craft-finish 2.4s cubic-bezier(.22,1,.36,1) .25s 1 both;}
.process-rule i{animation:rule-finish 2.4s cubic-bezier(.22,1,.36,1) .25s 1 both;}
@keyframes craft-finish{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes rule-finish{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.process-poster *{animation-play-state:paused;}.process-running *{animation-play-state:running;}
.work-heading h2{font-family:Bricolage,Arial,sans-serif;font-weight:650;}
.work-heading h2 span{font-family:Fraunces,Georgia,serif;font-weight:600;}
.contact h2{font-family:Bricolage,Arial,sans-serif;}.contact h2 em{font-family:Fraunces,Georgia,serif;font-weight:600;}
.reel-stage{background:#10141c;}.reel-scene{transition:opacity .2s ease,visibility 0s .2s;}.reel-scene.is-active{transition:opacity .2s ease,visibility 0s;}
.project .project-browser{transform:none!important;animation:none!important;transition:none!important;}
@media(max-width:600px){.hero h1{font-size:clamp(34px,10.4vw,52px);}.hero h1 .advisory-word{font-size:1.24em;}.craft-word{font-size:clamp(62px,18vw,88px);}}
@media(prefers-reduced-motion:reduce){.craft-fill,.process-rule i{animation:none!important;clip-path:none;transform:none;}.reel-scene,.reel-scene.is-active{transition:none;}}
/* Avoid replaying a legacy whole-heading entrance at breakpoint changes. */
.hero-top h1{animation:none!important;opacity:1;transform:none;}

/* Reading hierarchy shared by the entire site. */
body{font-weight:400;letter-spacing:0;}
.hero-positioning{font-family:Geist,Arial,sans-serif;font-size:clamp(21px,1.65vw,24px);line-height:1.45;font-weight:400;letter-spacing:-.012em;color:#303b35;max-width:36ch;margin-top:22px;}
.hero-positioning strong{font-weight:600;color:var(--ink);}
.hero .hero-offer{font-size:15px;font-weight:550;letter-spacing:.035em;margin-top:25px;}
.header nav{font-size:15px;}.header nav a{min-height:44px;display:inline-flex;align-items:center;}
.clarity-services .service-grid h3{font-family:Bricolage,Arial,sans-serif;font-weight:650;letter-spacing:-.025em;}
.clarity-services .service-grid p{font-size:20px;line-height:1.55;letter-spacing:0;font-weight:400;max-width:31ch;}
.process-phrase{font-weight:400;letter-spacing:-.015em;}
.service-index{font-size:14px!important;}
.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;background:var(--project-bg);color:var(--project-fg);}
.project-actions{display:flex;align-items:center;gap:22px;flex-shrink:0;}
.project .project-toolbar .project-mark{position:static;width:210px;max-width:45%;height:72px;min-height:0;padding:0;margin:0;}
.project .project-toolbar .project-mark img{width:100%!important;height:100%;max-height:72px;object-fit:contain;object-position:left center;margin:0;}
.project.project-jones .project-toolbar .project-mark{width:300px;max-width:48%;}
.project .project-toolbar .preview-toggle{position:static;font-family:Geist,Arial,sans-serif;font-size:14px;font-weight:500;min-height:44px;padding:10px 14px;box-shadow:none;}
.project-open{font-size:14px;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid currentColor;white-space:nowrap;}
.project .project-image{padding:0 22px 22px;gap:0;border-top:0;}
.project-details{font-size:14px;min-height:44px;color:#354039;}
#project-dialog h2{font-family:Bricolage,Arial,sans-serif;font-size:40px;font-weight:650;letter-spacing:-.025em;}
#project-dialog p{font-size:18px;line-height:1.6;letter-spacing:0;}
#project-dialog h3{font-family:Geist,Arial,sans-serif;font-size:15px;font-weight:600;letter-spacing:0;}
#project-dialog .eyebrow{font-size:13px;letter-spacing:.04em;}
.detail-close{font-size:15px;min-height:44px;}
.signature-role,.signature-note{font-size:15px;line-height:1.5;letter-spacing:0;color:#414c46;}
.contact-main>p:not(.eyebrow),.founder p{font-size:20px;line-height:1.6;letter-spacing:0;max-width:34ch;}
.founder h3{font-family:Bricolage,Arial,sans-serif;font-size:30px;letter-spacing:-.025em;}
.contact .text-link,.contact-button,.contact .email{font-size:16px;min-height:44px;}
footer p,footer>span{font-size:14px;letter-spacing:0;color:#414c46;}
.work-signature,.contact-main,.founder{opacity:1!important;transform:none!important;}
@media(max-width:600px){.hero-positioning{font-size:18px;line-height:1.5;margin-top:18px;max-width:34ch;}.position-break{display:none;}.hero .hero-offer{font-size:14px;margin-top:20px;}.header nav{font-size:14px;}.clarity-services .service-grid p{font-size:18px;}.project-toolbar{padding:18px 14px 14px;flex-wrap:wrap;gap:12px;}.project .project-toolbar .project-mark{width:210px;max-width:100%;height:64px;}.project.project-jones .project-toolbar .project-mark{width:270px;max-width:100%;}.project-actions{width:100%;justify-content:space-between;gap:14px;}.project .project-toolbar .preview-toggle,.project-open{font-size:14px;}.project .project-image{padding:0 14px 14px;}.signature-role,.signature-note{font-size:14px;}.contact-main>p:not(.eyebrow),.founder p{font-size:18px;}.founder h3{font-size:28px;}#project-dialog h2{font-size:32px;}#project-dialog p{font-size:17px;}footer{flex-wrap:wrap;gap:18px;}footer p,footer>span{font-size:14px;}}

/* Persistent visual cover prevents a cleared mobile video surface becoming a blank card. */
.project-browser{position:relative;}
.project .project-browser .preview-fallback{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:contain;object-position:center;z-index:2;pointer-events:none;opacity:1;}
.project.video-ready .preview-fallback{opacity:0;}
.project .project-open{font-family:Geist,Arial,sans-serif;font-size:17px;font-weight:550;gap:12px;min-height:48px;padding:6px 0;border-bottom:1px solid currentColor;}
.project-open svg{width:21px;height:21px;flex:none;}
@media(max-width:600px){.project-actions{width:auto;margin-left:auto;justify-content:flex-end;}.project .project-open{font-size:16px;}.project .project-toolbar .project-mark{max-width:58%;}.project-toolbar{align-items:center;}.project-open svg{width:20px;height:20px;}}

.link-arrow{width:22px;height:22px;display:inline-block;flex-shrink:0;vertical-align:middle;}
.contact-button,.nav-contact,.text-link{display:inline-flex;align-items:center;gap:14px;}
.contact-button .link-arrow{width:24px;height:24px;margin-left:auto;}
.nav-contact .link-arrow{width:20px;height:20px;}
/* Give the offering a clear second level in the hero. */
.hero .hero-offer{font-family:Bricolage,Arial,sans-serif;font-size:clamp(26px,2.5vw,36px);font-weight:650;line-height:1.15;letter-spacing:-.025em;margin-top:28px;color:var(--ink);}
.clarity-services>.section-label>span{font-size:16px;font-weight:650;letter-spacing:.075em;}
@media(max-width:600px){.hero .hero-offer{font-size:28px;margin-top:24px;}.clarity-services>.section-label>span{font-size:15px;}}

.header .nav-contact{white-space:nowrap;flex-shrink:0;gap:12px;}
@media(max-width:600px){.header nav{flex-shrink:0;}.header .nav-contact{width:auto;min-width:0;gap:10px;}}

/* A paired typographic composition with an original light response. */
.clarity-services{background:#f0f0ea!important;color:#17201d;padding:30px 0 34px!important;}
.clarity-services>.section-label{padding:0 32px;}.clarity-services>.section-label>span{color:#203dcb;}
.process-poster{padding:0;--light:50%;}
.process-title{display:grid;grid-template-columns:1fr 1fr;gap:0;letter-spacing:-.055em;margin:24px 0 0;}
.process-row{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px;padding:56px 32px 42px;min-width:0;min-height:310px;overflow:hidden;}
.process-row+.process-row{border:0;}
.clarity-row{background:#eceee5;color:#17201d;}
.craft-row{background:#102137;color:#fff;isolation:isolate;}
.craft-row:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,#112239 15%,#234b79 48%,#142537 75%);transform:translateX(calc((var(--light) - 50%)*.25));transition:transform .3s ease;}
.process-word,.craft-word{font-size:clamp(62px,7.5vw,108px);line-height:1.15;white-space:nowrap;letter-spacing:-.055em;}
.clarity-solid{display:block;animation:none!important;}
.clarity-solid:after{content:'';display:block;height:2px;background:#203dcb;transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.22,1,.36,1) .5s;}
.process-settled .clarity-solid:after{transform:scaleX(1);}
.process-letter{display:inline-block;}
.craft-word{color:#fff;-webkit-text-stroke:0;filter:drop-shadow(0 3px 0 #080e1a) drop-shadow(0 12px 16px #0005);}
.craft-word .process-letter{background:linear-gradient(110deg,#f8fcff 10%,#a9c9f7 38%,#fff 52%,#d0dffa 72%,#f5faff 90%);background-size:220% 100%;background-position:var(--light) 50%;background-clip:text;-webkit-background-clip:text;color:transparent;}
.process-phrase{font-size:clamp(21px,2.3vw,31px);letter-spacing:-.015em;white-space:normal;}
.process-footer{padding:20px 32px;margin:0;}
.process-footer>img{filter:invert(1);}
.process-rule{background:#203dcb30;}.process-rule i{background:#203dcb;animation:none;transform:scaleX(1);}
.process-toggle{color:#203dcb;border-color:#203dcb66;}.process-toggle:hover{background:#203dcb0a;}
.clarity-services .service-grid{padding:0 32px;gap:7%;margin-top:6px;}
.clarity-services .service-grid article{border-top:1px solid #17201d30;}
.clarity-services .service-grid h3{color:#17201d;}.clarity-services .service-index{color:#4b5b65;}
.clarity-services .service-grid p{color:#303e44;}
@media(max-width:850px){.process-word,.craft-word{font-size:8vw;}.process-row{padding:35px 24px;min-height:250px;}}
@media(max-width:600px){.clarity-services{padding:24px 0 28px!important;}.clarity-services>.section-label{padding:0 24px;}.process-title{grid-template-columns:1fr;margin-top:20px;}.process-row{min-height:210px;padding:32px 24px;gap:14px;}.process-word,.craft-word{font-size:clamp(60px,17vw,86px);}.process-phrase{font-size:25px;}.process-footer{padding:18px 24px;}.clarity-services .service-grid{padding:0 24px;}.process-toggle{min-width:118px;}}
@media(prefers-reduced-motion:reduce){.craft-row:before,.clarity-solid:after{transition:none;}.clarity-solid:after{transform:scaleX(1);}}
.hero h1,.hero h1 .advisory-word{overflow:visible!important;}
.hero h1 .wonder-letter{animation:none!important;transform-origin:50% 85%;}
/* Compact mobile reel and an animated invitation. */
@media(max-width:600px){.reel-tabs{display:none!important;}.reel-controls{justify-content:flex-end;}}
.contact-button{position:relative!important;isolation:isolate;overflow:hidden;min-height:76px!important;width:min(100%,330px);padding:18px 22px!important;border-radius:5px;box-shadow:0 8px 35px #0002;transition:transform .25s,box-shadow .25s;background:#dce3ff!important;}
.contact-button .link-arrow{box-sizing:content-box;padding:13px;border-radius:50%;background:#263fc9;color:#fff;width:23px;height:23px;position:relative;}
.contact-button:before{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid #ffffffaa;pointer-events:none;}
.contact-button:hover,.contact-button:focus-visible{transform:translateY(-3px);box-shadow:0 14px 40px #728bff35;}
.contact-button .cta-trace{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);pointer-events:none;color:#3d55d7;}
.contact-button .cta-trace rect{stroke-dasharray:24 176;stroke-dashoffset:0;animation:invitation-trace 5s linear infinite;animation-play-state:paused;}
.contact-button .link-arrow path{animation:invitation-arrow 3s cubic-bezier(.22,1,.36,1) infinite;animation-play-state:paused;}
.contact-in-view .cta-trace rect,.contact-in-view .link-arrow path{animation-play-state:running;}
@keyframes invitation-trace{to{stroke-dashoffset:-200;}}
@keyframes invitation-arrow{0%,65%,100%{transform:translate(0,0)}75%{transform:translate(3px,-3px)}85%{transform:translate(-1px,1px)}}
@media(prefers-reduced-motion:reduce){.contact-button .cta-trace rect,.contact-button .link-arrow path{animation:none;}.contact-button{transition:none;}}

/* Stationary typography; motion is carried by diagrams rather than letters. */
.clarity-services{padding:0!important;}.process-title{margin:0!important;}.process-row{gap:14px;padding-bottom:24px;}
.process-letter{transform:none!important;animation:none!important;opacity:1!important;}
.clarity-solid:after{display:none!important;}.craft-row:before{transform:none!important;transition:none!important;}
.process-drawing{width:min(100%,330px);height:80px;margin-top:14px;overflow:visible;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
.clarity-drawing{stroke:#203dcb;}.craft-drawing{stroke:#c4d8ff;}
.clarity-drawing path{stroke-dasharray:22 8;animation:clarity-flow 4s linear infinite;animation-delay:calc(var(--i)*-.3s);}
.craft-drawing path{stroke-dasharray:100;animation:craft-form 6s ease-in-out infinite;animation-delay:calc(var(--i)*.16s);}
.process-drawing path{animation-play-state:paused;}.process-running .process-drawing path{animation-play-state:running;}
@keyframes clarity-flow{to{stroke-dashoffset:-60;}}
@keyframes craft-form{0%,100%{stroke-dashoffset:100;opacity:.2;}35%,75%{stroke-dashoffset:0;opacity:1;}}
@media(max-width:600px){.process-row{padding:30px 24px 24px;}.process-drawing{height:70px;}}
@media(prefers-reduced-motion:reduce){.process-drawing path{animation:none;stroke-dasharray:none;stroke-dashoffset:0;opacity:1;}}

/* No empty control row beneath the mobile reel. */
@media(max-width:600px){.reel-controls{display:none}}
