
:root{--green:#153c31;--green2:#3f755f;--ink:#101d24;--muted:#68706f;--cream:#f7f4ee;--soft:#f7f7f5;--line:#e7e8e6;--white:#fff;--max:1180px;--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}a{color:inherit;text-decoration:none}img,video{display:block;width:100%}button,input,select,textarea{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px;border:1px solid #ccc}
.site-header{height:72px;background:rgba(255,255,255,.97);border-bottom:1px solid #eee;position:sticky;top:0;z-index:20}.nav{height:100%;display:flex;align-items:center;gap:28px}.brand{width:118px;line-height:.88}.brand-main{display:block;font-weight:900;font-size:31px;letter-spacing:-1.8px;color:#15342d}.brand-sub{font-size:13px;font-weight:650;color:#56635f}.nav-links{display:flex;gap:24px;align-items:center;margin-left:auto;font-size:13px;color:#56605d}.nav-links a:hover,.nav-links a.active{color:var(--green);font-weight:800}.nav-actions{display:flex;align-items:center;gap:14px}.phone{font-size:13px;color:#41524c}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:7px;padding:13px 21px;font-weight:750;font-size:13px;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-1px);background:#0f2f27}.button-sm{padding:10px 16px}.button-outline{background:#fff;color:#1d332c;border-color:#95a7a0}.button-light{background:#f5f3eb;color:#19372d;border-color:#f5f3eb}.menu-btn{display:none;border:0;background:transparent;font-size:24px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:4px;color:#668077;margin:0 0 18px}.eyebrow.light{color:#c7d8d1}
.hero{background:var(--soft)}.hero-grid{min-height:500px;display:grid;grid-template-columns:45% 55%}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:46px 44px 35px 0}.hero h1{font-size:49px;line-height:.98;letter-spacing:-2.3px;margin:0 0 18px;font-weight:850}.hero h1 span{color:var(--green2)}.lead{font-size:15px;line-height:1.52;max-width:500px;margin:0 0 22px;color:#24312e}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:34px}.trust-row div{display:flex;align-items:flex-start;gap:8px}.trust-row span{font-size:20px;color:var(--green)}.trust-row p{font-size:10px;line-height:1.3;margin:0;color:#2c3935}.hero-photo{position:relative;overflow:hidden;min-height:500px;background:#ddd url("/assets/images/hero-cms.webp") center/cover no-repeat}.hero-photo img{height:100%;object-fit:contain;object-position:center}.photo-badge{position:absolute;right:22px;bottom:24px;background:rgba(248,244,235,.94);border-radius:12px;padding:14px 18px;display:flex;gap:10px;align-items:flex-start;box-shadow:0 8px 26px rgba(0,0,0,.08)}.photo-badge span{color:#286b4f;font-size:24px}.photo-badge p{font-size:11px;line-height:1.35;margin:0;color:#20312b}
.services{padding:34px 0 24px}.services-head{display:grid;grid-template-columns:1.25fr 1fr auto;align-items:end;gap:30px;margin-bottom:20px}.services-head .eyebrow{margin-bottom:10px}.services-head h2{font-size:30px;line-height:1.04;letter-spacing:-1.3px;margin:0}.services-head>p{font-size:12px;line-height:1.5;color:#4e5956;margin:0 0 4px}.plain-link{font-size:12px;font-weight:750;margin-bottom:6px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.service-card>img,.service-card>video{height:155px;object-fit:cover}.video-card video{background:#111}.card-body{padding:16px 14px 17px;min-height:175px;display:flex;flex-direction:column}.mini-icon{font-size:19px;color:#376857;margin-bottom:7px}.card-body h3{font-size:15px;line-height:1.18;margin:0 0 8px}.card-body p{font-size:11px;line-height:1.45;color:#5d6663;margin:0 0 12px}.card-body a{font-size:11px;font-weight:800;color:#315f4f;margin-top:auto}
.process{padding:0}.process-grid{display:grid;grid-template-columns:30% 49% 21%;min-height:255px}.process-left{background:linear-gradient(135deg,#1d5441,#0f3329);color:#fff;padding:29px}.process-left h2{font-size:31px;line-height:1.03;margin:0 0 15px;letter-spacing:-1.3px}.process-left>p:not(.eyebrow){font-size:11px;line-height:1.55;color:#e3ebe7}.process-center{padding:27px 30px 22px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:8px 0 28px}.steps div{position:relative;text-align:center}.steps div:not(:last-child):after{content:"";height:1px;background:#cfd9d4;position:absolute;left:64%;right:-38%;top:14px}.steps span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e5ece8;color:#294b40;font-size:11px;font-weight:800;position:relative;z-index:2}.steps p{font-size:10px;line-height:1.25;margin:7px 0 0}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.benefits div{display:grid;gap:2px}.benefits b{font-size:20px;font-weight:400;color:#325f50}.benefits strong{font-size:11px}.benefits small{font-size:9px;color:#69716e}.process-quote{margin:0;background:var(--cream);padding:35px 27px;font-family:Georgia,serif;font-style:italic;font-size:20px;line-height:1.25;color:#2d3935;display:flex;flex-direction:column;justify-content:center}.process-quote cite{font-family:Arial,sans-serif;font-style:normal;font-size:10px;font-weight:700;margin-top:23px}
.section{padding:70px 0}.section-soft{background:var(--soft)}.section-green{background:var(--green);color:#fff}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:28px}.section-head h2,.page-intro h1{font-size:42px;line-height:1.04;letter-spacing:-1.7px;margin:0}.section-head>p{max-width:520px;color:#5b6662;font-size:14px;line-height:1.6}.section-green .section-head>p{color:#dce6e2}.page-hero{background:var(--soft);padding:62px 0}.page-hero-grid{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:55px}.page-intro h1{font-size:52px}.page-intro p{font-size:17px;line-height:1.6;color:#4b5753;max-width:720px}.page-hero img{height:360px;object-fit:cover;border-radius:13px}.breadcrumb{font-size:11px;color:#73807b;margin-bottom:18px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.pill{font-size:11px;background:#e9efec;color:#294b40;border-radius:999px;padding:8px 11px}.content-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:55px}.prose h2{font-size:30px;letter-spacing:-1px;margin:0 0 15px}.prose h3{font-size:20px;margin:30px 0 10px}.prose p,.prose li{font-size:15px;line-height:1.7;color:#4f5a56}.prose ul{padding-left:20px}.side-card{background:var(--cream);border-radius:12px;padding:24px;position:sticky;top:95px}.side-card h3{margin:0 0 10px;font-size:22px}.side-card p{font-size:13px;line-height:1.55;color:#57625e}.side-links{display:grid;margin-top:18px;border-top:1px solid #dbddd8}.side-links a{padding:11px 0;border-bottom:1px solid #dbddd8;font-size:12px;font-weight:700;color:#315f4f}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{border:1px solid var(--line);padding:16px;border-radius:9px;font-size:13px;line-height:1.4}.check:before{content:'✓';color:#2f6655;font-weight:900;margin-right:8px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.info-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.info-card img{height:210px;object-fit:cover}.info-card-body{padding:20px}.info-card h3{margin:0 0 9px;font-size:20px}.info-card p{font-size:13px;line-height:1.55;color:#5d6663}.info-card a{font-size:12px;color:#315f4f;font-weight:800}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.work-card{position:relative;border-radius:11px;overflow:hidden;background:#111;min-height:310px}.work-card img{height:310px;object-fit:cover;opacity:.88;transition:.25s}.work-card:hover img{transform:scale(1.02);opacity:.72}.work-card .overlay{position:absolute;left:0;right:0;bottom:0;padding:55px 20px 20px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff}.work-card h3{margin:0 0 6px;font-size:19px}.work-card p{font-size:11px;line-height:1.4;margin:0;color:#e5e7e6}.video-feature{display:grid;grid-template-columns:1.25fr .75fr;align-items:stretch;background:#0f2922;border-radius:14px;overflow:hidden;color:#fff;margin-top:22px}.video-feature video{height:370px;object-fit:cover}.video-copy{padding:34px;display:flex;flex-direction:column;justify-content:center}.video-copy h3{font-size:30px;margin:0 0 12px}.video-copy p{font-size:13px;line-height:1.6;color:#dce7e2}.cta-band{background:var(--green);color:#fff;padding:40px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-inner h2{font-size:32px;margin:0 0 8px;letter-spacing:-1px}.cta-inner p{margin:0;color:#d9e5e0;font-size:13px}
.contact{padding:65px 0;background:#f8f8f6;border-top:1px solid #ececeb}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}.contact-copy h2{font-size:40px;letter-spacing:-1.5px;line-height:1;margin:0 0 15px}.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.55;color:#4f5a56;max-width:480px}.contact-meta{display:grid;gap:14px;margin-top:28px}.contact-meta a,.contact-meta div{display:grid;gap:3px}.contact-meta small{color:#77807d;font-size:10px;text-transform:uppercase;letter-spacing:1.2px}.contact-meta strong{font-size:14px}.lead-form{background:#fff;padding:25px;border:1px solid #e3e5e3;border-radius:12px;box-shadow:0 16px 40px rgba(27,48,40,.05)}.lead-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-form label{display:grid;gap:7px;font-size:11px;font-weight:750;color:#31433c;margin-bottom:12px}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #d8ddda;border-radius:7px;padding:11px 12px;font-size:12px;background:#fff;color:#18241f;outline:none}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:#64897a;box-shadow:0 0 0 3px rgba(53,101,83,.08)}.upload input{padding:8px}.upload span{font-weight:400;color:#7b8380}.privacy{display:flex!important;align-items:center;gap:8px!important;font-weight:400!important}.privacy input{width:auto}.submit{border:0}.form-status{font-size:11px;margin:10px 0 0;color:#315f4f}.form-note{font-size:10px;color:#7a817e;line-height:1.45}.whatsapp-fab{position:fixed;right:18px;bottom:18px;background:#214f40;color:#fff;border-radius:999px;padding:12px 15px;font-size:12px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.18);z-index:10}.legal-prose{max-width:850px}.legal-prose h2{margin-top:32px}.notice{padding:15px;border:1px solid #e5d7b9;background:#fff9e8;border-radius:8px;font-size:12px;line-height:1.5;color:#66562e}
.footer{background:#0d1f1c;color:#fff;padding:23px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1.35fr .9fr 1.45fr auto;align-items:center;gap:20px}.footer-brand .brand-main{color:#fff}.footer-brand .brand-sub{color:#cfd8d4}.footer-grid div:not(.footer-brand):not(.legal){display:grid;gap:3px}.footer-grid small{font-size:9px;color:#93a59f}.footer-grid strong,.footer-grid a{font-size:11px}.legal{display:flex;gap:14px}.legal a{font-size:9px;color:#b6c2be}
@media(max-width:1100px){.nav-links{display:none}.menu-btn{display:block;margin-left:auto}.nav-actions .phone{display:none}.nav-links.open{display:flex;position:absolute;top:72px;left:20px;right:20px;background:#fff;flex-direction:column;padding:20px;box-shadow:0 15px 30px rgba(0,0,0,.08)}.hero h1,.page-intro h1{font-size:44px}.process-grid{grid-template-columns:1fr}.process-quote{min-height:190px}.footer-grid{grid-template-columns:1fr 1fr 1fr}.legal{grid-column:1/-1}.hero-grid{grid-template-columns:1fr 1.1fr}.work-grid,.cards-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.wrap{width:min(100% - 24px,var(--max))}.site-header{height:64px}.nav{gap:10px}.nav-actions .button{font-size:11px;padding:9px 10px}.brand{width:90px}.brand-main{font-size:26px}.brand-sub{font-size:11px}.hero-grid,.page-hero-grid{grid-template-columns:1fr}.hero-copy{padding:38px 0 28px}.hero h1,.page-intro h1{font-size:42px}.hero-photo{min-height:320px}.trust-row{grid-template-columns:1fr 1fr}.services-head,.section-head{display:block}.services-head>p,.section-head>p{margin:12px 0}.service-grid,.work-grid,.cards-3,.cards-2{grid-template-columns:1fr 1fr}.service-card>img,.service-card>video{height:150px}.steps{grid-template-columns:1fr;gap:14px}.steps div:not(:last-child):after{display:none}.benefits{grid-template-columns:1fr 1fr}.contact-grid,.content-grid,.video-feature{grid-template-columns:1fr}.lead-form .row,.check-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.legal{grid-column:auto}.nav-links.open{top:64px}.page-hero{padding:42px 0}.page-hero img{height:280px}.side-card{position:static}.video-feature video{height:280px}.cta-inner{display:block}.cta-inner .button{margin-top:18px}.whatsapp-fab{font-size:0;padding:13px}.whatsapp-fab:after{content:'WhatsApp';font-size:11px}}
@media(max-width:480px){.service-grid,.work-grid,.cards-3,.cards-2{grid-template-columns:1fr}.hero h1,.page-intro h1{font-size:38px}.section-head h2{font-size:34px}}

/* Expanded service landing pages */
.mini-features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mini-feature{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px;min-height:125px}.mini-feature span{display:block;color:#356957;font-size:13px;margin-bottom:12px}.mini-feature p{margin:0;font-size:13px;line-height:1.55;color:#4f5a56}.process-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.process-card{border-top:2px solid #315f4f;background:#fff;padding:20px;border-radius:0 0 10px 10px;box-shadow:0 8px 24px rgba(27,48,40,.035)}.process-card small{font-size:10px;color:#75817c;letter-spacing:1.2px}.process-card h3{font-size:17px;margin:9px 0 8px}.process-card p{font-size:12px;line-height:1.55;color:#5c6662;margin:0}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:start}.faq-layout h2{font-size:36px;letter-spacing:-1.2px;margin:0 0 12px}.faq-intro{font-size:14px;line-height:1.65;color:#5e6864}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);padding:0}.faq-item summary{cursor:pointer;list-style:none;font-size:15px;font-weight:800;padding:18px 34px 18px 0;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:5px;top:15px;font-size:22px;font-weight:400;color:#315f4f}.faq-item[open] summary:after{content:'–'}.faq-item p{font-size:13px;line-height:1.65;color:#59635f;margin:0;padding:0 38px 18px 0}.prose>.eyebrow{margin-bottom:8px}
@media(max-width:900px){.mini-features,.process-cards{grid-template-columns:1fr 1fr}.faq-layout{grid-template-columns:1fr;gap:24px}}
@media(max-width:520px){.mini-features,.process-cards{grid-template-columns:1fr}.faq-layout h2{font-size:31px}}

/* SEO/UX production hardening */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.footer strong a{color:inherit;text-decoration:none}.footer strong a:hover{text-decoration:underline}
video{max-width:100%}

/* Multilingual navigation */
.lang-switch{display:inline-flex;align-items:center;gap:2px;border:1px solid #dce3df;border-radius:999px;padding:3px;background:#fff;white-space:nowrap}
.lang-switch a{display:grid;place-items:center;min-width:27px;height:25px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.04em;color:#68756f;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.lang-switch a:hover{color:var(--green);transform:translateY(-1px)}
.lang-switch a.active{background:var(--green);color:#fff}

/* Hero: show the approved artwork in full, without cropping */
.hero-grid{align-items:center}
.hero-photo{min-height:0;aspect-ratio:1672/941;background:#eef1ef;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
@media(max-width:760px){.hero-photo{min-height:0;aspect-ratio:1672/941}.hero-photo img{height:100%;object-fit:contain}}

/* Smooth, comfortable navigation and motion */
@view-transition{navigation:auto}
::view-transition-old(root){animation:cms-fade-out .18s ease both}
::view-transition-new(root){animation:cms-fade-in .28s ease both}
@keyframes cms-fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes cms-fade-out{from{opacity:1}to{opacity:0}}
html.motion-ready body{animation:cms-page-enter .38s cubic-bezier(.2,.7,.2,1) both}
@keyframes cms-page-enter{from{opacity:.01;transform:translateY(5px)}to{opacity:1;transform:none}}
body.page-leaving{opacity:0;transform:translateY(-3px);transition:opacity .16s ease,transform .16s ease}
.reveal-ready [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .62s cubic-bezier(.2,.65,.25,1),transform .62s cubic-bezier(.2,.65,.25,1)}
.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}
.service-card,.info-card,.process-card,.mini-feature,.side-card,.lead-form{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.service-card:hover,.info-card:hover,.process-card:hover,.mini-feature:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(21,60,49,.08);border-color:#d7e0dc}
.button{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.button:hover{box-shadow:0 8px 20px rgba(21,60,49,.13)}
@media(max-width:760px){.nav-actions{gap:7px}.lang-switch{padding:2px}.lang-switch a{min-width:24px;height:23px}.nav-actions .button{padding:9px 9px}}
@media(max-width:390px){.nav-actions .button{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal-ready [data-reveal]{opacity:1!important;transform:none!important}}

/* V10 — premium language controls, hero fidelity and richer motion */
.site-header{background:rgba(255,255,255,.92);backdrop-filter:saturate(145%) blur(14px);-webkit-backdrop-filter:saturate(145%) blur(14px)}
.nav-links a{position:relative;transition:color .22s ease}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--green2);border-radius:9px;transition:right .28s cubic-bezier(.2,.7,.2,1)}
.nav-links a:hover:after,.nav-links a.active:after{right:0}

/* The current language is intentionally hidden: only the other two options are shown. */
.lang-switch{display:flex;align-items:center;gap:7px;border:0;border-radius:0;padding:0;background:transparent;white-space:nowrap}
.lang-switch a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:auto;height:30px;padding:0 8px;border:1px solid #dce3df;border-radius:8px;background:rgba(255,255,255,.94);font-size:9px;font-weight:850;letter-spacing:.05em;color:#55635e;box-shadow:0 2px 8px rgba(21,60,49,.035);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease;color .2s ease}
.lang-switch a:hover{color:var(--green);transform:translateY(-2px);border-color:#9fb5ac;box-shadow:0 7px 18px rgba(21,60,49,.09);background:#fff}
.flag-icon{display:inline-block;width:20px;height:14px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.10) inset;flex:0 0 auto}
.flag-es{background:linear-gradient(to bottom,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75% 100%)}
.flag-ca{background:repeating-linear-gradient(to bottom,#f5d448 0 1.55px,#c92735 1.55px 3.10px)}
.flag-en{background-color:#012169;background-image:linear-gradient(33deg,transparent 43%,#fff 43% 47%,#c8102e 47% 53%,#fff 53% 57%,transparent 57%),linear-gradient(-33deg,transparent 43%,#fff 43% 47%,#c8102e 47% 53%,#fff 53% 57%,transparent 57%),linear-gradient(90deg,transparent 39%,#fff 39% 44%,#c8102e 44% 56%,#fff 56% 61%,transparent 61%),linear-gradient(0deg,transparent 36%,#fff 36% 43%,#c8102e 43% 57%,#fff 57% 64%,transparent 64%)}
.lang-code{line-height:1}

/* Approved hero artwork: always visible in full, never cropped. */
.hero-grid{grid-template-columns:minmax(0,42%) minmax(0,58%);min-height:0;align-items:stretch}
.hero-copy{min-height:410px}
.hero-photo{aspect-ratio:1672/941;min-height:0;background:#eef1ef;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-photo img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;transform:none;filter:none}

/* Premium motion language: movement without sacrificing readability or speed. */
@keyframes cms-hero-copy-in{from{opacity:0;transform:translate3d(-18px,0,0)}to{opacity:1;transform:none}}
@keyframes cms-hero-media-in{from{opacity:0;transform:translate3d(20px,0,0) scale(.985)}to{opacity:1;transform:none}}
.motion-ready .hero-copy{animation:cms-hero-copy-in .72s cubic-bezier(.18,.74,.22,1) .05s both}
.motion-ready .hero-photo{animation:cms-hero-media-in .82s cubic-bezier(.18,.74,.22,1) .12s both}

.service-card{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0)}
.service-card>img,.service-card>video{transform:translate3d(0,var(--media-y,0px),0) scale(var(--media-scale,1.035));transform-origin:center;will-change:transform;transition:transform .72s cubic-bezier(.18,.72,.2,1),filter .45s ease,opacity .45s ease}
.service-card:hover>img{--media-scale:1.095;filter:saturate(1.06) contrast(1.02)}
.service-card:after{content:"";position:absolute;pointer-events:none;z-index:2;top:0;left:-65%;width:38%;height:155px;background:linear-gradient(110deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-13deg);opacity:0}
.service-card:hover:after{left:125%;opacity:1;transition:left .72s cubic-bezier(.2,.7,.2,1),opacity .18s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(21,60,49,.11);border-color:#ccd9d4}

.info-card img,.work-card img,.page-hero img{transform:translate3d(0,var(--media-y,0px),0) scale(var(--media-scale,1.025));will-change:transform;transition:transform .8s cubic-bezier(.18,.72,.2,1),filter .45s ease}
.info-card:hover img{--media-scale:1.065;filter:saturate(1.04)}
.work-card:hover img{--media-scale:1.075;opacity:.72}
.page-hero{overflow:hidden}
.page-hero img{--media-scale:1.035}

.button,.plain-link,.card-body a,.info-card a,.side-links a{position:relative}
.button:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(21,60,49,.16)}
.card-body a,.plain-link,.info-card a{transition:transform .2s ease,color .2s ease}
.card-body a:hover,.plain-link:hover,.info-card a:hover{transform:translateX(4px);color:#174c3b}

/* Slightly richer page transitions */
::view-transition-old(root){animation:cms-v10-out .20s ease both}
::view-transition-new(root){animation:cms-v10-in .34s cubic-bezier(.2,.7,.2,1) both}
@keyframes cms-v10-in{from{opacity:0;transform:translate3d(10px,5px,0)}to{opacity:1;transform:none}}
@keyframes cms-v10-out{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(-7px,-2px,0)}}
body.page-leaving{opacity:0;transform:translate3d(-7px,-2px,0);transition:opacity .17s ease,transform .17s ease}

@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1.12fr}.hero-copy{min-height:390px}.lang-code{display:none}.lang-switch a{padding:0 6px}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.hero-copy{min-height:0}.hero-photo{aspect-ratio:1672/941}.service-card:after{height:150px}.lang-switch{gap:5px}.lang-switch a{height:29px;padding:0 6px}.flag-icon{width:20px;height:14px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-photo{animation:none!important}.service-card>img,.service-card>video,.info-card img,.work-card img,.page-hero img{transform:none!important;will-change:auto!important}.service-card:after{display:none!important}}


/* === V10 SAFE PATCH: hero complete + translation-proof language selector === */
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
.hero{overflow:hidden}
.hero-grid{grid-template-columns:minmax(0,42%) minmax(0,58%)!important;min-height:0!important;align-items:center!important}
.hero-copy{min-width:0!important;min-height:410px!important}
.hero-photo{position:relative!important;align-self:center!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;display:block!important;overflow:hidden!important;background:#eef1ef!important;background-image:none!important}
.hero-photo>img{position:relative!important;display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center center!important;transform:none!important;filter:none!important}
.motion-ready .hero-photo{overflow:hidden!important}
.lang-switch{display:flex!important;align-items:center!important;gap:7px!important;border:0!important;padding:0!important;background:transparent!important;white-space:nowrap!important}
.lang-switch a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:auto!important;height:32px!important;padding:0 8px!important;border:1px solid #dce3df!important;border-radius:8px!important;background:#fff!important;box-shadow:0 2px 8px rgba(21,60,49,.035)!important}
.lang-switch .lang-choice-img{display:block!important;width:52px!important;height:20px!important;max-width:none!important;object-fit:contain!important}
@media(max-width:1280px) and (min-width:1101px){.nav{gap:14px!important}.nav-links{gap:16px!important}.nav-actions{gap:8px!important}.lang-switch{gap:5px!important}.lang-switch a{padding:0 6px!important}.phone{font-size:12px!important}.button-sm{padding-left:13px!important;padding-right:13px!important}}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1.12fr!important}.hero-copy{min-height:390px!important}.lang-switch a{padding:0 5px!important}.lang-switch .lang-choice-img{width:48px!important;height:18px!important}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr!important}.hero-copy{min-height:0!important}.hero-photo{width:100%!important;height:auto!important;aspect-ratio:auto!important}.hero-photo>img{width:100%!important;height:auto!important}.lang-switch{gap:5px!important}.lang-switch a{height:30px!important;padding:0 5px!important}.lang-switch .lang-choice-img{width:46px!important;height:18px!important}}

/* V11 HERO FIX — only adjust the approved homepage hero image position. */
@media (min-width:761px){
  .hero-photo{overflow:hidden!important;background-image:none!important;}
  .hero-photo>img{
    width:112%!important;
    max-width:none!important;
    height:auto!important;
    transform:translateX(-10.5%)!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}
@media (max-width:760px){
  .hero-photo>img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    transform:none!important;
  }
}
