/* Image rendering and a dedicated phone composition. */
.hero-portrait picture{display:block;width:100%;height:100%}
.hero-portrait img,.photo img{image-rendering:auto;filter:none;backface-visibility:hidden}
.presentation-directions .service{backdrop-filter:blur(4px)}
.advantage-layout .photo:after{inset:58% 0 0;background:linear-gradient(transparent,#063b05bc)}
.advantage-layout .photo img{animation:photoPolish 15s ease-in-out infinite alternate}
.advantage-layout .photo>span{font-weight:500;text-shadow:0 2px 10px #063b05a0}
.contact-brand{object-fit:contain}
@keyframes photoPolish{from{transform:scale(1.005) translateX(-.2%)}to{transform:scale(1.035) translateX(.2%)}}
@media(max-width:640px){
 .header{height:78px}.header .logo img{width:154px}.menu{width:40px;height:40px}
 .presentation-hero{min-height:0;display:block;padding-bottom:28px;background:#c5dfb2;border-radius:22px}
 .presentation-hero .hero-portrait{position:relative;inset:auto;height:330px;z-index:0;border-radius:22px 22px 0 0;overflow:hidden}
 .presentation-hero .hero-portrait img{object-fit:cover;object-position:left center;transform-origin:23% center;animation:mobilePortrait 14s ease-in-out infinite alternate}
 .presentation-hero .hero-content{margin:0;padding:25px 23px 28px;background:#c5dfb2}
 .presentation-hero .eyebrow{font-size:8px;line-height:1.5;letter-spacing:.65px}
 .presentation-hero h1{font-size:33px;line-height:1.17;letter-spacing:-1.65px;margin:18px 0 19px}
 .presentation-hero .hero-content>p{font-size:14px;line-height:1.65;margin-bottom:23px}
 .presentation-hero .hero-content>p br{display:none}
 .presentation-hero .button{padding:16px 20px;font-size:13px;gap:28px}
 .presentation-hero .text-link{font-size:11px;margin-left:17px}
 .hero-brand{position:relative;inset:auto;display:flex;margin:0 23px 0 auto;align-items:flex-end;gap:8px}
 .hero-brand img{width:170px}.hero-brand>span{font-size:8px;letter-spacing:.2px}
 .section-label{font-size:9px;letter-spacing:.5px}.section-label>span:last-child{max-width:130px}
 .intro .lead{font-size:20px;line-height:1.5}.intro .muted{font-size:14px;line-height:1.7}
 .facts span{font-size:12px;line-height:1.5}.facts strong{font-size:34px}
 .presentation-directions .service{min-height:300px;backdrop-filter:none;background:linear-gradient(145deg,#f6fff1f5,#e5f1ddeb);padding:26px}
 .presentation-directions .service h3{font-size:29px;line-height:1.13}.presentation-directions .service p{font-size:14px;line-height:1.65}
 .presentation-directions .service-top{font-size:9px}.presentation-directions .service-type{font-size:60px}
 .presentation-approach{padding:25px 19px}.advantage-heading h2{font-size:30px;line-height:1.14}.advantage-heading p{font-size:14px;line-height:1.6}
 .advantage-tiles{gap:12px}.advantage-card{padding:21px 16px;min-height:235px;border-radius:24px}
 .card-index{font-size:8px;letter-spacing:.3px}.advantage-card p{font-size:12px;line-height:1.6}
 .advantage-card p br{display:none}.advantage-card h3{font-size:25px;line-height:1.1;margin:22px 0}
 .experience h3{font-size:35px}.ecosystem-card h3{font-size:21px;letter-spacing:-1px}.analytics h3{font-size:23px}.flexibility h3{font-size:20px;letter-spacing:-.7px}
 .marketing{padding-right:20px;min-height:240px}.marketing h3{font-size:28px;max-width:250px;margin-bottom:17px}.marketing p{max-width:210px;margin:0;padding-right:40px}.marketing>img{width:80px;right:17px;bottom:23px}
 .advantage-layout .photo{min-height:340px}.advantage-layout .photo img{object-position:52% center}.advantage-layout .photo>span{font-size:22px;line-height:1.2;left:20px;bottom:25px;max-width:calc(100% - 40px)}
 .presentation-contact .contact-inner{padding:32px 24px 28px}.presentation-contact h2{font-size:33px;line-height:1.14}.presentation-contact p{font-size:14px;line-height:1.65}
 .presentation-contact .eyebrow{font-size:9px;letter-spacing:.5px}.presentation-contact .lime{font-size:13px;padding:16px 20px}
 .presentation-contact .contact-details>a{font-size:22px;line-height:1.35;white-space:nowrap}.presentation-contact .contact-details>div{font-size:14px;line-height:1.4;gap:15px}.presentation-contact .contact-details small{font-size:12px}
 .presentation-contact .contact-brand{width:175px;margin-top:32px}.footer .logo img{width:142px}
}
@media(max-width:380px){
 .presentation-hero .hero-portrait{height:300px}.presentation-hero h1{font-size:29px}.presentation-hero .hero-content{padding:23px 20px 25px}.presentation-hero .hero-content>p{font-size:13px}.presentation-hero .text-link{display:inline-block;font-size:10px;margin:0 0 0 11px}.presentation-hero .button{font-size:12px;padding:15px 16px;gap:20px}
 .advantage-tiles{grid-template-columns:1fr;grid-template-rows:none;gap:12px}.advantage-card.experience,.advantage-card.ecosystem-card,.advantage-card.analytics,.advantage-card.flexibility,.advantage-card.marketing{grid-column:auto;grid-row:auto;min-height:185px;padding:23px}
 .advantage-card h3,.ecosystem-card h3,.analytics h3,.flexibility h3,.marketing h3{font-size:29px;letter-spacing:-.8px;margin:19px 0 20px}.advantage-card h3 br{display:none}.experience h3{font-size:36px}.advantage-card p{font-size:14px;line-height:1.6}.advantage-card.marketing{padding-bottom:70px}.marketing p{max-width:none;padding-right:0}.marketing>img{width:95px;right:23px;bottom:20px}
 .advantage-layout .photo{min-height:320px}.advantage-layout .photo>span{font-size:20px}.presentation-contact h2{font-size:30px}.presentation-contact .contact-details>a{font-size:20px}
}
@keyframes mobilePortrait{from{transform:scale(1)}to{transform:scale(1.018)}}
@media(prefers-reduced-motion:reduce){.presentation-hero .hero-portrait img,.advantage-layout .photo img{animation:none!important;transform:none}}

/* Contact actions keep the same comfortable tap size on every screen. */
.contact-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}
.contact-actions .button{justify-content:center;min-width:160px;min-height:56px;border:1px solid transparent}
.contact-actions .call-button{color:#fff;border-color:#dfffa380;background:#ffffff0a}
.contact-actions .call-button:hover{background:#ffffff1c;border-color:#dfffa3}
.contact-actions .button:focus-visible{outline-color:#dfffa3}
@media(max-width:640px){.contact-actions{gap:10px}.contact-actions .button{flex:1 1 125px;min-width:0;padding:16px 18px;font-size:13px}}

/* Phone review: readable cards and complete photographic compositions. */
@media(max-width:640px){
 .presentation-hero .button{display:flex;justify-content:center;width:100%;min-height:50px;font-size:14px}
 .presentation-hero .text-link{display:block;width:100%;margin:8px 0 0;padding:12px 0;font-size:13px;text-align:center;border:0;text-decoration:underline;text-underline-offset:5px;min-height:44px}
 .hero-brand{margin-right:23px;margin-top:0}
 .advantage-layout .photo{min-height:0;aspect-ratio:4/3}
 .advantage-layout .photo img{inset:0;width:100%;height:100%;object-position:center;translate:none;animation:none}
 .advantage-layout .photo>span{font-size:clamp(18px,4.7vw,22px);line-height:1.2;bottom:20px;left:20px}
 .advantage-layout .photo:after{inset:42% 0 0;background:linear-gradient(transparent,#063b05da)}
 .contact-details a{min-height:32px;display:inline-flex;align-items:center}
 .presentation-contact .contact-details>a{display:block}
}
@media(max-width:480px){
 .advantage-tiles{grid-template-columns:1fr;grid-template-rows:none}
 .advantage-card.experience,.advantage-card.ecosystem-card,.advantage-card.analytics,.advantage-card.flexibility,.advantage-card.marketing{grid-column:auto;grid-row:auto;min-height:180px;padding:23px}
 .advantage-card h3,.ecosystem-card h3,.analytics h3,.flexibility h3,.marketing h3{font-size:29px;letter-spacing:-.8px;margin:19px 0 20px;line-height:1.12}
 .advantage-card h3 br{display:none}
 .experience h3{font-size:36px}
 .advantage-card p{font-size:14px;line-height:1.6}
 .advantage-card.marketing{padding-bottom:75px}
 .marketing p{max-width:none;padding-right:0}
 .marketing>img{width:95px;right:23px;bottom:20px}
}
@media(max-width:380px){.facts>div:nth-child(2) strong{font-size:26px;letter-spacing:-1.4px;white-space:nowrap}.facts{column-gap:14px}}

@media(max-width:640px){
 .header .menu{width:44px;height:44px}
 .advantage-layout .photo{display:flex;flex-direction:column;aspect-ratio:auto}
 .advantage-layout .photo img{position:relative;display:block;aspect-ratio:4/3;height:auto;flex:none}
 .advantage-layout .photo>span{position:relative;inset:auto;display:block;max-width:none;background:#063b05;padding:18px 20px;font-size:18px;text-shadow:none;letter-spacing:-.3px}
 .advantage-layout .photo:after{display:none}
 .footer>a:last-child{min-height:44px;display:flex;align-items:center}
}

@media(min-width:641px) and (max-width:900px){
 .header{height:86px}.header .logo img{width:176px}
 .header nav{display:none;position:absolute;z-index:10;top:77px;left:24px;right:24px;background:white;padding:26px;border-radius:16px;box-shadow:0 12px 24px #063b0520}
 .header nav.open{display:flex;flex-direction:column;gap:24px}
 .menu{display:block;border:1px solid #dce4d8;border-radius:50%;width:44px;height:44px;background:white;color:var(--ink);font-size:21px}
 .presentation-hero{min-height:600px}
 .presentation-hero .hero-portrait img{object-position:center;transform-origin:center}
 .presentation-hero .hero-content>p{font-size:14px}
 .presentation-hero .button{font-size:14px;min-height:50px}
 .presentation-hero .text-link{font-size:13px;display:inline-block;padding:9px 0;margin-top:10px}
 .advantage-tiles{grid-template-rows:minmax(260px,auto) minmax(260px,auto)}
 .advantage-card p,.marketing p{font-size:14px;line-height:1.55}
 .card-index{font-size:9px}
 .advantage-heading p{font-size:14px}
}

@media(min-width:641px) and (max-width:900px){.presentation-hero .hero-content>p br{display:none}.presentation-hero .text-link{display:block;width:fit-content;margin:10px 0 0}}
