:root{color-scheme:light;--ink:#171719;--cream:#fffef0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit}
.hero{position:relative;display:flex;min-height:100vh;align-items:flex-end;overflow:hidden;background:#b3a77c url("assets/hero.jpg") center 54%/cover no-repeat}
.brand{position:absolute;top:clamp(25px,6vh,64px);left:50%;width:clamp(105px,12vw,150px);transform:translateX(-50%)}
.brand img{display:block;width:100%;height:auto}
.hero h1{margin:0 0 clamp(40px,9vh,82px) clamp(28px,3.8vw,52px);color:#fff;font-size:clamp(1.45rem,2.1vw,2.3rem);font-weight:400;letter-spacing:-.055em}
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,10vw,150px);align-items:center;min-height:760px;padding:110px clamp(28px,4vw,56px) 120px}
.about-heading h2,.technology-heading h2{margin:0;font-size:clamp(4rem,9vw,8rem);line-height:.88;font-weight:400;letter-spacing:-.075em}
.about-heading p,.technology-heading p{max-width:410px;margin:34px 0 0 4px;font-size:clamp(1rem,1.5vw,1.28rem);line-height:1.42;letter-spacing:-.04em}
.about-copy{display:flex;flex-direction:column;gap:clamp(55px,8vw,100px);max-width:590px;padding-top:4px}
.about-copy p{margin:0;font-size:clamp(1rem,1.45vw,1.28rem);line-height:1.43;letter-spacing:-.04em}
.technologies{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,140px);align-items:center;min-height:620px;padding:110px clamp(28px,4vw,56px) 115px;background:var(--cream)}
.technology-list{margin:0;padding:0;list-style:none;text-align:center;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.5;letter-spacing:-.04em}
.contact{display:flex;min-height:690px;flex-direction:column;justify-content:space-between;padding:42px clamp(28px,3.5vw,48px) 64px;color:#fff;background:#20231e url("assets/section.jpg") center 45%/cover no-repeat}
.contact-callout{font-size:clamp(2rem,3.7vw,3.3rem);line-height:1.02;letter-spacing:-.065em}
.contact-callout p{margin:0 0 34px}.contact-callout a,.contact-details a{text-decoration:none}
.contact-callout a:hover,.contact-details a:hover{text-decoration:underline}
.contact-details{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}
.address,.email{display:flex;align-items:baseline;gap:clamp(25px,5vw,80px)}
.contact-details h2{margin:0;font-size:1rem}.contact-details address{font-style:normal;line-height:1.45}
.email{gap:clamp(25px,3vw,45px);font-size:clamp(1.2rem,2vw,1.8rem)}
@media(max-width:760px){.hero{min-height:88vh;min-height:88svh;background-position:54% center}.brand{width:112px}.hero h1{margin:0 24px 42px}.about,.technologies{grid-template-columns:1fr;gap:60px;min-height:auto;padding:88px 26px}.about-heading h2,.technology-heading h2{font-size:clamp(4rem,17vw,7rem)}.about-heading p,.technology-heading p{margin-top:28px}.about-copy{gap:38px}.technology-list{text-align:left}.contact{min-height:650px;min-height:78svh;padding:32px 26px 40px}.contact-callout{font-size:clamp(2rem,9vw,3.1rem)}.desktop-break{display:none}.contact-details{flex-direction:column;gap:28px}.address,.email{align-items:flex-start;gap:22px}.email{font-size:1.25rem}}
.brand{display:flex;align-items:center;gap:clamp(12px,2vw,28px);width:auto;max-width:calc(100% - 40px);text-decoration:none}
.brand img{width:clamp(125px,14vw,184px);flex:0 0 auto}
.brand-name{display:inline-block;color:#54d5d0;background:linear-gradient(105deg,#fff 0%,#fff 45%,#f1ffff 50%,#fff 55%,#fff 100%);background-size:220% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:clamp(3.8rem,8.2vw,7.2rem);font-weight:400;letter-spacing:-.075em;white-space:nowrap;text-shadow:0 2px 16px rgba(0,0,0,.35);clip-path:inset(0 100% 0 0);animation:brandReveal 1.15s cubic-bezier(.2,.75,.25,1) .18s forwards,brandShimmer 4.5s ease-in-out 1.5s infinite}
@media(max-width:760px){.brand{gap:10px}.brand img{width:100px}.brand-name{font-size:clamp(2.8rem,12vw,4.8rem)}}

@keyframes brandReveal{to{clip-path:inset(0 0 0 0)}}
@keyframes brandShimmer{0%,100%{background-position:100% 50%}50%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.brand-name{animation:none;clip-path:none;background-position:50% 50%}}
.brand,.brand:hover{text-decoration:none!important}
.brand-name{animation:brandReveal 1.15s cubic-bezier(.2,.75,.25,1) .18s forwards,brandShimmer 3.4s ease-in-out 1.5s infinite,brandFloat 2.4s ease-in-out 1.5s infinite}
@keyframes brandFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.025)}}@media(prefers-reduced-motion:reduce){.brand-name{animation:none;clip-path:none;background-position:50% 50%;transform:none}}
.brand-name{color:#fff!important;background:none!important;-webkit-text-fill-color:#fff!important;animation:brandReveal 1.15s cubic-bezier(.2,.75,.25,1) .18s forwards,brandFloat 2.4s ease-in-out 1.5s infinite,brandGlow 2.2s ease-in-out 1.5s infinite}
@keyframes brandGlow{0%,100%{text-shadow:0 2px 14px rgba(0,0,0,.42)}50%{text-shadow:0 2px 24px rgba(255,255,255,.72),0 2px 14px rgba(0,0,0,.4)}}
@media(prefers-reduced-motion:reduce){.brand-name{animation:none;clip-path:none;transform:none}}