@font-face{font-family:Lexend;src:url('lexend.ttf') format('truetype');font-weight:100 900;font-display:block}
:root{--ink:#323132;--black:#000;--green:#00a313;--green-ink:#007711;--green-on-dark:#64dc71;--night:#141815;--paper:#f6f7f3;--white:#fff;--sub:#515951;--line:#d7ddd5}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Lexend,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.55}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.03;letter-spacing:-.055em;font-weight:650}h1{font-size:92px}h2{font-size:53px}h3{font-size:28px;letter-spacing:-.04em}h1>span{color:var(--green)}p{color:var(--sub)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.wrap{width:calc(100% - 144px);max-width:1360px;margin-inline:auto}.icon{flex:none;vertical-align:middle}.small{font-size:11px;letter-spacing:.105em;font-weight:550}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.15em;font-weight:600;text-transform:uppercase;line-height:1.4}.eyebrow i{background:var(--green);height:8px;width:8px;flex:none;border-radius:50%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:49px;white-space:nowrap;padding:0 18px;border:1px solid transparent;border-radius:5px;font-size:13px;line-height:1.3;font-weight:650}.btn .icon{width:17px;height:17px}.btn.primary{background:var(--green);color:#071809}.btn.outline{border-color:#57645a;color:#eff3ef;background:#151a16}.btn.text-btn{border:1px solid #aebbb0;background:none;color:var(--ink)}.actions{display:flex;gap:12px;align-items:center}.brand{display:inline-flex;flex-direction:column;align-items:flex-end;width:120px;gap:2px}.brand img{width:120px;max-width:none}.brand span{font-size:8.4px;line-height:1.1;letter-spacing:.015em;padding-right:3px}.header{background:#fff;border-bottom:1px solid #dde1dc}.head-inner{height:84px;display:flex;align-items:center;justify-content:space-between}.head-inner nav{display:flex;align-items:stretch;align-self:stretch;gap:35px}.head-inner nav a{display:flex;align-items:center;position:relative;color:#404742;font-size:14px;font-weight:470}.head-inner nav a.active{color:#161c17;font-weight:650}.head-inner nav a.active:after{position:absolute;content:'';bottom:17px;left:50%;width:6px;height:6px;background:var(--green);border-radius:50%;transform:translateX(-50%)}
.home-hero{background:#101511;position:relative;isolation:isolate;color:#f4f6f1;overflow:hidden}.hero-inner{position:relative;min-height:655px;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;padding:60px 0 66px}.hero-copy .eyebrow{color:#d8e3d8;margin-bottom:26px}.hero-copy h1{font-size:clamp(70px,6.1vw,96px);line-height:.99}.hero-copy p{color:#ced8ce;font-size:17px;max-width:410px;margin:25px 0 31px;line-height:1.6}.hero-visual{position:absolute;width:64%;right:0;top:0;bottom:0;overflow:hidden;background:#171d18}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 47%}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101511 0%,rgba(16,21,17,.74) 10%,transparent 31%),linear-gradient(0deg,#101511 0%,transparent 23%,transparent 85%,rgba(16,21,17,.60) 100%)}.visual-top,.visual-caption{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;right:0;font-size:10px;letter-spacing:.13em;font-weight:500;color:#ebf2e9}.visual-top{top:29px;border:1px solid #576c5c;padding:10px 13px;background:#121b15e0;border-radius:4px}.visual-top span:first-child{color:#66db75}.dim{color:#a3afa5}.visual-caption{bottom:34px}.visual-caption i{width:36px;height:1px;background:#77a37b}
.process-band{background:var(--green);color:#071809}.process-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);min-height:74px;align-items:center}.process-band .wrap>div{border-left:1px solid #00620a70;padding:0 24px;display:flex;align-items:center;gap:12px;font-size:15px;font-weight:620}.process-band .wrap>div:first-child{padding-left:0;border-left:0}.process-band .wrap>div:last-child{justify-content:space-between;padding-right:0}.process-band span{font-size:11px;letter-spacing:.06em;font-weight:600}
.section{padding-block:86px}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-intro .eyebrow{margin-bottom:14px}.section-intro>p{max-width:330px;font-size:15px}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{display:block;min-width:0}.project-picture{height:246px;overflow:hidden;background:#dedfd8}.project-picture img{width:100%;height:100%;object-fit:cover;object-position:center}.project-info{border:1px solid var(--line);border-top:0;background:#fff;min-height:91px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.project-info .small{color:#536056;font-size:10px;text-transform:uppercase;display:block;line-height:1.5;margin-bottom:5px;letter-spacing:.075em}.project-info h3{font-size:28px}.circle{width:35px;height:35px;border-radius:50%;border:1px solid #bbc9bd;display:grid;place-items:center;color:var(--green-ink);flex:none}.circle .icon{height:15px;width:15px}
.cta{background:#e4ede2;border-top:1px solid #d2ded0}.cta-inner{min-height:238px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:45px}.cta h2{font-size:46px;margin:10px 0}.cta p{font-size:15px}.cta .btn{min-height:53px}.cta h2,.cta p{max-width:920px}
footer{background:#171a17;color:#f1f4ef}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .85fr;gap:40px;padding:45px 0 33px}.footer-grid .brand{margin-bottom:12px}.footer-grid p{font-size:13px;color:#c4cdc3}.footer-grid b{font-size:14px;display:block;font-weight:600;margin-bottom:12px}.footer-grid>div>a:not(.brand),.footer-nav a{display:block;color:#c4cdc3;font-size:13px;margin:4px 0}.footer-grid .icon{width:13px;height:13px;margin-left:4px}.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(80px,108px));gap:0 16px}.footer-bottom{min-height:50px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #3a443b;font-size:11px;color:#bac3b9}
.page-intro{display:grid;grid-template-columns:1.65fr 1fr;gap:48px;align-items:end;padding-block:62px 46px}.page-intro .eyebrow,.about-copy .eyebrow{margin-bottom:17px}.page-intro p{font-size:18px;line-height:1.6;max-width:372px;margin-bottom:11px}.page-intro h1{font-size:76px}
.service-lead{display:grid;grid-template-columns:.83fr 1.17fr;background:var(--night);color:#f2f6f1;min-height:367px}.lead-copy{padding:40px 42px;align-self:center}.lead-copy .index{color:#84e48d}.lead-copy h2{font-size:45px;margin:13px 0 15px}.lead-copy p{color:#c9d3c8;max-width:362px;font-size:15px;margin-bottom:23px}.lead-image,.about-photo{position:relative;overflow:hidden;min-height:100%}.lead-image img,.about-photo img,.feat-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 54%}.image-label{position:absolute;bottom:17px;right:18px;background:#141815ed;color:#f1f4ef;padding:8px 11px;font-size:10px;letter-spacing:.08em;font-weight:500;text-transform:uppercase}.service-cards{margin-block:22px 70px}.service-cards article,.values article{background:#fff;border:1px solid var(--line);padding:22px;min-height:190px}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:#59665b}.line-icon{border:1px solid #c2d2c4;background:#edf5eb;color:var(--green-ink);width:43px;height:43px;border-radius:4px;display:grid;place-items:center}.service-cards h3,.values h3{font-size:23px;margin-bottom:10px}.service-cards p,.values p{font-size:14px}
.flow{background:var(--night);color:#f1f5ef;padding-block:63px 69px}.flow p{color:#c8d3c8}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.steps>div{border-top:1px solid #637568;padding-top:20px}.steps span{color:#83e38b;font-size:12px;letter-spacing:.12em}.steps h3{font-size:22px;margin:10px 0 7px}.steps p{font-size:13px;max-width:218px}
.projects-intro{background:var(--night);color:#f1f5ef;position:relative;isolation:isolate;overflow:hidden}.projects-intro:before{content:'';position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(90deg,transparent 0px,transparent 59px,#a4dab312 59px,#a4dab312 60px),repeating-linear-gradient(0deg,transparent 0px,transparent 59px,#a4dab312 59px,#a4dab312 60px);mask-image:linear-gradient(90deg,transparent 34%,#000 100%)}.projects-intro p{color:#d0d8ce}.projects-intro .page-intro{padding-bottom:61px}.project-body{padding-top:30px;padding-bottom:79px}.filters{display:flex;align-items:center;gap:9px;margin-bottom:27px}.filters>span{margin-right:13px;color:#59665b}.filters button{font-size:13px;padding:7px 13px;border:1px solid #c2cdc2;background:none;color:#3d4a3e;border-radius:4px}.filters button.selected{border-color:#222c24;background:#222c24;color:#f6f8f5}.featured{display:grid;grid-template-columns:1.6fr 1fr;background:#212a23;color:#f3f6f1;min-height:390px;margin-bottom:66px}.feat-image{position:relative;min-width:0;overflow:hidden}.feat-image img{object-position:center 55%}.feat-text{padding:35px 41px;align-self:center}.feat-text .eyebrow{color:#d5e2d5}.feat-text h2{font-size:57px;margin:11px 0 12px}.feat-text p{color:#cfd8cd;font-size:15px;max-width:346px;margin-bottom:24px}.feat-meta{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:5px 14px;border-top:1px solid #526153;padding-top:12px}.feat-meta span{font-size:10px;letter-spacing:.1em;color:#aad0ad}.feat-meta b{font-size:13px;font-weight:550}.gallery{row-gap:27px}.gallery .project-picture{height:235px}
.about-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;min-height:570px;align-items:stretch;padding-block:50px 52px}.about-copy{align-self:center}.about-copy h1{font-size:94px;margin-bottom:20px}.about-copy p{font-size:17px;max-width:425px;margin-top:13px}.about-photo img{object-position:50% 53%}.proof{background:#232a24;color:#f5f7f3}.proof-inner{min-height:159px;display:flex;align-items:center;justify-content:space-between;gap:34px}.proof-inner>div:first-child{display:flex;align-items:center;gap:22px}.proof-inner .stat{font-size:80px;line-height:1;letter-spacing:-.08em;font-weight:650;color:#70e77e}.proof-inner b{font-size:21px;display:block}.proof-inner b+span,.proof-note{color:#c8d2c8;font-size:13px}.proof-note{border-left:1px solid #556759;padding-left:20px}.values{padding-block:76px 49px}.values .small{display:inline-block;color:var(--green-ink);margin-bottom:15px}.values article{min-height:151px}.names{padding:22px 0 56px;border-top:1px solid var(--line)}.names>.small{color:#576458;margin-bottom:20px}.names-list{display:flex;justify-content:space-between;gap:12px;font-weight:700;font-size:28px;letter-spacing:-.07em;color:#414b42}
.contact-intro{padding-bottom:39px}.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:25px;align-items:start}.contact-card{background:#18201a;min-height:590px;padding:38px;position:relative;isolation:isolate;overflow:hidden;color:#f5f8f4}.contact-card .eyebrow{color:#e1eae0}.contact-card h2{font-size:42px;margin:13px 0 28px}.contact-line{display:flex;align-items:center;gap:14px;border-top:1px solid #3e5041;padding:14px 0;position:relative;z-index:1}.contact-line .icon{color:#83e38b}.contact-line span{font-size:11px;color:#bfcfc0;display:block}.contact-line b{font-size:16px;font-weight:530}.wa-button{margin-top:9px;position:relative;z-index:1}.contact-graphic{position:absolute;bottom:11px;right:13px;color:#507b59}.form-shell{background:#fff;border:1px solid var(--line);padding:32px}.form-shell h2{font-size:34px;margin-bottom:5px}.form-shell p{font-size:12px;margin-bottom:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 15px}.field label{display:block;font-size:12px;font-weight:550;margin-bottom:4px}.placeholder{min-height:41px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border:1px solid #cdd7ce;border-radius:4px;color:#586459;font-size:12px;background:#f9faf8}.placeholder .icon{width:15px;height:15px}.field.full{grid-column:1/-1}.placeholder.textarea{min-height:72px;align-items:start;padding-top:9px}.attach{margin-top:13px;border:1px dashed #aebfaf;border-radius:4px;padding:8px 10px;display:flex;align-items:center;gap:9px;font-size:12px;color:#3d5540}.attach small{margin-left:auto;color:#586459;font-size:10px}.attach .icon{width:15px;height:15px}.submit{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.consent{display:flex;align-items:center;gap:7px;font-size:11px;color:#4f5d51}.consent i{width:13px;height:13px;flex:none;border:1px solid #a8b5a9;border-radius:2px}.contact-note{display:flex;align-items:center;gap:14px;margin-block:22px 61px;border-top:1px solid var(--line);padding-top:20px}.contact-note>span{display:grid;place-items:center;width:38px;height:38px;background:#e5ede3;border-radius:4px;color:var(--green-ink)}.contact-note b{font-size:14px}.contact-note p{font-size:13px}
.feat-image img{object-position:center 14%}

/* Native Elementor widgets retain editable content and inherit the site's visual layout. */
.ramga-page{margin:0;font-family:Lexend,Arial,sans-serif;color:var(--ink);background:var(--paper)}
.ramga-page .elementor{color:inherit;font-family:inherit}
.ramga-page .elementor .ramga-layout{--padding-block-start:0;--padding-block-end:0;--padding-inline-start:0;--padding-inline-end:0;--widgets-spacing:0px;--gap:0px;--min-height:0px;max-width:none}
.ramga-page .elementor .ramga-layout.wrap{width:calc(100% - 144px);max-width:1360px;margin-inline:auto}
:where(.ramga-page .elementor) .ramga-layout.e-con{display:block}
.ramga-page .elementor .ramga-layout>.elementor-widget{width:auto;min-width:0}
.ramga-page .elementor :is(.rw-heading,.rw-text,.rw-image,.rw-html,.rw-short),
.ramga-page .elementor :is(.rw-heading,.rw-text,.rw-image,.rw-html,.rw-short)>.elementor-widget-container,
.ramga-page .elementor .rw-short .elementor-shortcode{display:contents}
.ramga-page .elementor .rw-heading .elementor-heading-title{font-family:Lexend,Arial,sans-serif;line-height:1.03;letter-spacing:-.055em;font-weight:650;color:inherit}
.ramga-page .elementor .hero-copy h1.elementor-heading-title{font-size:clamp(59px,5.8vw,86px);line-height:.99}
.ramga-page .elementor .rw-image img{border-radius:0}
.ramga-page .elementor .rw-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 18px;gap:17px;border:1px solid transparent;border-radius:5px;font:650 13px/1.3 Lexend,Arial,sans-serif;white-space:nowrap;text-decoration:none}
.ramga-page .elementor .rw-button .elementor-button::after{content:"↗";font-size:19px;line-height:1}
.ramga-page .elementor .rw-button.arrow-right .elementor-button::after{content:"→"}
.ramga-page .elementor .rw-button.primary .elementor-button{background:var(--green);color:#071809}
.ramga-page .elementor .rw-button.outline .elementor-button{border-color:#57645a;color:#eff3ef;background:#151a16}
.ramga-page .elementor .rw-button.text-btn .elementor-button{border-color:#aebbb0;background:none;color:var(--ink)}
.ramga-page .elementor .header :is(a,.btn),.ramga-page .elementor footer a{color:inherit;text-decoration:none}
.ramga-page .elementor .header .btn.primary{color:#071809}
.ramga-page .elementor footer .footer-grid>div>a:not(.brand),.ramga-page .elementor footer .footer-nav a{color:#c4cdc3}
.ramga-page .elementor .hero-inner{display:flex}
.ramga-page .elementor .actions{display:flex;gap:12px}
.ramga-page .elementor .process-band .wrap{display:grid;gap:0}
.ramga-page .elementor .process-band .wrap>div{display:flex;gap:12px}
.ramga-page .elementor .section-intro{display:flex;gap:30px}
.ramga-page .elementor .triple{display:grid;gap:22px}
.ramga-page .elementor .gallery{row-gap:27px}
.ramga-page .elementor .project-info{display:flex;gap:10px}
.ramga-page .elementor .cta-inner{display:flex;gap:30px}
.ramga-page .elementor .page-intro{display:grid;gap:48px}
.ramga-page .elementor .service-lead,.ramga-page .elementor .featured,.ramga-page .elementor .steps{display:grid}
.ramga-page .elementor .steps{gap:22px}
.ramga-page .elementor .service-top{display:flex}
.ramga-page .elementor .about-intro{display:grid;gap:55px}
.ramga-page .elementor .proof-inner{display:flex;gap:34px}
.ramga-page .elementor .proof-inner>div:first-child{display:flex;gap:22px}
.ramga-page .elementor .contact-grid{display:grid;gap:25px}
.ramga-page .elementor .contact-note{display:flex;gap:14px}
.ramga-page .elementor .project-picture img{height:100%;object-fit:cover}
.ramga-page .elementor .lead-image img,.ramga-page .elementor .about-photo img,.ramga-page .elementor .feat-image img{height:100%;width:100%;object-fit:cover}

.hero-visual{background:radial-gradient(ellipse at 62% 73%,#405a45 0,#252f27 43%,#101511 83%)}
.ramga-3d-surface{position:absolute;inset:0}
.ramga-3d-surface canvas{display:block;width:100%;height:100%;position:absolute;inset:0}
.ramga-3d-surface .ramga-3d-poster{height:100%;width:100%;object-fit:cover}
.hero-visual.is-live .ramga-3d-poster{visibility:hidden}
.ramga-3d-controls{position:absolute;z-index:2;bottom:24px;right:clamp(18px,5vw,74px);display:flex;align-items:center;justify-content:end;gap:12px;font-size:10px;letter-spacing:.055em;color:#e1eae0}
.ramga-3d-controls button{background:#121b15;color:#eff6ef;border:1px solid #607666;border-radius:4px;padding:8px 11px;font-size:11px;font-weight:600;text-transform:none}
.ramga-3d-controls button:hover,.ramga-3d-controls button:focus-visible{background:#2a3c2e;color:#fff}
.ramga-3d-controls button[hidden],.filters[hidden],.ramga-layout[hidden],.project .circle:not(button){display:none!important}
.ramga-page button.circle{padding:0;background:white}
.ramga-page button.circle:hover{background:#edf5eb;color:#005a0a}
.ramga-page .filters button:hover{background:#e2ece0;color:#273c2b}
.ramga-page .filters button.selected{background:#222c24;color:#f6f8f5}
.ramga-page .ramga-dialog{width:min(780px,calc(100vw - 28px));max-height:90vh;border:1px solid #d7ddd5;padding:21px;color:var(--ink);background:var(--white)}
.ramga-page .ramga-dialog::backdrop{background:#1119}
.ramga-dialog img{width:100%;max-height:64vh;object-fit:contain;background:#e9ede7;margin-top:12px}
.ramga-dialog h2{font-size:30px;margin:0 92px 5px 0}
.ramga-dialog button{position:absolute;right:14px;top:14px;background:#e6ede3;color:#173319;border:1px solid #b8c8b9;border-radius:4px;padding:6px 12px;text-transform:none}
.ramga-page .contact-grid .rw-short .form-shell{min-width:0}
.form-shell .placeholder{width:100%;font:400 13px Lexend,Arial,sans-serif;color:#344436}
.form-shell .placeholder:focus{outline:2px solid #007711;outline-offset:1px}
.form-shell .placeholder::placeholder{color:#586459;opacity:1}
.form-shell .textarea{padding:10px}
.form-shell .attach{flex-wrap:wrap}
.form-shell .attach input{max-width:100%;width:min(280px,100%);font-size:12px;padding:2px;color:#304233}
.form-shell .attach input::file-selector-button{font:inherit;color:#304233;margin-right:6px}
.form-shell .consent{align-items:start}
.form-shell .consent input{margin-top:3px;accent-color:#007711}
.form-shell .consent a{text-decoration:underline;color:#007711}
.form-shell .btn{border:0;text-transform:none}
.form-shell .form-feedback{padding:9px 10px;border:1px solid #c3d6c4;background:#edf5eb;color:#1b4721}
.ramga-honeypot,.ramga-page .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ramga-page :is(a,button,input,textarea):focus-visible{outline:2px solid #188628;outline-offset:3px}
@media(max-width:1150px){
 .wrap,.ramga-page .elementor .ramga-layout.wrap{width:calc(100% - 92px)}
 .head-inner nav{gap:23px}.hero-inner{min-height:582px}
 .page-intro h1,.about-copy h1{font-size:clamp(51px,6vw,76px)}
 .project-picture,.gallery .project-picture{height:clamp(175px,21vw,246px)}
 .form-shell{padding:22px}.contact-card{padding:26px}.contact-line b{font-size:14px;overflow-wrap:anywhere}
}
@media(max-width:800px){
 .head-inner{height:auto;min-height:77px;flex-wrap:wrap;row-gap:10px;padding-top:12px}
 .head-inner nav{order:3;width:100%;justify-content:space-between;min-height:44px;gap:10px;border-top:1px solid #dde1dc}
 .head-inner nav a{font-size:12px;justify-content:center}.head-inner nav a.active::after{bottom:5px;width:4px;height:4px}
 .wrap,.ramga-page .elementor .ramga-layout.wrap{width:calc(100% - 40px)}
 .ramga-page .elementor .page-intro{grid-template-columns:1fr;gap:16px;padding-block:42px 36px}
 .page-intro p{margin:0;font-size:16px}.page-intro h1{font-size:clamp(46px,8vw,64px)}
 .ramga-page .elementor .about-intro{gap:27px;min-height:440px}
 .ramga-page .elementor .steps{grid-template-columns:repeat(2,1fr)}
 .ramga-page .elementor .contact-grid{grid-template-columns:1fr}
 .contact-card{min-height:350px}.contact-graphic{bottom:0;opacity:.55}
 .section{padding-block:55px}.cta-inner{min-height:205px}.cta h2{font-size:39px}
 .ramga-page .elementor .section-intro{gap:16px}.section-intro h2{font-size:clamp(35px,5vw,48px)}
}
@media(max-width:620px){
 .head-inner>.btn{min-height:40px;padding:0 11px;gap:7px;font-size:12px}.head-inner .brand,.head-inner .brand img{width:108px}
 .ramga-page .elementor .hero-inner{min-height:0;display:block}
 .hero-copy{padding:42px 0 27px}.hero-copy .eyebrow{margin-bottom:14px}
 .ramga-page .elementor .hero-copy h1.elementor-heading-title{font-size:clamp(42px,8.7vw,64px)}
 .hero-copy p{margin:17px 0 20px;font-size:15px}.hero-visual{position:relative;width:100%;height:clamp(268px,67vw,395px);top:auto;right:auto;bottom:auto}
 .home-hero{display:flex!important;flex-direction:column-reverse}
 .home-hero>.rw-short{order:0}.home-hero>.hero-inner{order:1}
 .hero-visual::after{background:linear-gradient(0deg,#101511 0%,transparent 28%,transparent 89%,#101511 100%);pointer-events:none}
 .ramga-3d-controls{left:20px;right:20px;bottom:15px;justify-content:space-between;gap:8px;font-size:9px}
 .ramga-page .elementor .process-band .wrap{grid-template-columns:repeat(2,minmax(0,1fr));min-height:84px}
 .ramga-page .elementor .process-band .wrap>div{border:0;padding:0;justify-content:flex-start;gap:7px;font-size:12px}
 .process-band .wrap>div:last-child .icon{width:14px}
 .ramga-page .elementor .triple,.ramga-page .elementor .service-lead,.ramga-page .elementor .featured,.ramga-page .elementor .about-intro{grid-template-columns:1fr;gap:14px}
 .ramga-page .elementor .featured,.ramga-page .elementor .service-lead{gap:0}
 .ramga-page .elementor .section-intro,.ramga-page .elementor .cta-inner{flex-direction:column;align-items:start;gap:13px}
 .gallery .project-picture,.project-picture{height:clamp(188px,57vw,325px)}
 .about-copy h1{margin-bottom:12px}.about-copy p{font-size:15px}
 .about-photo,.lead-image,.feat-image{height:clamp(210px,56vw,340px)}
 .feat-text,.lead-copy{padding:24px}.lead-copy h2,.feat-text h2{font-size:37px}
 .service-cards{margin-bottom:42px}.service-cards article,.values article{min-height:0}
 .filters{flex-wrap:wrap;gap:6px}.filters>span{width:100%;margin:0}
 .about-intro{padding-block:34px}.proof-inner{min-height:126px}.proof-inner .stat{font-size:58px}
 .proof-note{display:none}.names-list{flex-wrap:wrap;font-size:21px;gap:10px 18px}
 .cta-inner{min-height:0;padding-block:28px}.cta h2{font-size:34px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:21px;padding-top:28px}
 .footer-grid>div:last-child{grid-column:1/-1}
 .footer-bottom{font-size:10px;gap:12px}
 .form-shell{padding:17px}.form-shell h2{font-size:29px}.form-grid{gap:11px}
 .form-shell .submit{align-items:start;flex-direction:column;gap:12px}
}
@media(max-width:382px){
 .wrap,.ramga-page .elementor .ramga-layout.wrap{width:calc(100% - 30px)}
 .form-grid{grid-template-columns:1fr}
 .form-shell .attach{display:block}.form-shell .attach>*{display:block;margin-bottom:5px}
 .actions .rw-button .elementor-button{padding:0 11px;gap:8px}
}
.ramga-page .elementor :is(.hero-inner,.actions,.process-band .wrap>div,.section-intro,.project-info,.cta-inner,.service-top,.proof-inner,.proof-inner>div:first-child,.contact-note){flex-direction:row}
.ramga-page .elementor .hero-inner{align-items:center}
.ramga-page .elementor .rw-button .elementor-button::after{content:"";width:16px;height:16px;flex:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center/contain no-repeat}
.ramga-page .elementor .rw-button.arrow-right .elementor-button::after{content:"";mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E")}
@media(max-width:620px){
 .ramga-page .elementor :is(.section-intro,.cta-inner){flex-direction:column}
}
@media(max-width:480px){
 .form-grid{grid-template-columns:1fr}
}
.ramga-3d-controls[hidden]{display:none}
.ramga-3d-controls{gap:10px;max-width:calc(100% - 40px)}
.ramga-3d-caption{display:grid;gap:2px;min-width:0;color:#f1f6f0;font-size:12px;font-weight:600;letter-spacing:0;line-height:1.2;text-align:right}
.ramga-3d-caption small{font-size:9px;font-weight:450;color:#c7d5c7;letter-spacing:.04em}
.ramga-3d-options{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.ramga-3d-options button{min-width:35px;min-height:35px;padding:6px}
.ramga-3d-options button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#071809}
.ramga-3d-controls [data-carousel-toggle]{min-height:35px;flex:none}
@media(max-width:620px){
 .ramga-3d-controls{justify-content:flex-start;flex-wrap:wrap;row-gap:7px;bottom:12px}
 .ramga-3d-caption{text-align:left;flex-basis:100%}
}

/* Interaction stays available with JavaScript disabled or reduced motion enabled. */
.ramga-preview-ready{position:relative}
.ramga-page .ramga-image-trigger{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:zoom-in}
.ramga-page .ramga-image-trigger:hover,.ramga-page .ramga-image-trigger:focus{background:transparent}
.ramga-page .ramga-image-trigger:focus-visible{outline:3px solid var(--green);outline-offset:-4px}
.ramga-page .project.ramga-preview-ready .circle:not(button){display:grid!important}
.ramga-page :is(.lead-image,.feat-image,.about-photo) .ramga-image-trigger::after{
 content:"+";position:absolute;left:15px;bottom:15px;width:34px;height:34px;display:grid;place-items:center;
 border-radius:50%;background:#18221be8;color:#fff;border:1px solid #ecf7ef70;font-size:21px;font-weight:400;line-height:1
}
.ramga-page .head-inner nav a::before{
 content:"";position:absolute;left:0;right:0;bottom:24px;height:1px;background:var(--green);
 transform:scaleX(0);transform-origin:left
}
.ramga-page .head-inner nav a:is(:hover,:focus-visible)::before{transform:scaleX(1)}
.ramga-page .form-shell :is(input,textarea):focus{border-color:var(--green-ink)}
@media(max-width:800px){
 .ramga-page .head-inner nav a::before{bottom:11px}
}
@media(prefers-reduced-motion:no-preference){
 .ramga-page :is(.ramga-enter,.ramga-filter-in){animation:ramga-entry .48s cubic-bezier(.23,.68,.24,1) both}
 .ramga-page .hero-visual.is-live canvas{animation:ramga-fade-in .26s ease-out both}
 .ramga-page .ramga-dialog[open]{animation:ramga-dialog-in .23s ease-out both}
 .ramga-page .ramga-dialog[open]::backdrop{animation:ramga-fade-in .23s ease-out both}
 .ramga-page .head-inner nav a::before{transition:transform .20s ease-out}
 .ramga-page :is(.btn,.rw-button .elementor-button,.filters button,.ramga-3d-controls button){transition:transform .18s ease-out,box-shadow .18s ease-out,background-color .18s ease-out}
 .ramga-page :is(.btn,.rw-button .elementor-button,.filters button,.ramga-3d-controls button):active{transform:translateY(1px) scale(.98)}
 .ramga-page .ramga-preview-ready img{transition:transform .40s cubic-bezier(.22,.61,.36,1),filter .28s ease-out}
 .ramga-page .project.ramga-preview-ready .circle{transition:background-color .20s ease-out,transform .20s ease-out,color .20s ease-out}
 .ramga-page .ramga-preview-ready:focus-within img{transform:scale(1.035)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .ramga-page :is(.btn,.rw-button .elementor-button):hover{transform:translateY(-2px);box-shadow:0 8px 18px #10201427}
 .ramga-page :is(.btn,.rw-button .elementor-button):active{transform:translateY(1px) scale(.98)}
 .ramga-page .ramga-preview-ready:hover img{transform:scale(1.045);filter:saturate(1.07)}
 .ramga-page .project.ramga-preview-ready:hover .circle{background:#e3f0e2;color:#005d0e;transform:translate(2px,-2px)}
}
@keyframes ramga-entry{from{opacity:.72;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes ramga-fade-in{from{opacity:.45}to{opacity:1}}
@keyframes ramga-dialog-in{from{opacity:.45;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}

/* Portada de Ramga 1.2 */
.ramga-page .hero-copy .ramga-hero-kicker{
 margin:0 0 16px;color:#cad5cb;font-size:13px;font-weight:500;letter-spacing:.04em
}
.ramga-page .hero-visual{
 background:radial-gradient(ellipse at 64% 69%,#4b5553 0,#283233 42%,#111818 74%,#101511 100%)
}
.ramga-page .hero-visual.is-live canvas{animation:none}
.ramga-page .hero-visual::after{pointer-events:none}
.ramga-page .ramga-3d-controls{gap:16px;bottom:25px}
.ramga-3d-progress{position:relative;width:clamp(58px,9vw,144px);height:1px;background:#f1f6f03b;overflow:hidden}
.ramga-3d-progress i{position:absolute;inset:0;background:#c8e4cd;transform-origin:left;transform:scaleX(1)}
.ramga-3d-navigation{display:flex;gap:3px;align-items:center}
.ramga-page .ramga-3d-navigation button{
 display:grid;place-items:center;min-height:36px;min-width:36px;padding:0;border:1px solid transparent;
 border-radius:50%;background:#131a19b8;color:#f1f7f2
}
.ramga-page .ramga-3d-navigation button:is(:hover,:focus-visible){background:#283731;border-color:#a7c0af}
.ramga-page .ramga-3d-navigation [data-carousel-toggle]{border-color:#f1f6f03d}
.ramga-3d-controls[data-playing="false"] [data-motion-icon="pause"],
.ramga-3d-controls[data-playing="true"] [data-motion-icon="play"]{display:none}

.ramga-ribbon{position:relative;overflow:hidden;background:#0d9b22;color:#071b0b}
.ramga-ribbon-viewport{overflow:hidden}
.ramga-ribbon-track,.ramga-ribbon-set{display:flex;align-items:center;width:max-content}
.ramga-ribbon-set{gap:clamp(21px,4.1vw,58px);padding-inline:clamp(18px,3vw,42px)}
.ramga-ribbon-set span{white-space:nowrap;font-size:clamp(18px,3vw,41px);font-weight:700;letter-spacing:-.047em;line-height:1;padding:23px 0}
.ramga-ribbon-set i{width:14px;height:14px;flex:none;border:2px solid #09270e;border-radius:50%}
.ramga-ribbon-toggle[hidden]{display:none}
.ramga-page .ramga-ribbon-toggle{
 position:absolute;top:50%;right:clamp(9px,3vw,42px);transform:translateY(-50%);
 width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid #0b3111;
 border-radius:50%;background:#102817;color:#f4fbf5;box-shadow:0 0 15px 13px #0d9b22
}
.ramga-page .ramga-ribbon-toggle[hidden]{display:none}
.ramga-page .ramga-ribbon-toggle:focus-visible{outline-color:#102817}
.ramga-ribbon[data-playing="true"] [data-motion-icon="play"],
.ramga-ribbon[data-playing="false"] [data-motion-icon="pause"]{display:none}
.ramga-clients{padding:48px 0 0}
.ramga-clients-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:19px}
.ramga-clients-heading h2{margin:0;font-size:clamp(22px,3.1vw,36px);font-weight:700;letter-spacing:-.045em;color:#122219}
.ramga-clients-heading p{margin:0;color:#54635a;font-size:13px}
.ramga-clients-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #dbe1da;border-radius:5px;overflow:hidden}
.ramga-client{display:grid;place-items:center;min-height:104px;padding:16px 11px;background:#fafbf9;border-right:1px solid #dbe1da}
.ramga-client:last-child{border:0}
.ramga-page .ramga-client img{width:min(100%,133px);height:52px;object-fit:contain;filter:grayscale(1);opacity:.83}
.ramga-page .ramga-client:hover{background:#fff}
.ramga-page .ramga-client:hover img{filter:none;opacity:1}
.ramga-page .ramga-client:nth-child(2) img,.ramga-page .ramga-client:last-child img{height:51px;width:60px}
.ramga-page .ramga-client:nth-child(3) img{height:44px}
@media(prefers-reduced-motion:no-preference){
 .ramga-ribbon[data-motion="true"] .ramga-ribbon-track{animation:ramga-ribbon-pass 32s linear infinite}
 .ramga-ribbon[data-playing="false"] .ramga-ribbon-track{animation-play-state:paused}
 .ramga-client,.ramga-client img{transition:background-color .22s ease,opacity .22s ease,filter .22s ease,transform .26s ease}
 .ramga-client:hover img{transform:translateY(-3px) scale(1.055)}
}
@keyframes ramga-ribbon-pass{to{transform:translateX(-50%)}}
@media(max-width:800px){
 .ramga-clients-heading{display:block}
 .ramga-clients-heading p{margin-top:6px}
 .ramga-client{min-height:85px}
}
@media(max-width:620px){
 .ramga-page .ramga-3d-controls{justify-content:flex-end;left:auto;bottom:13px;gap:12px}
 .ramga-page .hero-copy .ramga-hero-kicker{margin-bottom:10px}
 .ramga-ribbon-set span{font-size:clamp(17px,5.15vw,29px);padding-block:17px}
 .ramga-ribbon-set i{width:10px;height:10px}
 .ramga-page .ramga-ribbon-toggle{right:8px;width:32px;height:32px}
 .ramga-clients{padding-top:32px}
 .ramga-clients-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ramga-client{min-height:78px;border-bottom:1px solid #dbe1da}
 .ramga-client:nth-child(3){border-right:0}
 .ramga-client:nth-child(4),.ramga-client:nth-child(5){border-bottom:0}
 .ramga-client:last-child{border-right:1px solid #dbe1da}
 .ramga-page .ramga-client img{height:39px}
 .ramga-page .ramga-client:nth-child(2) img,.ramga-page .ramga-client:last-child img{height:38px}
 .ramga-page .ramga-client:nth-child(3) img{height:33px}
}
.ramga-page .elementor .process-band[hidden]{display:none!important}
