:root{--blue:#2d43ef;--lime:#dfff70;--ink:#161923;--muted:#5b5e69;--line:#dedfe7;--paper:#fff;--soft:#f3f4f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%;height:auto}header,.hero,.section,.brand-strip,footer{padding-left:max(6vw,24px);padding-right:max(6vw,24px)}header{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.logo{font-weight:900;font-size:29px;letter-spacing:-1.5px}.logo span{color:var(--blue);font-size:16px;vertical-align:top;margin-left:4px}nav{display:flex;gap:35px;font-size:15px}nav a:hover,.text-link:hover{color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 29px;border:1px solid var(--ink);border-radius:40px;font-size:15px;font-weight:700;transition:transform .2s,background .2s;min-height:48px}.button:hover{transform:translateY(-3px);background:var(--lime);color:var(--ink)}.small{padding:11px 24px}.blue{background:var(--blue);color:white;border-color:var(--blue)}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:5vw;align-items:center;padding-top:70px;padding-bottom:80px;overflow:hidden}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;margin:0 0 26px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(48px,5.5vw,84px);letter-spacing:-4px;line-height:1.07;margin-bottom:29px;font-weight:800}h1 span{color:var(--blue)}.intro{color:var(--muted);max-width:480px;font-size:18px;line-height:1.65}.actions{display:flex;gap:25px;align-items:center;margin-top:30px}.text-link{font-size:15px;font-weight:700;border-bottom:1px solid}.availability{font-size:13px;color:var(--muted);margin:23px 0 0}.portrait-wrap{position:relative;padding:22px 15px 35px}.portrait-panel{background:var(--blue);border-radius:130px 130px 22px 22px;overflow:hidden;height:480px;transform:rotate(3deg);border:12px solid var(--blue)}.portrait-panel img{width:100%;height:100%;object-fit:cover;object-position:center 37%;transform:rotate(-3deg) scale(1.09)}.portrait-label{position:absolute;top:0;right:-5px;background:var(--lime);font-size:12px;line-height:1.35;font-weight:800;letter-spacing:1px;padding:18px;transform:rotate(7deg);border:1px solid var(--ink)}.name-tag{position:absolute;bottom:14px;left:-8px;background:white;border:1px solid var(--ink);border-radius:50px;padding:14px 28px;font-weight:700;transform:rotate(-5deg);box-shadow:5px 5px 0 var(--lime)}.brand-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:25px;padding-bottom:30px}.brand-strip p{font-size:12px;letter-spacing:1.7px;color:var(--muted);text-align:center;margin-bottom:20px}.brand-strip>div{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}.brand-strip span{font-weight:800;font-size:clamp(15px,1.65vw,24px);letter-spacing:-.6px}.section{padding-top:95px;padding-bottom:95px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:48px}h2{font-size:clamp(38px,4.3vw,65px);line-height:1.12;letter-spacing:-2.5px;margin-bottom:0}em{font-style:normal;color:var(--blue)}.section-heading>p{color:var(--muted);max-width:340px;margin-bottom:5px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.video-shell{background:#141822;border-radius:18px;overflow:hidden;height:460px}.video-shell video{height:100%;width:100%;object-fit:cover;display:block}.project-meta{padding-top:23px}.project-meta span{font-size:12px;letter-spacing:1px;font-weight:700;color:var(--muted)}h3{font-size:25px;line-height:1.25;letter-spacing:-.6px;margin:10px 0 12px}.project-meta p{color:var(--muted);font-size:15px;max-width:310px}.case-study{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;background:var(--soft);border-radius:20px;padding:45px;margin-top:70px;align-items:center}.case-study h3{font-size:38px;letter-spacing:-1.2px}.case-study p{color:var(--muted)}.case-study img{width:100%;max-height:440px;object-fit:contain;border-radius:12px}details{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}summary{cursor:pointer;font-weight:700;font-size:15px;min-height:35px}.detail-content{padding-top:20px}.detail-content h4{margin-bottom:5px}.results{margin-top:45px;display:grid;grid-template-columns:1.3fr .7fr .7fr .9fr;gap:25px;align-items:center;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.results .eyebrow{margin-bottom:10px}.results h3{font-size:24px}.results p{font-size:13px;color:var(--muted);margin-bottom:0}.metric strong{font-size:clamp(24px,2.5vw,38px);letter-spacing:-1.2px;display:block;color:var(--blue);line-height:1.3}.metric span{font-size:14px;color:var(--muted)}.graphics{margin-top:65px}.graphics h3{font-size:32px;margin-bottom:30px}.graphics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.graphics-grid img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--soft);border-radius:12px}.services{background:var(--blue);color:white}.services em{color:var(--lime)}.services .section-heading>p{color:#e0e4ff}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 55px}.service-grid article{border-top:1px solid #8390ff;padding:30px 0}.service-grid h3{font-size:30px}.number{color:var(--lime);font-size:14px;letter-spacing:1px}.service-grid p{color:#e0e4ff;max-width:430px}.service-grid ul{padding-left:20px;color:#e0e4ff;margin-bottom:0}.service-grid li{padding:3px 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about h2{font-size:clamp(35px,3.7vw,54px)}.signature{font-weight:800;font-size:24px;color:var(--blue);margin-top:40px;letter-spacing:-.8px}.about p:not(.eyebrow){color:var(--muted)}.about .large-text{font-size:27px!important;color:var(--ink)!important;font-weight:700;line-height:1.3}.tools{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.tools span{border:1px solid var(--line);border-radius:40px;padding:6px 14px;font-size:13px}.process{padding-top:45px;border-top:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process-grid span{font-size:12px;letter-spacing:1px;font-weight:700;color:var(--blue)}.process-grid h3{font-size:23px}.process-grid p{color:var(--muted);font-size:15px}.contact{background:var(--lime);text-align:center;padding-top:85px;padding-bottom:40px}.contact h2{margin-bottom:35px}.contact .button{background:var(--ink);color:white;padding:17px 38px}.contact .button:hover{background:var(--blue)}.contact-bottom{border-top:1px solid #b5ca62;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:70px;padding-top:25px;font-size:14px}.contact-bottom p{margin:0}.contact-bottom a{border-bottom:1px solid}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:30px;padding-bottom:30px}footer p,footer>a:last-child{font-size:13px;color:var(--muted);margin:0}.skip{position:absolute;top:-60px;background:var(--ink);color:white;z-index:10;padding:10px}.skip:focus{top:0}@media(min-width:1550px){header,.hero,.section,.brand-strip,footer{padding-left:calc((100vw - 1360px)/2);padding-right:calc((100vw - 1360px)/2)}}@media(max-width:1000px){h1{letter-spacing:-2.5px}.hero{gap:30px}.portrait-panel{height:410px}.video-shell{height:390px}.results{grid-template-columns:repeat(3,1fr)}.results>div:first-child{grid-column:1/-1}.case-study{gap:30px;padding:30px}.contact-bottom{flex-wrap:wrap}.contact-bottom p{width:100%}.about{gap:35px}}@media(max-width:700px){header{height:80px;gap:14px}.logo{font-size:25px}nav{gap:16px;font-size:14px}nav a:nth-child(2){display:none}.small{padding:9px 15px;font-size:13px}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:45px;gap:25px}.hero h1{font-size:clamp(44px,9.2vw,64px);letter-spacing:-2.5px}.hero .eyebrow{font-size:11px;letter-spacing:1px}.intro{font-size:17px}.portrait-wrap{max-width:440px;width:100%;margin:0 auto;padding:20px 18px 30px}.portrait-panel{height:420px;border-radius:100px 100px 20px 20px}.portrait-label{right:4px}.name-tag{left:3px}.brand-strip>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:center}.brand-strip span{font-size:15px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:none;margin-top:22px}h2{font-size:42px;letter-spacing:-1.8px}.video-grid{grid-template-columns:1fr;gap:35px}.video-shell{height:auto;aspect-ratio:9/13;max-height:560px}.video-shell video{object-fit:contain;background:#10131b}.project-meta p{max-width:none}.case-study{grid-template-columns:1fr;padding:25px;gap:25px;margin-top:40px}.case-study h3{font-size:32px}.case-study img{max-height:330px}.results{grid-template-columns:1fr 1fr;gap:25px}.metric:last-child{grid-column:1/-1}.metric strong{font-size:31px}.graphics{margin-top:40px}.graphics h3{font-size:28px}.graphics-grid{grid-template-columns:1fr 1fr;gap:15px}.graphics-grid img:last-child{grid-column:1/-1;max-width:340px;justify-self:center}.service-grid{grid-template-columns:1fr;gap:0}.service-grid h3{font-size:28px}.about{grid-template-columns:1fr;gap:30px}.signature{margin-top:25px}.process-grid{grid-template-columns:1fr;gap:20px}.contact h2{font-size:38px}.contact-bottom{margin-top:45px;justify-content:center}.contact-bottom p{font-size:14px}footer{flex-wrap:wrap;gap:15px}footer .logo{width:100%}.availability{font-size:12px}}@media(max-width:380px){nav{display:none}h1{font-size:42px!important}.actions{gap:15px}.button{padding-left:22px;padding-right:22px}.portrait-panel{height:350px}.contact h2{font-size:33px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
/* Warm editorial palette and quieter composition. */
:root{--blue:#806044;--lime:#e7dbca;--ink:#29251f;--muted:#6b635a;--line:#dcd2c5;--paper:#faf7f1;--soft:#f0e9df}
body{background:var(--paper)}header{border-bottom-color:var(--line)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px}h1{line-height:1.12}h1 span{font-style:italic}h2 em{font-style:italic}.hero{padding-top:80px;padding-bottom:85px}.portrait-panel{background:#ded0be;border-color:#ded0be;transform:none;border-radius:150px 150px 14px 14px;border-width:8px}.portrait-panel img{transform:none;object-position:center 37%}.portrait-label{background:#eee5d8;color:#54432f;border:0;transform:none;font-size:11px;letter-spacing:1.4px;right:0;top:8px;padding:18px 23px}.name-tag{background:var(--paper);border-color:var(--line);box-shadow:none;transform:none;left:0;bottom:7px;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:21px}.button{border-radius:5px}.blue{background:var(--ink);border-color:var(--ink)}.button:hover{background:#e8ddce}.blue:hover{color:var(--ink)}.brand-strip{background:#f3ede4}.brand-strip span{color:#5d5347}.case-study{border-radius:8px}.video-shell{border-radius:8px}.graphics-grid img{border-radius:6px}.services{background:#eee5d8;color:var(--ink)}.services em{color:var(--blue)}.services .section-heading>p,.service-grid p,.service-grid ul{color:var(--muted)}.service-grid article{border-color:#cdbda9}.number{color:var(--blue)}.tools span{background:#f3ede4;border-radius:5px}.contact{background:#332c24;color:#faf7f1}.contact em{color:#d9bea0}.contact .button{background:#e7d5bd;color:#30271e;border-color:#e7d5bd}.contact .button:hover{background:#f2e7d8}.contact-bottom{border-color:#665849;color:#e3d8ca}.contact-bottom a{border-color:#b49b80}.contact .eyebrow{color:#d9bea0}.metric strong{font-weight:500}.signature{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic}.logo span{color:var(--blue)}
@media(max-width:700px){.hero{padding-top:45px;padding-bottom:50px}h1{letter-spacing:-1.8px!important}.portrait-panel{border-radius:130px 130px 12px 12px}.portrait-label{right:5px}.contact h2{line-height:1.2}}
/* Standalone portrait, without a decorative frame or overlay labels. */
.portrait-wrap{padding:0;max-width:100%;background:none;border:0;box-shadow:none}
.portrait-wrap>img{display:block;width:100%;height:480px;object-fit:cover;object-position:center 37%;border:0;border-radius:0;box-shadow:none}
@media(max-width:1000px){.portrait-wrap>img{height:410px}}
@media(max-width:700px){.portrait-wrap{padding:0;max-width:440px}.portrait-wrap>img{height:auto;max-height:560px;object-fit:contain}}
/* Restrained motion and warm frosted glass. */
header{position:sticky;top:0;z-index:20;background:rgba(250,247,241,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 5px 24px rgba(51,44,36,.035)}
.tools span{background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:rgba(128,96,68,.18)}
.case-study{background:linear-gradient(120deg,rgba(240,233,223,.8),rgba(255,255,255,.48));border:1px solid rgba(128,96,68,.13);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.button{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.button:hover{box-shadow:0 8px 20px rgba(51,44,36,.1)}
nav a{transition:color .2s ease}.video-grid article,.graphics-grid img{transition:transform .35s ease,box-shadow .35s ease}.video-grid article:hover{transform:translateY(-5px)}.graphics-grid img:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(51,44,36,.09)}
.reveal-ready{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none;transition:none}.video-grid article,.graphics-grid img,.button,nav a{transition:none}.video-grid article:hover,.graphics-grid img:hover,.button:hover{transform:none}}

/* Homepage entrance: a short, staggered sequence on each page visit. */
@keyframes home-enter {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes home-portrait-enter {
  from { opacity: 0; transform: translateY(12px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: no-preference) {
  header > * {
    animation: home-enter .55s cubic-bezier(.22,1,.36,1) both;
  }
  header nav { animation-delay: .06s; }
  header > .button { animation-delay: .12s; }
  .hero-copy > * {
    animation: home-enter .75s cubic-bezier(.22,1,.36,1) both;
  }
  .hero-copy > .eyebrow { animation-delay: .1s; }
  .hero-copy > h1 { animation-delay: .18s; }
  .hero-copy > .intro { animation-delay: .28s; }
  .hero-copy > .actions { animation-delay: .38s; }
  .hero-copy > .availability { animation-delay: .46s; }
  .portrait-wrap > img {
    animation: home-portrait-enter 1s cubic-bezier(.22,1,.36,1) .22s both;
  }
  header:focus-within > *, .hero-copy:focus-within > * {
    animation: none;
  }
}
