:root{--primary:#0B1020;--secondary:#6D5EF5;--paper:#F7F7F5;--surface:#E9E9E5;--muted:#A2A5AE;--ink:#171A23;--body:#555B68;--line:#d7d8d1;--white:#fff;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:100}.progress span{display:block;height:100%;width:0;background:var(--secondary)}.site-header{height:88px;width:min(1240px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:"Space Grotesk";font-size:12px;letter-spacing:.08em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:700}.brand b{font-weight:700}.nav{display:flex;gap:30px;font-size:13px;color:var(--body)}.nav a{padding:5px 0;position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--secondary);transition:width .25s var(--ease)}.nav a:hover:after,.nav a.active:after{width:100%}.header-cta{font-size:13px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:5px}.menu{display:none;border:0;background:none;font-size:22px}.section{width:min(1240px,calc(100% - 80px));margin:auto}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.16em;font-weight:700;color:#6b707b;margin:0 0 24px}.eyebrow span{display:inline-block;width:22px;height:1px;background:var(--secondary);vertical-align:middle;margin-right:10px}.hero{min-height:700px;padding:120px 0 100px;display:grid;grid-template-columns:1fr 1.04fr;gap:70px;align-items:center}.hero h1,.statement h2,.section-head h2,.page-hero h1,.services-page h2,.about-story h2,.values h2,.portfolio-copy h2,.review-form-wrap h2,.review-project-template h2,.contact-intro h1,.cta-band h2{font-family:"Space Grotesk";letter-spacing:-.055em;line-height:.98;margin:0}.hero h1{font-size:clamp(54px,6.1vw,88px);font-weight:500}.hero h1 em,.page-hero h1 em,.section-head h2 em,.services-page h2 em,.about-story h2 em,.values h2 em,.portfolio-copy h2 em,.review-form-wrap h2 em,.review-project-template h2 em,.contact-intro h1 em,.cta-band h2 em{font-style:normal;color:var(--secondary)}.hero-lead,.page-hero>p:last-child,.contact-intro>p:last-child{color:var(--body);font-size:17px;max-width:560px;margin-top:34px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:40px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:16px 21px;font-size:13px;font-weight:700;border:0;cursor:pointer}.button-primary{background:var(--primary);color:#fff;transition:transform .2s var(--ease),background .2s}.button-primary:hover{transform:translateY(-3px);background:#171d31}.button-light{background:#fff;color:var(--primary);transition:transform .2s var(--ease)}.button-light:hover{transform:translateY(-3px)}.text-link,.arrow-link{font-size:13px;font-weight:600;transition:transform .2s var(--ease),color .2s}.text-link:hover,.arrow-link:hover{color:var(--secondary);transform:translateX(4px)}.hero-visual{position:relative}.visual-note{position:absolute;top:-30px;right:0;font:700 10px/1 Inter;letter-spacing:.15em;color:#8a8e97}.browser{background:#fff;border:1px solid #d7d7d0;box-shadow:28px 28px 70px rgba(11,16,32,.11);transform:rotate(1.2deg);transition:transform .45s var(--ease)}.hero-visual:hover .browser{transform:rotate(0) translateY(-4px)}.browser-bar{height:36px;border-bottom:1px solid #e2e2dd;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:8px;color:#9a9da4}.browser-bar i{width:7px;height:7px;border-radius:50%;background:#d7d8d3}.browser-bar span{margin:auto}.browser-body{padding:26px;background:#f1f2ed;min-height:420px}.mock-nav{display:flex;justify-content:space-between;font-size:9px;color:#777d87}.mock-nav strong{font:700 12px "Space Grotesk";color:var(--ink)}.mock-nav b{color:var(--ink)}.mock-hero{padding:82px 45px 50px;background:var(--primary);color:#fff;margin-top:24px}.mock-hero small{font-size:8px;letter-spacing:.15em;color:#b9b9ff}.mock-hero h2{font:500 42px/.95 "Space Grotesk";letter-spacing:-.05em;margin:17px 0}.mock-line{height:1px;background:#41485c;width:80%}.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#fff}.mock-grid div{padding:19px;border-right:1px solid #e1e1dc}.mock-grid span{display:block;font-size:8px;color:#9ca0a7;margin-bottom:15px}.mock-grid b{font:600 12px "Space Grotesk"}.floating-label{position:absolute;left:-26px;bottom:38px;background:var(--secondary);color:#fff;padding:14px 17px;font-size:9px;line-height:1.4;letter-spacing:.1em;box-shadow:10px 14px 30px rgba(109,94,245,.25)}.statement{display:grid;grid-template-columns:1fr 2.2fr;gap:80px;padding:150px 0;border-top:1px solid var(--line)}.statement h2{font-size:clamp(42px,4.6vw,66px);font-weight:500}.statement h2 span{color:#8e9198}.statement p{max-width:560px;color:var(--body);font-size:16px;margin-top:30px}.home-services,.home-work,.belief{padding:120px 0}.home-services,.home-work{border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.section-head h2{font-size:clamp(44px,5vw,70px);font-weight:500}.service-preview{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfd0ca}.service-preview>div{padding:30px 25px 10px;border-right:1px solid #cfd0ca}.service-preview>div:first-child{padding-left:0}.service-preview span{font:700 10px "Space Grotesk";color:#999ea7}.service-preview h3{font:500 28px "Space Grotesk";margin:35px 0 10px}.service-preview p{color:var(--body);font-size:14px;max-width:340px}.project-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}.project-tile{min-height:420px;display:flex;flex-direction:column;justify-content:end;padding:28px;position:relative;overflow:hidden;transition:transform .3s var(--ease)}.project-tile:hover{transform:translateY(-7px)}.project-tile span{position:absolute;top:18px;left:20px;font:700 10px "Space Grotesk"}.project-tile b{font:600 34px "Space Grotesk";letter-spacing:-.04em}.project-tile small{font-size:9px;letter-spacing:.14em;margin-top:5px}.project-one{background:#dfe2e7}.project-two{background:#dedaf4}.project-three{background:#d9ded9}.belief{display:grid;grid-template-columns:180px 1fr;gap:80px;align-items:center}.belief-number{width:120px;height:120px;border:1px solid #c7c8c2;border-radius:50%;display:grid;place-items:center;font:700 30px "Space Grotesk";color:var(--secondary)}.belief h2{font:500 clamp(44px,5vw,68px)/.98 "Space Grotesk";letter-spacing:-.055em}.cta-band{background:var(--primary);color:#fff;padding:110px max(40px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:end;gap:60px}.cta-band h2{font-size:clamp(52px,6vw,80px);font-weight:500}.page-hero{padding:120px 0 100px}.page-hero h1{font-size:clamp(58px,7vw,100px);font-weight:500}.page-hero>p:last-child{max-width:650px}.services-page{border-top:1px solid var(--line)}.service-detail{display:grid;grid-template-columns:80px 1fr;gap:30px;padding:70px 0;border-bottom:1px solid var(--line)}.service-detail>span{font:700 11px "Space Grotesk";color:#9da1aa}.service-detail h2{font-size:clamp(38px,4vw,58px);font-weight:500}.service-detail p:not(.section-kicker){max-width:760px;color:var(--body);font-size:15px}.service-detail ul{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 40px;padding:0;margin:30px 0 0;list-style:none;color:var(--ink);font-size:13px}.service-detail li:before{content:"—";color:var(--secondary);margin-right:10px}.about-story{padding:90px 0 140px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:100px}.giant-om{font:700 150px/.9 "Space Grotesk";color:#e0e1dc}.about-story h2{font-size:clamp(42px,5vw,68px);font-weight:500;margin-bottom:34px}.about-story div>p:not(.section-kicker){max-width:650px;color:var(--body);font-size:15px}.values{padding:110px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.values h2{font-size:clamp(45px,5vw,70px);font-weight:500}.value-grid{display:grid;grid-template-columns:1fr 1fr}.value-grid>div{padding:28px;border-top:1px solid var(--line)}.value-grid span{font:700 10px "Space Grotesk";color:#999ea7}.value-grid h3{font:500 26px "Space Grotesk";margin:30px 0 7px}.value-grid p{font-size:13px;color:var(--body);margin:0}.portfolio-list{border-top:1px solid var(--line);padding-top:45px}.portfolio-project{display:grid;grid-template-columns:1.5fr .8fr;gap:80px;align-items:center;margin-bottom:120px}.portfolio-project.reverse{grid-template-columns:.8fr 1.5fr}.portfolio-project.reverse .portfolio-copy{order:0}.portfolio-visual{min-height:520px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.portfolio-visual>span{position:absolute;top:18px;left:20px;font:700 10px "Space Grotesk"}.portfolio-screen{width:72%;min-height:320px;background:var(--primary);color:#fff;padding:40px;box-shadow:20px 25px 50px rgba(11,16,32,.16)}.portfolio-screen.light{background:#fff;color:var(--ink)}.portfolio-screen b{font:700 13px "Space Grotesk"}.portfolio-screen h3{font:500 40px/1 "Space Grotesk";letter-spacing:-.045em;margin:95px 0 25px}.portfolio-screen span{font-size:8px;letter-spacing:.13em;color:#a5abba}.portfolio-copy h2{font-size:clamp(48px,5vw,70px);font-weight:500}.portfolio-copy>p:not(.section-kicker):not(.project-meta){max-width:470px;color:var(--body);font-size:15px}.project-meta{font-size:12px;line-height:1.9;color:#858b95;margin:25px 0}.add-project{padding:100px 0 130px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:100px}.add-project h2{font:500 clamp(45px,5vw,68px)/.98 "Space Grotesk";letter-spacing:-.055em}.add-project>p{color:var(--body);max-width:450px}.review-library{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;border-top:2px solid var(--ink);padding:32px;min-height:390px;display:flex;flex-direction:column}.review-mark{font:500 65px/.7 "Space Grotesk";color:var(--secondary)}blockquote{font:500 24px/1.15 "Space Grotesk";letter-spacing:-.035em;margin:30px 0}.review-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:end;border-top:1px solid #e0e0db;padding-top:18px;font-size:11px}.review-footer div b,.review-footer div span{display:block}.review-footer div span{color:#8f949d;margin-top:4px}.review-footer a{color:var(--secondary)}.review-form-wrap{margin-top:130px;padding:100px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.review-form-wrap h2{font-size:clamp(46px,5vw,68px);font-weight:500}.review-form-wrap>div>p:last-child{color:var(--body);max-width:420px}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form label,.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;letter-spacing:.03em}.form input,.form textarea,.form select,.contact-form input,.contact-form textarea,.contact-form select{font:400 14px Inter;background:#fff;border:1px solid #d3d4ce;padding:14px 15px;color:var(--ink);outline:0}.form input:focus,.form textarea:focus,.form select:focus,.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--secondary)}.full{grid-column:1/-1}.form-note{grid-column:1/-1;font-size:12px;color:var(--secondary);min-height:18px}.review-project-template{padding:100px 0;border-top:1px solid var(--line)}.review-project-template h2{font-size:clamp(45px,5vw,68px);font-weight:500}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:70px}.template-grid>div{padding:25px;border-right:1px solid var(--line)}.template-grid span{display:block;font:700 10px "Space Grotesk";color:#979ba4;margin-bottom:20px}.template-grid b{font:500 20px "Space Grotesk"}.contact-page{margin-top:70px;background:var(--primary);color:#fff;padding:100px;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.contact-intro h1{font-size:clamp(54px,6vw,84px);font-weight:500}.contact-intro>p:last-child{color:#aeb4c2}.socials{display:flex;flex-wrap:wrap;gap:16px 25px;margin-top:45px}.socials a{font-size:12px;color:#c1c6d1;border-bottom:1px solid #4a5060;padding-bottom:5px}.contact-form{border-top:1px solid #3a4152;padding-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{color:#b7bdc9}.contact-form input,.contact-form textarea,.contact-form select{background:transparent;border-color:#3b4252;color:#fff}.contact-form select option{color:#000}.contact-form .button{margin-top:24px}.light{color:#aaa!important}.contact-details{padding:70px 0 120px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.contact-details div{padding-right:20px}.contact-details span{display:block;font:700 9px "Space Grotesk";letter-spacing:.16em;color:#90959e;margin-bottom:12px}.contact-details a,.contact-details b{font:500 16px "Space Grotesk"}.site-footer{width:min(1240px,calc(100% - 80px));margin:auto;min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;color:#747984}.site-footer .brand{color:var(--ink)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:900px){.site-header,.section,.site-footer{width:calc(100% - 40px)}.nav,.header-cta{display:none}.menu{display:block}.hero,.statement,.values,.about-story,.review-form-wrap,.contact-page,.add-project{grid-template-columns:1fr}.hero{padding:80px 0}.hero-visual{margin-top:30px}.project-strip,.review-library{grid-template-columns:1fr}.service-preview{grid-template-columns:1fr}.service-preview>div{border-right:0;border-bottom:1px solid var(--line);padding:25px 0}.portfolio-project,.portfolio-project.reverse{grid-template-columns:1fr;gap:35px}.portfolio-project.reverse .portfolio-copy{order:0}.portfolio-visual{min-height:420px}.contact-details{grid-template-columns:1fr 1fr;gap:35px}.contact-page{padding:60px 40px}.form-grid,.form{grid-template-columns:1fr}.full{grid-column:auto}.cta-band{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.section{width:calc(100% - 40px)}.hero h1{font-size:52px}.hero-lead,.page-hero>p:last-child{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start}.browser-body{padding:15px}.mock-hero{padding:50px 25px 35px}.mock-hero h2{font-size:31px}.floating-label{left:-8px}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:22px}.service-detail{grid-template-columns:40px 1fr;padding:45px 0}.service-detail ul{grid-template-columns:1fr}.giant-om{font-size:110px}.values,.about-story,.review-form-wrap,.add-project{padding:75px 0}.review-library{gap:14px}.contact-page{margin-top:30px;padding:55px 25px}.contact-details{grid-template-columns:1fr;padding:55px 0}.cta-band{padding:80px 25px}.cta-band .button{width:100%}.template-grid{grid-template-columns:1fr}.template-grid>div{border-right:0;border-bottom:1px solid var(--line)}.site-footer{padding:28px 0;flex-wrap:wrap}.site-footer .brand{width:100%}}


/* =========================================================
   PREMIUM MOTION SYSTEM
   ========================================================= */

html { scroll-behavior: auto; }
body { overflow-x: hidden; }

/* Initial page-load choreography */
body.page-ready {
  animation: pageIn .8s var(--ease) both;
}
@keyframes pageIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* View-transition support */
@view-transition { navigation: auto; }
::view-transition-old(root) {
  animation: pageOut .35s var(--ease) both;
}
::view-transition-new(root) {
  animation: pageIn .55s var(--ease) both;
}
@keyframes pageOut {
  to { opacity: 0; transform: translateY(-8px); filter: blur(2px); }
}

/* Reveal states become richer and more dimensional */
.reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(.985);
  filter: blur(5px);
  transition:
    opacity .9s var(--ease),
    transform .9s var(--ease),
    filter .9s var(--ease);
}
.reveal.visible {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
  filter: blur(0);
}
.reveal.delay-1 { transition-delay: .12s; }
.reveal.delay-2 { transition-delay: .22s; }

/* Stagger child animation where useful */
.service-preview > div,
.value-grid > div,
.template-grid > div,
.contact-details > div,
.project-strip > a,
.review-library > article {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity .7s var(--ease),
    transform .7s var(--ease);
}
.visible .service-preview > div,
.visible .value-grid > div,
.visible .template-grid > div,
.visible .contact-details > div,
.visible .project-strip > a,
.visible .review-library > article {
  opacity: 1;
  transform: none;
}
.visible .service-preview > div:nth-child(2),
.visible .value-grid > div:nth-child(2),
.visible .template-grid > div:nth-child(2),
.visible .contact-details > div:nth-child(2),
.visible .project-strip > a:nth-child(2),
.visible .review-library > article:nth-child(2) { transition-delay: .08s; }
.visible .service-preview > div:nth-child(3),
.visible .value-grid > div:nth-child(3),
.visible .template-grid > div:nth-child(3),
.visible .contact-details > div:nth-child(3),
.visible .project-strip > a:nth-child(3),
.visible .review-library > article:nth-child(3) { transition-delay: .16s; }
.visible .value-grid > div:nth-child(4),
.visible .contact-details > div:nth-child(4) { transition-delay: .24s; }

/* Navigation */
.site-header {
  position: relative;
  z-index: 90;
  transition:
    background .35s var(--ease),
    backdrop-filter .35s var(--ease),
    border-color .35s var(--ease),
    transform .35s var(--ease);
}
.site-header.scrolled {
  position: sticky;
  top: 0;
  background: rgba(247,247,245,.86);
  backdrop-filter: blur(18px);
  border-bottom-color: rgba(11,16,32,.12);
}
.nav a::after { transform-origin: left center; }
.nav a:hover { transform: translateY(-1px); }

/* Magnetic-ish buttons */
.button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.button::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:0;
  height:0;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  transform:translate(-50%,-50%);
  transition: width .55s var(--ease), height .55s var(--ease);
  z-index:-1;
}
.button:hover::before {
  width:240px;
  height:240px;
}
.button span {
  transition: transform .35s var(--ease);
}
.button:hover span {
  transform: translate(4px,-4px);
}

/* Arrow links */
.text-link span,
.arrow-link span,
.header-cta span {
  display:inline-block;
  transition: transform .35s var(--ease);
}
.text-link:hover span,
.arrow-link:hover span,
.header-cta:hover span {
  transform: translate(4px,-4px);
}

/* Hero parallax */
.hero-visual,
.browser,
.floating-label {
  will-change: transform;
}
.hero-visual .browser {
  transform: perspective(1200px) rotateY(-4deg) rotateX(1deg) rotate(1deg);
}
.hero-visual:hover .browser {
  transform: perspective(1200px) rotateY(0) rotateX(0) rotate(0) translateY(-6px);
}
.floating-label {
  animation: floatLabel 4.5s ease-in-out infinite;
}
@keyframes floatLabel {
  0%,100% { transform: translate3d(0,0,0) rotate(0); }
  50% { transform: translate3d(0,-8px,0) rotate(-1deg); }
}

/* Mock UI ambient motion */
.mock-hero h2 {
  animation: textBreath 5s ease-in-out infinite;
}
@keyframes textBreath {
  0%,100% { transform: translateX(0); opacity: 1; }
  50% { transform: translateX(3px); opacity: .92; }
}
.mock-line { overflow:hidden; position:relative; }
.mock-line::after {
  content:"";
  display:block;
  height:100%;
  width:35%;
  background:rgba(255,255,255,.55);
  transform:translateX(-120%);
  animation: sweep 3.2s ease-in-out infinite;
}
@keyframes sweep {
  0%,55% { transform:translateX(-120%); }
  80%,100% { transform:translateX(320%); }
}

/* Editorial project motion */
.project-tile {
  transform-origin:center bottom;
}
.project-tile::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.28) 50%,transparent 80%);
  transform:translateX(-120%);
  transition:transform .7s var(--ease);
}
.project-tile:hover::after { transform:translateX(120%); }
.project-tile b,
.project-tile small,
.project-tile span {
  position:relative;
  z-index:1;
}
.project-one::before,
.project-two::before,
.project-three::before {
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  right:-70px;
  top:-70px;
  filter:blur(2px);
  animation: orb 7s ease-in-out infinite;
}
.project-two::before { animation-delay: -2s; }
.project-three::before { animation-delay: -4s; }
@keyframes orb {
  0%,100% { transform:translate3d(0,0,0) scale(1); }
  50% { transform:translate3d(-18px,18px,0) scale(1.08); }
}

/* Services interaction */
.service-preview > div,
.service-row,
.service-detail {
  position: relative;
}
.service-preview > div::before,
.service-row::before,
.service-detail::before {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:2px;
  width:0;
  background:var(--secondary);
  transition:width .45s var(--ease);
}
.service-preview > div:hover::before,
.service-row:hover::before,
.service-detail:hover::before {
  width:100%;
}
.service-preview > div,
.service-detail,
.service-row {
  transition: transform .45s var(--ease), padding-left .45s var(--ease);
}
.service-preview > div:hover {
  transform:translateY(-4px);
}
.service-detail:hover {
  transform:translateX(8px);
}
.service-row:hover {
  transform:translateX(8px);
}

/* Section titles */
.statement h2,
.page-hero h1,
.section-head h2,
.services-page h2,
.about-story h2,
.values h2,
.portfolio-copy h2,
.review-form-wrap h2,
.review-project-template h2,
.contact-intro h1,
.cta-band h2 {
  text-wrap: balance;
}

/* Letter/line accent animation */
.section-kicker {
  position:relative;
}
.section-kicker::after {
  content:"";
  display:inline-block;
  width:0;
  height:1px;
  margin-left:8px;
  vertical-align:middle;
  background:var(--secondary);
  transition:width .6s var(--ease);
}
.visible .section-kicker::after { width:24px; }

/* Reviews */
.review-card {
  transition:
    transform .45s var(--ease),
    box-shadow .45s var(--ease),
    border-color .45s var(--ease);
}
.review-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(11,16,32,.10);
  border-color: var(--secondary);
}
.review-mark {
  transition: transform .55s var(--ease);
}
.review-card:hover .review-mark {
  transform: translateY(-5px) rotate(-4deg);
}

/* Contact form */
.contact-form input,
.contact-form textarea,
.contact-form select,
.form input,
.form textarea,
.form select {
  transition:
    border-color .25s var(--ease),
    transform .25s var(--ease),
    background .25s var(--ease);
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.form input:focus,
.form textarea:focus,
.form select:focus {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(109,94,245,.07);
}

/* Cursor glow */
.cursor-glow {
  position:fixed;
  left:0;
  top:0;
  width:180px;
  height:180px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  background:radial-gradient(circle, rgba(109,94,245,.09) 0%, rgba(109,94,245,0) 70%);
  transform:translate(-50%,-50%);
  mix-blend-mode:multiply;
  transition:opacity .25s ease;
}

/* Scroll velocity flourish */
.scroll-flair {
  position:fixed;
  right:18px;
  bottom:18px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--secondary);
  opacity:.5;
  z-index:70;
  transform:scale(1);
  transition:transform .2s ease;
}
.scroll-flair.active { transform:scale(1.7); }

/* Better accessibility */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,
  *::before,
  *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal { opacity:1 !important; transform:none !important; filter:none !important; }
  .service-preview > div,
  .value-grid > div,
  .template-grid > div,
  .contact-details > div,
  .project-strip > a,
  .review-library > article { opacity:1; transform:none; }
  .cursor-glow,
  .scroll-flair { display:none; }
}

@media (max-width:900px) {
  .site-header.scrolled { position:sticky; }
  .hero-visual .browser { transform:rotate(0); }
}
