@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;1,600;1,700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#111411;--paper:#f0f0e7;--ink:#1b251c;--lime:#d9f66f;--gray:#a8b0a6;--line:#d4d8cc;--body:'DM Sans','Trebuchet MS',sans-serif;--title:'Barlow Condensed','Impact',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--title);font-weight:600}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #769e12;outline-offset:5px}.wrap{width:min(1240px,calc(100% - 100px));margin:auto}.skip{position:absolute;top:-80px;left:20px;z-index:20;background:var(--lime);padding:12px}.skip:focus{top:12px}.demo-banner{position:relative;z-index:5;min-height:31px;background:var(--lime);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 15px;font-size:8px;letter-spacing:1.3px;font-weight:700}.demo-dot{width:4px;height:4px;background:var(--ink);border-radius:50%}.banner-detail{font-size:9px;letter-spacing:.2px;font-weight:400;margin-left:18px}.header{position:absolute;top:31px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center;color:white;padding:26px 0;z-index:4;border-bottom:1px solid #ffffff2b}.logo{font-size:39px;font-weight:700;letter-spacing:-2.6px;line-height:1;display:inline-block}.logo>span{font-size:31px;color:var(--lime);margin-left:4px}.logo small{font-size:7px;letter-spacing:2.3px;font-weight:500;display:block;margin-top:8px}.header nav{display:flex;align-items:center;gap:32px;font-size:11px}.header nav>a{color:#e7eae4}.header nav>a:hover{color:var(--lime)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-height:54px;padding:16px 23px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:700;transition:background .2s,transform .2s}.button>span{font-size:22px;line-height:1}.button:hover{background:#e9ffa1;transform:translateY(-2px)}.button.small{background:transparent;border:1px solid #ffffff60;color:white;min-height:43px;font-size:10px;padding:11px 16px;gap:25px}.button.small:hover{border-color:var(--lime);color:var(--lime)}
.hero.wrap{position:relative;isolation:isolate;width:100%;max-width:none;margin:0;min-height:760px;display:flex;align-items:center;padding:155px max(50px,calc((100vw - 1240px)/2)) 135px;overflow:hidden;background:#161a16;color:var(--paper)}.hero-art{position:absolute;inset:0;z-index:-2}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101610d9 0%,#10161087 38%,#10161012 65%),linear-gradient(0deg,#101610ba,transparent 35%)}.hero-copy{max-width:600px}.eyebrow{font-size:9px;line-height:1.6;letter-spacing:1.9px;font-weight:700;margin-bottom:25px}.hero .eyebrow{color:#e6eccd;font-size:8px}.tiny-line{display:inline-block;width:23px;height:1px;background:var(--lime);vertical-align:middle;margin-right:10px}h1{font-size:clamp(76px,8.2vw,114px);line-height:.91;letter-spacing:-1.5px;font-weight:700;margin:0 0 30px}h1 em{color:var(--lime);font-weight:600;font-style:italic}h2 em{font-style:normal;color:#718348}.intro{max-width:350px;font-size:12px;line-height:1.9;color:#d5ddd2;margin-bottom:26px}.micro{font-size:9px;color:#a9b4a4;margin:13px 0 0}.hero-footer{position:absolute;bottom:32px;left:max(50px,calc((100vw - 1240px)/2));right:max(50px,calc((100vw - 1240px)/2));display:flex;align-items:end;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:20px;font-size:8px;letter-spacing:1.6px;line-height:1.6}.hero-footer>a{display:flex;gap:23px;align-items:center;font-size:10px;letter-spacing:0}.hero-footer>a>span{font-size:22px;color:var(--lime)}.hero-side{font-size:8px;color:#b6c1ad}.principles{background:var(--lime)}.principles>.wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-block:20px;font-family:var(--title);font-size:21px;line-height:1;letter-spacing:.6px;text-transform:uppercase;font-weight:600}.principles span:nth-child(even){font-size:20px;font-family:var(--body);font-weight:400;color:#6d8135}
.section{padding-block:90px}.section-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:0 100px;align-items:end;margin-bottom:45px}.section-heading>.eyebrow{grid-column:1/-1;margin-bottom:20px;color:#69745c}h2{font-size:clamp(40px,4.5vw,62px);letter-spacing:-.3px;line-height:1.02;margin-bottom:0}.section-heading>p:last-child{color:#6b7366;max-width:350px;font-size:12px;line-height:1.9;margin-bottom:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{padding:28px;background:#e5e8dc;display:flex;flex-direction:column;position:relative;transition:background .2s}.service:hover{background:#dfe5cd}.service-index{font-size:9px;color:#69745b;letter-spacing:1px}.service-icon{font-size:39px;line-height:1.2;margin:26px 0 24px;color:#52683b}h3{font-size:28px;letter-spacing:.1px;font-weight:500;line-height:1.1;margin-bottom:17px}.service p{font-size:12px;line-height:1.9;color:#5e6956}.service .service-note{font-size:10px;border-top:1px solid #c9d0bb;padding-top:17px;margin-top:auto;color:#55634b}.text-button{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0 0;text-align:left;font-size:10px;font-weight:700;background:none;color:var(--ink)}.text-button>span{font-size:20px}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.about{background:#202b20;color:var(--paper);padding-block:72px;position:relative;overflow:hidden}.about-grid{display:grid;grid-template-columns:.85fr 1.2fr;align-items:center;gap:100px}.about-monogram{min-height:380px;position:relative;display:flex;align-items:center;justify-content:center;font-family:var(--title);font-weight:500;font-size:365px;line-height:.8;color:var(--lime);letter-spacing:-25px;background:repeating-linear-gradient(90deg,transparent,transparent 64px,#ffffff05 65px,#ffffff05 66px)}.about-monogram>span{font-size:150px;line-height:1;transform:translate(0,-32px)}.about-monogram small{font-family:var(--body);font-size:8px;color:#afbb9e;letter-spacing:2px;line-height:1.7;position:absolute;bottom:2px;left:12px}.about-copy>.eyebrow{color:#a7bb8c;margin-bottom:22px}.about h2{margin-bottom:26px;font-size:58px}.about h2 em{color:var(--lime)}.about-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;color:#bbc6b3;max-width:420px}.profile-placeholder{display:flex;gap:15px;margin-top:25px;padding-top:20px;border-top:1px solid #ffffff26}.profile-placeholder>span{font-size:22px;color:var(--lime)}.profile-placeholder p{font-size:9px;color:#9eae92;line-height:1.9;margin:0;max-width:400px}.profile-placeholder strong{font-weight:500;color:#d7e0ce}.start{padding-bottom:35px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;padding:0;margin:0}.steps li{border-top:1px solid #bfc8b0;padding-top:23px}.steps li>span{display:block;font-family:var(--title);font-size:36px;line-height:1;color:#859962;margin-bottom:26px}.steps h3{font-size:26px}.steps p{font-size:12px;color:#6b7366;max-width:290px}.faq-section{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding-top:65px}.faq-section .eyebrow{color:#69745c;margin-bottom:20px}.faqs{border-top:1px solid #bfc8b0}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:23px 0;font-size:12px;font-weight:500}summary::-webkit-details-marker{display:none}summary::after{content:'+';font-size:24px;font-weight:400;color:#70854f}details[open] summary::after{content:'−'}details p{font-size:11px;color:#6b7366;line-height:1.9;padding-right:25px;margin-bottom:23px}.closing{background:var(--lime);padding:50px;display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:center}.closing .eyebrow{font-size:8px;margin-bottom:18px}.closing h2{font-size:53px}.closing h2 em{color:var(--ink)}.closing>div:last-child>p{font-size:12px;margin-bottom:22px;color:#506135}.button.light{background:var(--ink);color:var(--lime);width:100%;max-width:350px;font-size:11px}.button.light:hover{background:#35462a}.closing small{display:block;font-size:9px;color:#5a6d3a;margin-top:12px}.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:38px}.footer .logo{font-size:33px}.footer .logo>span{color:#6d853d}.footer p{font-size:9px;line-height:1.9;color:#6b7366;margin:0}.footer>a:last-child{font-size:10px}
dialog{border:0;background:var(--paper);color:var(--ink);padding:0;width:calc(100% - 32px);max-width:500px;max-height:90dvh}dialog::backdrop{background:#0e180de6;backdrop-filter:blur(7px)}.dialog-inner{padding:45px 35px 30px}.close-dialog{position:absolute;top:10px;right:12px;width:38px;height:38px;background:none;color:var(--ink);font-size:29px}.dialog-inner h2{font-size:45px;margin-bottom:20px}.dialog-inner>p:not(.eyebrow){font-size:12px;color:#626e58}.dialog-inner label{display:block;font-size:10px;font-weight:700;margin-bottom:9px}textarea{width:100%;min-height:120px;padding:13px;font:12px/1.8 var(--body);background:#f9faf3;border:1px solid #c9d2bb;resize:vertical;color:var(--ink)}.dialog-inner .button{margin-top:15px;width:100%}.dialog-inner small{font-size:9px;color:#6b7366}#copy-status{min-height:22px;margin-block:12px;font-size:11px}
@media(min-width:900px){.hero-copy{animation:enter .8s ease both}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero.wrap{padding-inline:32px;min-height:730px}.hero-footer{left:32px;right:32px}.section-heading{gap:0 50px}.about-grid{gap:45px}.about h2{font-size:50px}.faq-section{gap:45px}.closing{padding:35px;gap:35px}.closing h2{font-size:47px}.service{padding:23px}.about-monogram{font-size:300px;min-height:330px}.about-monogram>span{font-size:130px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.demo-banner{font-size:7px;min-height:40px;gap:4px 8px;flex-wrap:wrap;padding-block:5px}.banner-detail{font-size:7px;margin:0}.header{top:40px;padding-block:19px}.logo{font-size:31px}.logo>span{font-size:25px}.logo small{font-size:6px;letter-spacing:1.5px;margin-top:6px}.header nav>a{display:none}.button.small{padding:10px 11px;font-size:9px;gap:12px;min-height:39px}.hero.wrap{min-height:790px;align-items:end;padding:280px 20px 115px}.hero-art img{object-position:68% center}.hero::before{background:linear-gradient(0deg,#0c160df5 0%,#0c160de8 30%,#0c160d50 60%,#0c160d16 90%),linear-gradient(90deg,#0c160d4d,transparent 70%)}.hero-copy{position:relative;width:100%}.hero .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:20px;max-width:280px}h1{font-size:68px;letter-spacing:-.5px;line-height:.93;margin-bottom:22px}.intro{font-size:11px;line-height:1.8;max-width:285px;margin-bottom:23px}.button{font-size:11px;min-height:50px;padding:15px 19px}.micro{font-size:8px;margin-top:12px}.hero-footer{left:20px;right:20px;bottom:22px;padding-top:16px;font-size:7px;letter-spacing:1px}.hero-footer>a{font-size:8px;gap:12px}.hero-side{display:none}.principles>.wrap{padding-block:18px;font-size:15px;gap:8px;letter-spacing:.2px}.principles span:nth-child(even){font-size:14px}.principles span:nth-last-child(2),.principles span:last-child{display:none}.section{padding-block:51px}.section-heading{display:block;margin-bottom:28px}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:17px}.section-heading h2{margin-bottom:20px}h2{font-size:41px;line-height:1.02}.section-heading>p:last-child{font-size:11px;line-height:1.85}.services{grid-template-columns:1fr;gap:12px}.service{padding:25px}.service-index{font-size:8px}.service-icon{position:absolute;right:25px;top:20px;font-size:31px;margin:0}.service h3{font-size:30px;margin-top:26px;margin-bottom:14px}.service p{font-size:12px;max-width:290px}.service .service-note{font-size:9px;padding-top:15px;margin-bottom:8px}.text-button{font-size:10px;min-height:38px}.about{padding-block:43px}.about-grid{display:flex;flex-direction:column-reverse;gap:28px}.about h2{font-size:45px}.about-copy>p:not(.eyebrow){font-size:11px}.about-monogram{width:100%;min-height:220px;font-size:235px;letter-spacing:-15px;justify-content:end;padding-right:35px;border-top:1px solid #ffffff20;padding-top:25px}.about-monogram>span{font-size:90px}.about-monogram small{left:0;bottom:0;font-size:7px;letter-spacing:1.2px}.profile-placeholder p{font-size:8px}.start{padding-bottom:20px}.steps{grid-template-columns:1fr;gap:22px}.steps li{display:grid;grid-template-columns:42px 1fr;gap:0 12px;padding-top:21px}.steps li>span{grid-row:1/3;font-size:30px;margin-top:2px;margin-bottom:0}.steps h3{font-size:27px;margin-bottom:9px}.steps p{grid-column:2;font-size:11px;max-width:none;margin:0}.faq-section{display:block;padding-top:40px}.faq-section h2{margin-bottom:30px}summary{font-size:11px;padding-block:20px}.closing{display:block;padding:32px 25px}.closing h2{font-size:40px;margin-bottom:27px}.closing>div:last-child>p{font-size:11px}.closing small{font-size:8px}.footer{display:grid;grid-template-columns:1fr auto;gap:18px;padding-block:28px}.footer p{grid-row:2;grid-column:1/-1;font-size:8px}.footer>a:last-child{font-size:9px}.dialog-inner{padding:42px 25px 25px}}
@media(max-width:370px){h1{font-size:60px}.hero.wrap{min-height:770px}.hero .eyebrow{font-size:6px}.button.small{font-size:8px}h2{font-size:37px}.closing h2{font-size:35px}.principles>.wrap{font-size:13px}}
.about-campaign{position:relative;margin:0;width:100%;height:400px;overflow:hidden;background:#151a15}.about-campaign img{display:block;width:100%;height:100%;object-fit:cover;object-position:75% center}.about-campaign figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 18px 12px;background:linear-gradient(transparent,#101710d9);font-size:8px;color:#d8e0cd;letter-spacing:.4px}.hero-art img{object-position:center center}
@media(max-width:680px){.hero-art img{object-position:72% center}.about-campaign{height:330px}.about-campaign img{object-position:72% center}}
.services{gap:22px}.service{padding:0;background:#e6e9dd;overflow:hidden}.service:hover{background:#e1e6d4}.service-photo{aspect-ratio:4/3;overflow:hidden;background:#1e281e}.service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.service:hover .service-photo img{transform:scale(1.025)}.service-content{padding:26px;display:flex;flex:1;flex-direction:column;position:relative}.service-index{position:absolute;left:0;top:-34px;background:var(--lime);color:var(--ink);padding:6px 14px;font-size:8px;letter-spacing:1px;line-height:22px}.service h3{margin-top:0;font-size:31px}.service .service-note{margin-top:auto}.about-campaign{height:470px}.about-campaign img{object-position:center}.about-campaign figcaption{font-size:8px;letter-spacing:1px;text-transform:uppercase}.about-grid{grid-template-columns:1.05fr 1fr;gap:80px}.about{padding-block:80px}.about-copy>p:not(.eyebrow){font-size:13px}.profile-placeholder p{font-size:10px}.method-intro{max-width:470px;color:#6b7366;font-size:12px;line-height:1.9;margin:-15px 0 36px}.steps li{position:relative}.steps li>span{font-size:44px}.closing{position:relative;isolation:isolate;overflow:hidden;background:#192118;color:var(--paper);padding:60px 50px}.closing::before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/ritmo-morphix-flux-v3.webp') center 58% / cover}.closing::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#152113f7 0%,#152113e8 55%,#152113c7 100%)}.closing .eyebrow{color:var(--lime)}.closing h2 em{color:var(--lime)}.closing>div:last-child>p{color:#d2dcc9}.closing .button.light{background:var(--lime);color:var(--ink)}.closing .button.light:hover{background:#edffb3}.closing small{color:#acbda0}.faq-section{border-top:1px solid #d4d8cc;margin-top:45px}.faq-section h2 em{color:#718348}
@media(max-width:1000px){.service-content{padding:22px}.about-grid{gap:45px}.about-campaign{height:430px}.closing{padding:42px 35px}}
@media(max-width:680px){.services{gap:26px}.service,.service:hover{padding:0}.service-content{padding:26px}.service h3{margin-top:0;font-size:31px}.service-index{font-size:8px;top:-34px;left:0;margin:0}.service-photo{aspect-ratio:4/3}.about{padding-block:45px}.about-grid{display:flex;flex-direction:column;gap:30px}.about-campaign{height:auto;aspect-ratio:4/3}.about-campaign img{object-position:center}.about-copy>p:not(.eyebrow){font-size:12px}.profile-placeholder p{font-size:9px}.method-intro{font-size:11px;margin:-8px 0 28px}.steps li>span{font-size:34px}.closing{padding:37px 25px}.closing h2{font-size:40px}.faq-section{margin-top:25px;padding-top:42px}}
.about-campaign img{object-position:right center}.section-heading>p:last-child,.service p,.steps p,.about-copy>p:not(.eyebrow){font-size:13px}.service .service-note{font-size:11px}.text-button{font-size:12px;min-height:44px}.intro{font-size:13px}.faqs summary{font-size:13px}.faqs details p{font-size:12px}.closing>div:last-child>p{font-size:13px}
@media(max-width:680px){.intro{font-size:12px}.section-heading>p:last-child,.service p,.about-copy>p:not(.eyebrow){font-size:13px}.steps p{font-size:12px}.service .service-note{font-size:11px}.text-button{font-size:12px;min-height:44px}.faqs summary{font-size:12px}.closing>div:last-child>p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Motion direction inspired by React Bits; original buildless implementation. */
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:none}
h2.reveal-ready{filter:blur(5px);transition-property:opacity,transform,filter}h2.reveal-ready.is-visible{filter:blur(0)}
.service{border:1px solid #cbd2be;isolation:isolate;transition:background .25s,border-color .25s,box-shadow .25s,transform .35s}
.service::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(330px circle at var(--spot-x,50%) var(--spot-y,25%),#d9f66540,transparent 70%);transition:opacity .3s}
.service:focus-within{border-color:#839d40;box-shadow:0 12px 30px #21371516}
.button{position:relative;overflow:hidden}.button::after{content:'';position:absolute;inset:-100% -60%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,#ffffff40 50%,transparent 58%);transform:translateX(-65%);transition:transform .6s ease}.button:hover::after,.button:focus-visible::after{transform:translateX(65%)}
.button>span,.text-button>span{transition:transform .25s}.button:hover>span,.text-button:hover>span{transform:translate(3px,-3px)}
.closing::before{animation:ritmo-drift 18s ease-in-out infinite alternate;transform-origin:70% 50%}.closing{border-top:2px solid #d9f66970}.closing .button{box-shadow:0 0 0 1px #e5ff9630,0 8px 30px #0002}
@keyframes ritmo-drift{from{transform:scale(1)}to{transform:scale(1.075) translateX(-1%)}}
@media(hover:hover) and (pointer:fine){.service:hover{transform:translateY(-6px);border-color:#9ab956;box-shadow:0 18px 35px #21371518}.service:hover::after{opacity:1}.service:hover .service-photo img{transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none;filter:none!important}.closing::before{animation:none}*,*::before,*::after{transition:none!important;animation:none!important}}
