*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}::selection{background:var(--sun)}.progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:3px;background:var(--coral);transform:scaleX(0);transform-origin:left}header{position:absolute;z-index:20;top:0;width:100%;height:90px;padding:0 5.5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:white;border-bottom:1px solid #ffffff2d}.brand{display:flex;align-items:center;gap:9px;width:max-content;font-weight:900;letter-spacing:-.04em}.brand i{display:grid;place-items:center;width:34px;height:34px;border:1px solid;border-radius:50%;font:italic 400 18px Georgia}.brand span{color:var(--sun)}nav{display:flex;gap:36px;font-size:14px}nav a{opacity:.8}.pill{justify-self:end;border:0;border-radius:999px;padding:14px 21px;background:var(--sun);font-weight:800;cursor:pointer}.menu,.mobile-nav{display:none}.hero{position:relative;min-height:100svh;padding:150px 5.5vw 55px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:white;background:radial-gradient(circle at 76% 25%,var(--brand-red-dark),var(--bg-panel) 28%,var(--ink) 65%)}.grid{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(#ffffff14 1px,transparent 1px),linear-gradient(90deg,#ffffff14 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(#000,transparent)}.orbit{position:absolute;border:1px solid #ffffff38;border-radius:50%;animation:spin 16s linear infinite}.orbit-a{width:44vw;aspect-ratio:1;right:-7vw;top:12vh}.orbit-a:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--sun);left:12%;top:15%;box-shadow:0 0 45px var(--sun)}.orbit-b{width:22vw;aspect-ratio:1;left:9vw;bottom:-10vw;border-color:rgb(var(--gold-rgb) / 0.439);animation-duration:23s;animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}.kicker{position:relative;z-index:2;text-transform:uppercase;letter-spacing:.16em;font-size:11px;opacity:.75}.kicker i{display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 0 6px rgb(var(--gold-bright-rgb) / 0.133)}.hero h1{position:relative;z-index:2;margin:auto 0 0;max-width:1400px;font-size:clamp(3.7rem,9.4vw,9.8rem);line-height:.82;letter-spacing:-.075em}.hero h1 span{display:block;animation:intro 1.2s cubic-bezier(.16,1,.3,1) both}.hero h1 span+span{margin-left:7vw;animation-delay:.12s}.hero h1 em{color:var(--sun);font-family:Georgia,serif;font-weight:400}@keyframes intro{from{opacity:0;transform:translateY(80px) skewY(3deg)}}.hero-foot{position:relative;z-index:2;padding-left:48%;margin-top:55px;display:flex;justify-content:space-between;align-items:end}.hero-foot p{max-width:480px;margin:0;color:#ffffffb8;font-size:clamp(16px,1.4vw,21px);line-height:1.55}.round{width:104px;height:104px;border:1px solid #ffffff66;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:12px;transition:.4s}.round:hover{background:var(--coral);border-color:var(--coral);transform:rotate(-8deg)}.hero>small{position:absolute;left:5.5vw;bottom:60px;font-family:monospace;opacity:.4}.ticker{overflow:hidden;padding:17px 0;background:var(--sun);border-block:1px solid}.ticker div{width:max-content;white-space:nowrap;font-size:clamp(22px,3vw,44px);font-weight:900;animation:ticker 60s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.pad{padding:clamp(90px,11vw,180px) 5.5vw}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:800}.intro-grid{display:grid;grid-template-columns:1.7fr .72fr;gap:8vw;align-items:end}.intro h2,.title h2{margin:0;font-size:clamp(3.5rem,7vw,8rem);line-height:.91;letter-spacing:-.07em}.intro h2 em{color:var(--coral);font-family:Georgia,serif;font-weight:400}.copy{font-size:17px;line-height:1.7;color:rgb(var(--bg-deep-rgb) / 0.725)}.copy a{display:inline-block;margin-top:20px;padding-bottom:6px;border-bottom:1px solid;color:var(--ink);font-weight:800}.reveal{opacity:0;transform:translateY(42px);transition:.9s cubic-bezier(.16,1,.3,1)}.reveal.show{opacity:1;transform:none}.work{background:var(--gold)}.title{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:65px}.title .eyebrow{margin-bottom:22px}.title>p,.title>small{max-width:300px;color:rgb(var(--bg-deep-rgb) / 0.6)}.project-art{position:relative;min-height:min(68vw,820px);overflow:hidden;background:radial-gradient(circle at 62% 40%,var(--brand-red-bright),var(--brand-red-bright) 30%,var(--bg-panel) 76%);color:white}.project-art>b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(5rem,15vw,15rem);letter-spacing:-.09em;color:#ffffff12}.ui{position:absolute;padding:clamp(22px,3vw,44px);border:1px solid #ffffff48;background:rgb(var(--bg-panel-rgb) / 0.6);backdrop-filter:blur(20px);box-shadow:0 30px 90px #0005;transition:.7s}.ui.one{width:min(46%,570px);left:13%;top:19%;transform:rotate(-4deg)}.ui.two{width:min(28%,320px);right:14%;bottom:17%;text-align:center;transform:rotate(7deg)}.project:hover .one{transform:translate(-12px,-16px) rotate(-6deg)}.project:hover .two{transform:translate(12px,-16px) rotate(10deg)}.ui small{font-family:monospace;letter-spacing:.14em;opacity:.55}.ui h3{margin:18px 0 36px;font-size:clamp(1.8rem,4vw,4rem);letter-spacing:-.06em}.bars{display:flex;align-items:end;gap:10px;height:80px}.bars i{flex:1;height:42%;background:var(--gold-bright)}.bars i:nth-child(2){height:78%;background:var(--sun)}.bars i:nth-child(3){height:58%;background:var(--brand-red-bright)}.bars i:nth-child(4){height:92%}.pulse{width:110px;aspect-ratio:1;margin:25px auto;border:1px solid #ffffff44;border-radius:50%;display:grid;place-items:center}.pulse:after{content:"";width:18px;height:18px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 0 12px rgb(var(--gold-bright-rgb) / 0.133)}.ui strong{font-size:11px;letter-spacing:.16em;color:var(--gold-bright)}.project-meta{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.project-meta h3{margin:0;font-size:27px}.project-meta p{margin:5px 0 0;color:rgb(var(--bg-deep-rgb) / 0.6)}.project-meta>span{font-size:30px}.service-list{border-top:1px solid}.service-list article{display:grid;grid-template-columns:70px 1.05fr 1.35fr 1fr 30px;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}.service-list h3{margin:0;font-size:clamp(1.5rem,2.7vw,2.7rem);letter-spacing:-.045em}.service-list p{margin:0;color:rgb(var(--bg-deep-rgb) / 0.6);line-height:1.55}.service-list b{font-size:10px;letter-spacing:.08em}.service-list i{font-size:24px}.belize{position:relative;min-height:82vh;padding:9vw 5.5vw;display:flex;align-items:end;overflow:hidden;background:var(--reef);color:white}.sun{position:absolute;width:min(48vw,650px);aspect-ratio:1;right:7vw;top:7vh;border-radius:50%;display:grid;place-items:center;background:var(--sun);color:var(--coral);font-size:clamp(6rem,17vw,18rem);font-weight:900;letter-spacing:-.13em}.belize-copy{position:relative;z-index:2;max-width:800px}.belize h2{margin:0 0 25px;font:italic 400 clamp(4rem,9vw,10rem)/.85 Georgia;letter-spacing:-.065em}.belize-copy>p:last-child{max-width:560px;color:#ffffffb0;font-size:18px;line-height:1.6}.process{background:var(--bg-panel);color:white}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff3b}.steps article{min-height:300px;padding:28px;border-right:1px solid #ffffff28}.steps article:first-child{padding-left:0}.steps article:last-child{border:0}.steps h3{margin:100px 0 18px;font-size:clamp(1.8rem,3vw,3.2rem);letter-spacing:-.05em}.steps p{color:#ffffff92;line-height:1.55}.cta{position:relative;min-height:90vh;padding:10vw 5.5vw 55px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;background:var(--coral)}.cta h2{position:relative;max-width:1200px;margin:0;font-size:clamp(4rem,9.5vw,10rem);line-height:.86;letter-spacing:-.075em}.rings{position:absolute;width:65vw;aspect-ratio:1;border:1px solid rgb(var(--bg-deep-rgb) / 0.208);border-radius:50%}.rings:before,.rings:after{content:"";position:absolute;inset:15%;border:1px solid rgb(var(--bg-deep-rgb) / 0.169);border-radius:50%}.rings:after{inset:32%}.dark{position:relative;margin-top:55px;background:var(--ink);color:white}.contacts{position:absolute;left:5.5vw;right:5.5vw;bottom:35px;display:flex;justify-content:space-between;font-size:12px}.modal{position:fixed;z-index:200;inset:0;visibility:hidden;pointer-events:none}.modal.open{visibility:visible;pointer-events:auto}.backdrop{position:absolute;inset:0;width:100%;border:0;background:#040911bb;opacity:0;transition:.4s}.modal.open .backdrop{opacity:1}.modal>section{position:absolute;right:0;top:0;width:min(100%,600px);height:100%;padding:clamp(35px,6vw,80px);overflow:auto;background:var(--paper);transform:translateX(100%);transition:.65s cubic-bezier(.16,1,.3,1)}.modal.open>section{transform:none}.close{position:absolute;right:25px;top:20px;border:0;background:none;font-size:36px;cursor:pointer}.modal h2{margin:0;font-size:clamp(2.8rem,6vw,5.5rem);line-height:.92;letter-spacing:-.06em}.modal form{display:grid;gap:25px;margin-top:50px}.modal label{display:grid;gap:8px;text-align:left;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}.modal input,.modal select{padding:14px 0;border:0;border-bottom:1px solid;background:transparent;font-size:18px;outline:0}.modal form button{padding:18px;border:0;background:var(--sun);font-weight:900;cursor:pointer}@media(max-width:850px){header{height:74px;grid-template-columns:1fr auto}nav,header>.pill{display:none}.menu{display:block;border:0;background:none}.menu b{display:block;width:24px;height:1px;margin:7px;background:white}.mobile-nav{position:fixed;z-index:15;inset:0;padding:100px 25px 40px;display:flex;flex-direction:column;justify-content:center;gap:8px;background:var(--ink);color:white;opacity:0;visibility:hidden;transition:.4s}.mobile-nav.open{opacity:1;visibility:visible}.mobile-nav a{font-size:14vw;line-height:1}.mobile-nav button{margin-top:25px;padding:18px;border:0;background:var(--sun);font-weight:900}.hero h1 span+span{margin-left:0}.hero-foot{padding-left:0}.hero-foot p{max-width:65%}.intro-grid{grid-template-columns:1fr}.service-list article{grid-template-columns:45px 1fr 25px}.service-list article p,.service-list article b{grid-column:2/4}.steps{grid-template-columns:1fr 1fr}.steps article:nth-child(2){border-right:0}}@media(max-width:560px){.hero{min-height:760px;padding-top:110px}.hero h1{font-size:15vw}.hero-foot p{font-size:14px}.round{width:82px;height:82px}.hero>small{display:none}.pad{padding-block:85px}.intro h2{font-size:16vw}.title{display:block}.title>p,.title>small{display:block;margin-top:18px}.project-art{min-height:510px}.ui.one{width:82%;left:6%;top:15%}.ui.two{width:48%;right:6%;bottom:8%}.service-list article{padding:28px 0}.sun{width:92vw;right:-28vw}.belize h2{font-size:18vw}.steps{grid-template-columns:1fr}.steps article{min-height:auto;padding:28px 0 45px;border-right:0;border-bottom:1px solid #ffffff28}.steps h3{margin-top:55px}.cta{min-height:760px}.contacts{flex-direction:column;gap:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Keep screenshot sizing tied to its figure when using a WebP source. */
figure picture{display:contents}

/* Keep the kinetic capability ribbon calm and legible at laptop widths.
   The global reduced-motion rule uses a 0.01ms duration, which otherwise makes
   this infinite ticker flash/cycle almost instantly. Disable it outright. */
@media(max-width:1200px), (prefers-reduced-motion:reduce){
  .ticker .ticker-track{display:flex;justify-content:center;width:100%;white-space:normal;animation:none!important;transform:none!important;font-size:clamp(16px,2vw,24px);line-height:1.45}
  .ticker .ticker-copy{display:block;max-width:100%;padding:0 18px;text-align:center}
  .ticker .ticker-repeat{display:none}
}
@media(hover:hover){.ticker:hover .ticker-track{animation-play-state:paused}}

