@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(assets/inter-400.ttf) format('truetype')}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(assets/inter-500.ttf) format('truetype')}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(assets/inter-600.ttf) format('truetype')}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(assets/inter-700.ttf) format('truetype')}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(assets/inter-900.ttf) format('truetype')}
:root{--paper:#f8f8fa;--ink:#202526;--muted:#727778;--line:#d9dcdd;--green:#a1fa22;color-scheme:light;font-family:'SF Pro Display',-apple-system,BlinkMacSystemFont,Inter,'Helvetica Neue',Arial,sans-serif;scroll-padding-top:100px;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #79ba2f;outline-offset:6px}::selection{background:#c5f394;color:var(--ink)}.skip-link{position:fixed;top:10px;left:10px;padding:12px 18px;background:var(--ink);color:var(--paper);z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:absolute;top:0;left:0;width:100%;z-index:30;background:transparent}.header-inner{max-width:1760px;margin:auto;padding:23px 24px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand img{display:block;width:198px;height:auto}.site-header nav{display:flex;gap:25px;margin-left:auto;font-size:14px;font-weight:600}.site-header nav a{padding:5px 0}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-controls{display:flex;gap:20px;align-items:center}.languages{display:flex;align-items:center;gap:5px;font-size:12px}.languages button{border:0;background:none;padding:6px 3px;color:#777f80;min-width:25px;min-height:32px;font-size:12px}.languages button[aria-pressed=true]{color:var(--ink);font-weight:700}.languages>span{color:#9c9f9f}.menu-toggle{display:none}.hero{height:100svh;min-height:700px;max-height:1080px;position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}.hero-motion{position:absolute;top:-12%;right:-56vw;width:128vw;height:145%;z-index:-1;background:transparent;pointer-events:none}.hero-motion canvas{width:100%;height:100%;display:block;opacity:0;background:transparent}.hero-motion.is-live canvas{opacity:1}.motion-fallback{position:absolute;top:25%;left:37%;width:25%;height:auto;opacity:.09}.motion-fallback[hidden]{display:none}.hero-content{position:absolute;left:24px;top:31%;width:58%;max-width:1040px;text-align:center}.hero-content h1{font-size:clamp(112px,15vw,254px);font-weight:900;letter-spacing:-.063em;line-height:1.05;margin:0;white-space:nowrap;display:flex;justify-content:center;color:#54595a}.hero-letter{display:inline-block;transform-origin:50% 100%;animation:letterEntrance 1.05s cubic-bezier(.16,1.34,.35,1) both;animation-delay:calc(.2s + var(--order)*.12s)}.hero-caption{margin:44px auto 0;max-width:420px;font-size:20px;font-weight:700;line-height:1.14;letter-spacing:-.55px}.caption-mask{display:block;overflow:hidden;padding-bottom:2px}.caption-line{display:block;animation:captionEntrance .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.82s + var(--line)*.1s)}.header-inner>.brand,.site-header nav a,.header-controls{animation:headerEntrance .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:.1s}.site-header nav a:nth-child(2){animation-delay:.18s}.site-header nav a:nth-child(3){animation-delay:.26s}.header-controls{animation-delay:.34s}@keyframes letterEntrance{from{opacity:0;transform:scale(.6) translateY(65px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes captionEntrance{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes headerEntrance{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}
.content-section{max-width:1760px;margin:auto;padding:95px 24px}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:50px}.section-intro h2{font-size:48px;font-weight:700;line-height:1.08;letter-spacing:-2px;margin:0}.section-intro>p{font-size:18px;line-height:1.55;max-width:380px;margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 100px;border-top:1px solid var(--line);padding-top:40px}.service-grid h3{font-size:26px;font-weight:700;letter-spacing:-.7px;margin:0 0 14px}.service-grid p{font-size:18px;line-height:1.6;max-width:440px;color:var(--muted);margin:0}.studio{border-top:1px solid var(--line)}.studio-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.studio-layout>h2{font-size:48px;font-weight:700;letter-spacing:-2px;line-height:1.1;margin:0}.studio-description{font-size:26px;font-weight:500;letter-spacing:-.5px;line-height:1.5;margin:0;max-width:560px}.studio-contact{border-top:1px solid var(--line);padding-top:30px;margin-top:40px}.studio-contact h3{font-size:18px;font-weight:700;margin:0 0 15px}.studio-contact p{font-size:18px;color:var(--muted);margin:0;max-width:490px}.site-footer{border-top:1px solid var(--line)}.footer-inner{max-width:1760px;margin:auto;padding:30px 24px;display:flex;align-items:center;justify-content:space-between;gap:40px;font-size:12px;color:var(--muted)}.footer-brand img{display:block;width:175px;height:auto}
@media(min-width:1800px){.hero-motion{right:-51vw;width:122vw}.hero-content{left:max(24px,calc((100vw - 1712px)/2));width:56%;}.hero-content h1{font-size:254px}}
@media(max-width:1000px){.brand img{width:185px}.site-header nav{gap:20px}.header-inner{gap:24px}.hero{min-height:680px}.hero-content{top:37%;width:62%;left:18px}.hero-content h1{font-size:16vw}.hero-caption{font-size:18px;margin-top:34px}.hero-motion{top:-10%;height:143%;right:-78vw;width:160vw}.section-intro h2,.studio-layout>h2{font-size:40px}.service-grid,.studio-layout{gap:40px 50px}}
@media(max-width:700px){.header-inner{padding:20px 20px}.brand img{width:172px}.site-header nav{font-size:13px;gap:17px}.hero-content{top:48%;width:85%;left:7%;}.hero-content h1{font-size:22vw}.hero-caption{font-size:18px;margin-top:28px}.hero-motion{width:220vw;height:125%;right:-132vw;top:-36%}.hero{height:92svh;min-height:670px}.section-intro{display:block}.section-intro>p{margin-top:22px;max-width:100%}.content-section{padding:70px 24px}.service-grid{gap:40px}.studio-description{font-size:23px}.footer-inner{gap:20px}}
@media(max-width:560px){.header-inner{padding:17px 20px;gap:15px}.header-controls{gap:14px}.brand img{width:168px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:15px 20px 25px;margin:0}.site-header.menu-open nav{display:flex;flex-direction:column;gap:5px}.site-header nav a{font-size:19px;padding:9px 0}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;border:0;background:none;width:30px;min-height:36px;padding:4px}.menu-toggle span{width:22px;height:1px;background:var(--ink)}.hero{min-height:650px;max-height:860px;height:100svh}.hero-content{left:20px;top:52%;width:calc(100% - 40px)}.hero-content h1{font-size:23vw;letter-spacing:-.065em}.hero-caption{font-size:18px;line-height:1.13;letter-spacing:-.4px;margin-top:29px}.hero-motion{top:-35%;right:-126vw;width:216vw;height:125%}.section-intro h2,.studio-layout>h2{font-size:36px;letter-spacing:-1.3px}.section-intro>p{font-size:17px}.content-section{padding:65px 20px}.service-grid{grid-template-columns:1fr;gap:30px;padding-top:30px}.service-grid>div+div{border-top:1px solid var(--line);padding-top:27px}.service-grid h3{font-size:24px}.service-grid p{font-size:17px}.studio-layout{display:block}.studio-layout>h2{margin-bottom:28px}.studio-description{font-size:23px}.studio-contact p{font-size:17px}.footer-inner{padding:25px 20px;flex-wrap:wrap}.footer-inner>span:nth-child(2){order:3;width:100%}.footer-brand img{width:157px}.languages button{font-size:11px}.languages{gap:3px}}
@media(max-width:370px){.brand img{width:144px}.header-controls{gap:9px}.header-inner{gap:10px}.hero-content{top:54%}.hero-caption{font-size:17px}.hero{min-height:620px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-letter,.caption-line,.header-inner>.brand,.site-header nav a,.header-controls{opacity:1;transform:none}}
.site-header{position:fixed;background:rgba(248,248,250,.92);backdrop-filter:blur(10px)}.site-header.scrolled{background:var(--paper);border-bottom:1px solid #2025260d}.hero-motion{height:132%;top:-8%}.hero-content h1{font-size:clamp(112px,14vw,244px)}.hero-content{width:56%}
@media(min-width:1800px){.hero-motion{height:132%;top:-8%}.hero-content h1{font-size:244px}}
@media(max-width:1000px){.hero-content{width:62%}.hero-content h1{font-size:16vw}.hero-motion{height:130%;top:-9%}}
@media(max-width:700px){.hero-content{width:85%}.hero-content h1{font-size:22vw}.hero-motion{height:125%;top:-36%}}
@media(max-width:560px){.hero-content{width:calc(100% - 40px)}.hero-content h1{font-size:23vw}.hero-motion{top:-35%;height:125%}}
@media(max-width:560px){.hero-motion{height:92%;top:-35%;right:-92vw;width:216vw}.hero-content{top:54%}}
.hero-content h1{display:block;position:relative;font-family:Inter,'SF Pro Display',sans-serif;letter-spacing:0;line-height:1.05;text-align:center;font-synthesis:none}.hero-title-text{display:inline-block;letter-spacing:-.06em;white-space:nowrap;opacity:1}.hero-content #type-canvas{position:absolute;top:0;left:50%;width:100%;height:100%;transform:translateX(-50%);background:transparent;pointer-events:none;opacity:0}.hero-content h1.type-ready .hero-title-text{opacity:0}.hero-content h1.type-ready #type-canvas{opacity:1}.caption-line{animation-delay:calc(2.6s + var(--line)*.1s)}
@media(prefers-reduced-motion:reduce){.caption-line{animation:none;transform:none}}
/* Focus opening: a single fixed glass wordmark, no letter transforms. */
.hero-motion{inset:0;left:0;right:0;top:0;width:100%;height:100%;z-index:1;background:transparent}.hero-motion canvas{width:100%;height:100%;background:transparent}.hero-content{z-index:2}.hero-content h1{font-size:0;line-height:0;letter-spacing:0;display:block;position:relative}.wordmark-window{display:block;position:relative;user-select:none;-webkit-user-select:none;width:94%;max-width:740px;aspect-ratio:7166.4718/1559.152;margin:0 auto}.wordmark-reveal{position:absolute;inset:0;display:block;clip-path:none!important;opacity:1;filter:none}.wordmark-reveal img{display:block;width:100%;height:100%;object-fit:contain}.wordmark-optical{position:absolute;inset:0;display:block;pointer-events:none;opacity:0;overflow:hidden;contain:paint;transition:opacity .14s ease;-webkit-mask:url(assets/rettech-hero-wordmark-mask.svg) center/100% 100% no-repeat;mask:url(assets/rettech-hero-wordmark-mask.svg) center/100% 100% no-repeat}
/* A fixed letter mask clips the prepainted reflection. Pointer frames only move its inner layer. */
.wordmark-sheen{position:absolute;top:-50%;left:-50%;width:100%;height:200%;background:radial-gradient(ellipse 5.6% 12.9% at 50% 50%,rgba(255,255,255,.95),rgba(255,255,255,0)),linear-gradient(100deg,rgba(255,255,255,0) 32.6%,rgba(44,74,58,.2) 42.3%,rgba(255,255,255,.95) 48.6%,rgba(255,255,255,.95) 51.4%,rgba(44,74,58,.22) 57.7%,rgba(255,255,255,0) 67.4%);transform:translate3d(0,0,0);will-change:transform}
@media(hover:hover){.hero.intro-settled .wordmark-window.is-reflecting .wordmark-optical{opacity:1}}.js .hero:not(.intro-settled) .wordmark-reveal{opacity:var(--title-opacity,0);filter:blur(var(--title-blur,14px));will-change:opacity,filter}.hero.intro-settled .wordmark-reveal{opacity:1;filter:none;will-change:auto}.caption-line{animation:none;transform:translateY(0);opacity:1;transition:transform .65s cubic-bezier(.16,.8,.25,1),opacity .55s;transition-delay:calc(var(--line)*.09s)}.js .hero:not(.intro-settled) .caption-line{opacity:0;transform:translateY(100%)}.hero.intro-settled .caption-line{opacity:1;transform:translateY(0)}
@media(max-width:700px){.hero-motion{inset:0;width:100%;height:100%}.wordmark-window{width:96%}}
@media(max-width:560px){.hero-motion{inset:0;width:100%;height:100%}.wordmark-window{width:100%}.hero-caption{margin-top:28px}}
@media(prefers-reduced-motion:reduce){.wordmark-reveal{opacity:1!important;filter:none!important}.caption-line{opacity:1!important;transform:none!important}}
