/* Agency theme overrides: brand colors, responsive layout and spacing. */
.drone-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:32px}
.drone-reference-image{aspect-ratio:4/3;margin:0 0 20px;background:#fff;border:1px solid #dce5df;overflow:hidden;display:flex;align-items:center;justify-content:center}
.drone-reference-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.drone-reference-grid h3{font-size:20px;line-height:1.5;margin:0}
@media(max-width:767px){.drone-reference-grid{grid-template-columns:1fr;gap:24px}}
/* Garden selection only: approved white-background complete product view. */
#selection:has(img[src*="garden/"][src*="collection"]) .product-range-grid .asset-frame .asset-image { aspect-ratio:1/1; background:#fff; overflow:hidden; }
#selection:has(img[src*="garden/"][src*="collection"]) .product-range-grid .asset-frame .asset-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transform:none; }
#selection:has(img[src*="garden/"][src*="collection"]) .product-range-grid .asset-frame .asset-image img[src*="collection"] { object-fit:contain; }
.case-page .product-range-grid .asset-image { aspect-ratio: 16 / 10; background: #fff; }
.case-page .product-range-grid .asset-image img { width: 100%; height: 100%; object-fit: cover; }
.case-page .product-range-grid img[src*="interior-illustration"],
.case-page .product-range-grid img[src*="annotated-cutout"] { object-fit: contain; }
.case-page .product-range-grid > article { display: flex; flex-direction: column; }
.case-page .product-range-grid > article > h3 { min-height: 3em; margin: 20px 0 12px; }
.case-page .product-range-grid > article > p { margin: 0; }
.case-page .case-stage-grid .process-number { margin-top: 20px; }
.case-page .case-stage-grid > article > h3 { margin-top: 8px; }
@media(max-width:767px) { .case-page .product-range-grid > article > h3 { min-height: 0; } }
#gift-packaging .garden-gift-showcase { margin: 0 0 32px; }
#gift-packaging .garden-gift-showcase .asset-frame { border: 0; }
#gift-packaging .garden-gift-showcase .asset-image { aspect-ratio: auto; }
#gift-packaging .garden-gift-showcase img { display: block; width: 100%; height: auto; object-fit: contain; }
#gift-packaging .garden-gift-options { gap: 32px; }
.garden-gift-brief p { margin-bottom: 20px; }
body { color: #172d38; background-color: #fff; }
/* Prevent adjacent template sections from accumulating 300px of empty space. */
#main-content>section{padding:72px 0}
#main-content>section h3.section-subheading{margin-bottom:40px;line-height:1.65}
#main-content>section#next-step{padding:48px 0}
#main-content>section#next-step h3.section-subheading{margin-bottom:24px}
#main-content>section#working-together,#main-content>section#business{padding:60px 0}
#main-content>section#documents,#main-content>section#value{padding:56px 0}
#main-content>section .product-detail-grid>div{margin-bottom:12px}
#main-content>section .service-showcase p{margin-bottom:18px}
#main-content>section .service-tree>li{margin-bottom:48px}
#main-content>section .service-tree>li:last-child{margin-bottom:0}
@media(max-width:767px){
 #main-content>section{padding:44px 0}
 #main-content>section h2.section-heading{font-size:30px;line-height:1.35}
 #main-content>section h3.section-subheading{margin-bottom:28px}
 #main-content>section#business,#main-content>section#working-together,#main-content>section#documents,#main-content>section#value,#main-content>section#next-step{padding:38px 0}
 #main-content>section .service-showcase>div{margin-bottom:28px}
 #main-content>section .service-showcase>div:last-child{margin-bottom:0}
}
.back-to-top { position: fixed; right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); z-index: 1050; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: #172d38; color: #fff; font-size: 26px; line-height: 1; box-shadow: 0 5px 18px rgba(23,45,56,.2); cursor: pointer; transition: background .2s ease, transform .2s ease; }
.back-to-top[hidden] { display: none; }
.back-to-top:hover { background: #45816b; transform: translateY(-3px); }
.back-to-top:focus-visible { outline: 3px solid #45816b; outline-offset: 3px; }
.product-menu-toggle { background: transparent; border: 0; color: #fff; padding: 15px; font: 14px Montserrat, "Microsoft YaHei", sans-serif; text-transform: uppercase; letter-spacing: 1px; }
.product-menu-toggle:hover, .product-menu-toggle:focus { color: #b1d7c7; }
.navbar-default .dropdown-menu { min-width: 270px; padding: 12px 0; background: #fff; border: 1px solid #e1e8e4; box-shadow: 0 12px 30px rgba(23,45,56,.15); }
.navbar-default .nav .dropdown-menu li a { color: #172d38; padding: 12px 20px; white-space: normal; text-transform: none; letter-spacing: 0; }
.navbar-default .nav .dropdown-menu li a:hover, .navbar-default .nav .dropdown-menu li a:focus { color: #32634f; background: #f5f7f6; }
.product-section-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 40px; padding-top: 22px; border-top: 1px solid #d9e2de; }
.product-detail-grid { display: flex; flex-wrap: wrap; }
.product-detail-grid > div { display: flex; margin-bottom: 25px; }
.product-detail-grid article { width: 100%; }
.product-detail-grid .media-reserved { min-height: 180px; aspect-ratio: 10 / 7; }
.product-detail-grid h3 { font-size: 20px; line-height: 1.5; }
.product-detail-grid p { line-height: 1.9; }
.detail-cta { margin-top: 25px; }
@media(max-width:767px) { .product-menu-toggle { width: 100%; text-align: left; padding-left: 15px; } .navbar-default .nav .open .dropdown-menu li a { color: #fff; } .navbar-default .nav .open .dropdown-menu li a:hover, .navbar-default .nav .open .dropdown-menu li a:focus { background: #356953; color: #fff; } }
header {
  background-color: #172d38;
  background-image: linear-gradient(180deg,rgba(12,30,36,.72) 0%,rgba(12,30,36,.32) 24%,rgba(12,30,36,.64) 54%,rgba(12,30,36,.46) 76%,rgba(12,30,36,.22) 100%),url(../img/web-optimized/funder-hero-20261010-d24c183a48.webp);
  background-position: center center;
  background-size: cover;
}
.navbar-default, .navbar-default.navbar-shrink { background: rgba(53,80,83,.97); border-bottom: 1px solid rgba(255,255,255,.12); }
@media(min-width:768px) {
 .navbar-default:not(.navbar-shrink) { background: linear-gradient(180deg,rgba(53,80,83,.88),rgba(53,80,83,.68)); }
 header:not(.inner-header) .intro-text { padding-top: 220px; padding-bottom: 150px; }
 header:not(.inner-header) .intro-text .intro-heading { max-width: 1000px; margin: 0 auto 28px; font-size: clamp(42px,4.2vw,64px); line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
}
header .intro-heading { text-shadow: 0 3px 24px rgba(0,0,0,.28); }
header:not(.inner-header) .intro-text .intro-lead-in { font: 500 18px/1.6 Montserrat,"Microsoft YaHei",sans-serif; letter-spacing: .14em; margin-bottom: 22px; color: #d5e7df; }
header:not(.inner-header) .hero-description { max-width: 700px; font-size: 17px; line-height: 1.85; margin-bottom: 32px; color: #edf3f0; }
header .btn-xl { border: 1px solid rgba(255,255,255,.22); box-shadow: 0 8px 24px rgba(0,0,0,.16); }
@media(max-width:767px) {
 header:not(.inner-header) .intro-text { padding: 150px 0 80px; }
 header:not(.inner-header) .intro-text .intro-heading { font-size: 34px; line-height: 1.25; margin-bottom: 24px; text-wrap: balance; }
 header:not(.inner-header) .intro-text .intro-lead-in { font-size: 14px; letter-spacing: .06em; }
 header:not(.inner-header) .hero-description { font-size: 15px; padding: 0 8px; }
}
.navbar-default .navbar-brand,
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus { color: #fff; }
.navbar-default .nav li a:hover,
.navbar-default .nav li a:focus { color: #b1d7c7; }
/* Dark surfaces need explicit foregrounds, not inherited body colors. */
section#contact { color: #fff; }
section#contact label { color: #fff; display: block; margin-bottom: 8px; }
section#contact .section-subheading,
section#contact .text-muted,
section#contact #copy-status { color: #d5e2dd; }
section#contact a:not(.btn) { color: #c5e3d6; }
section#contact .form-control {
  color: #172d38;
  background-color: #fff;
  border-color: #c2cfc9;
}
section#contact .form-control::placeholder { color: #566963; opacity: 1; }
section#contact .form-control:focus {
  border-color: #8cc8ae;
  outline: 2px solid #8cc8ae;
  outline-offset: 2px;
}
section#contact .text-danger { color: #ffc4bd; }
section#contact .btn { color: #fff; }
header { color: #fff; }
footer .text-muted { color: #d5e2dd; }
.text-muted { color: #586862; }
section:not(#contact) { color: #172d38; }
section:not(#contact) a:not(.btn) { color: #32634f; }
.btn-primary, .btn-xl, .btn-primary:hover, .btn-xl:hover,
.btn-primary:focus, .btn-xl:focus { color: #fff; }
.timeline > li .timeline-image { color: #fff; }
.timeline > li .timeline-image h4 { color: #fff; }
.fa-inverse { color: #fff; }
.navbar-default .nav li a,
.navbar-default .navbar-toggle { color: #fff; }
header .intro-text, header .intro-lead-in, header .intro-heading { color: #fff; }
#next-step { background: #f5f7f6; }
section, #main-content { scroll-margin-top: 90px; }
section#contact label.sr-only { display: initial; }
footer { background-color: #172d38; color: #fff; }
footer a { color: #c5e3d6; }
footer a:hover, footer a:focus { color: #fff; }
footer ul.social-buttons li a { background-color: #45816b; }
footer ul.social-buttons li a:hover,
footer ul.social-buttons li a:focus { background-color: #356953; }
::selection { background: #45816b; color: #fff; }

/* Homepage range cards: four equal columns, with explicit breathing room. */
#portfolio > .container > .row:last-child {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
  margin: 0;
}
#portfolio > .container > .row:last-child::before,
#portfolio > .container > .row:last-child::after {
  content: none;
  display: none;
}
#portfolio .portfolio-item {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
#portfolio .portfolio-link { width: 100%; }
#portfolio .portfolio-link > div:last-child {
  height: auto !important;
  aspect-ratio: 10 / 7;
  min-height: 0;
  padding: 20px;
}
#portfolio .portfolio-caption {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 16px;
}
#portfolio .portfolio-caption h4 { min-height: 44px; }
#portfolio .portfolio-caption > p { min-height: 54px; }
#portfolio .portfolio-caption > div { flex: 1; }
#portfolio .portfolio-caption > a:last-child { margin-top: 12px; }
@media (max-width: 991px) {
  #portfolio > .container > .row:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575px) {
  #portfolio > .container > .row:last-child { grid-template-columns: 1fr; }
}
.feature-grid { display: flex; flex-wrap: wrap; }
.feature-grid > div { display: flex; margin-bottom: 24px; }
.feature-card { width: 100%; padding: 16px 20px; border: 0; background: transparent; }
.feature-card h4 { line-height: 1.5; }
.media-reserved { min-height: 230px; padding: 24px; background: #e9eeed; color: #425b64; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.media-reserved small { display: block; margin-top: 10px; }
.portfolio-caption > div { margin: 16px 0; }
details { padding: 20px 0; border-bottom: 1px solid #d9e2de; }
summary { cursor: pointer; font-family: Montserrat, "Microsoft YaHei", sans-serif; font-weight: 700; }
details p { margin-top: 16px; }
.inner-header .intro-text { padding-top: 170px; padding-bottom: 85px; }
.inner-header .intro-text .intro-heading { font-size: 42px; line-height: 1.25; margin-bottom: 32px; }
header .intro-heading, header .intro-lead-in { overflow-wrap: anywhere; }
.navbar-default .nav li a { padding-left: 15px; padding-right: 15px; font-size: 14px; }
footer p { margin: 10px 0; }
.service-showcase > div { padding: 0 30px; }
.service-showcase p { line-height: 1.9; margin-bottom: 25px; }
.service-showcase .service-heading, .feature-card .service-heading { margin: 24px 0 16px; }
.feature-card .btn { margin-top: 12px; }
#portfolio .portfolio-link { overflow: hidden; }
#portfolio .portfolio-link > .portfolio-hover { padding: 0; aspect-ratio: auto; height: 100% !important; z-index: 3; }
#portfolio .portfolio-hover-content { aspect-ratio: auto; }
#portfolio .media-reserved { transition: transform .65s cubic-bezier(.22,.61,.36,1); }
#portfolio .portfolio-item { transition: transform .65s cubic-bezier(.22,.61,.36,1), box-shadow .65s ease; }
#portfolio .portfolio-item:hover, #portfolio .portfolio-item:focus-within { transform: translateY(-5px); box-shadow: 0 16px 38px rgba(23,45,56,.09); }
#portfolio .portfolio-link:hover .media-reserved, #portfolio .portfolio-link:focus .media-reserved { transform: scale(1.045); }
#portfolio .portfolio-hover { background: rgba(69,129,107,.18); transition: opacity .65s ease; }
.order-timeline .timeline-image { display: flex; align-items: center; justify-content: center; }
.order-timeline .timeline-image .fa { font-size: 34px; }
.order-timeline .timeline-panel h4 { line-height: 1.5; }
.service-tree > li { scroll-margin-top: 100px; margin-bottom: 75px; }
.timeline.service-tree > li .timeline-panel { text-align: left; }
.service-tree .timeline-heading h3 { margin: 12px 0; font-size: 24px; }
.tree-step { color: #45816b; font-family: Montserrat, sans-serif; letter-spacing: .15em; font-size: 13px; font-weight: 700; }
.tree-branches { list-style: none; margin: 24px 0; padding: 0 0 0 22px; border-left: 1px solid #cbdcd3; }
.tree-branches > li { position: relative; margin: 0 0 22px; }
.tree-branches > li::before { content: ''; position: absolute; left: -27px; top: 7px; width: 9px; height: 9px; border-radius: 50%; background: #45816b; border: 2px solid #f5f7f6; }
.tree-branches h4 { font-size: 15px; margin: 0 0 8px; }
.tree-branches p { font-size: 14px; line-height: 1.8; margin: 0; }
@media (min-width: 768px) { .service-tree > li .timeline-panel { width: 43%; padding: 0 25px 20px 0; } .service-tree > li.timeline-inverted > .timeline-panel { padding: 0 0 20px 25px; } }
@media (prefers-reduced-motion: reduce) { #portfolio .portfolio-item, #portfolio .media-reserved, #portfolio .portfolio-hover { transition: none; } #portfolio .portfolio-item:hover, #portfolio .portfolio-item:focus-within, #portfolio .portfolio-link:hover .media-reserved { transform: none; } }
#portfolio .portfolio-caption { width: 100%; }
#portfolio .media-reserved strong { font-family: Montserrat, "Microsoft YaHei", sans-serif; font-size: 20px; }
#portfolio .portfolio-hover { color: #fff; }
@media(max-width:767px) { .service-showcase > div { margin-bottom: 45px; } }
html[lang="zh-CN"] body { font-family: "Microsoft YaHei", "PingFang SC", sans-serif; }
html[lang="zh-CN"] h1, html[lang="zh-CN"] h2, html[lang="zh-CN"] h3, html[lang="zh-CN"] h4,
html[lang="zh-CN"] .btn, html[lang="zh-CN"] .navbar-default .nav li a { font-family: "Microsoft YaHei", "PingFang SC", sans-serif; }
@media (max-width: 767px) {
  .feature-grid { display: block; }
  .inner-header .intro-text { padding-top: 120px; padding-bottom: 60px; }
  .inner-header .intro-text .intro-heading { font-size: 30px; }
}
.asset-frame{margin:0 0 18px;background:#fff;border:1px solid #e1e8e5;overflow:hidden}
.asset-image{position:relative;overflow:hidden;aspect-ratio:10/7;background:#f5f7f6}
.asset-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease}
.portfolio-link:hover .asset-image img{transform:scale(1.035)}
.asset-frame figcaption{padding:9px 12px;font:12px/1.5 Arial,sans-serif;color:#526660;text-align:left}
.asset-watermark{position:absolute;left:50%;top:50%;width:240%;height:240%;display:flex;flex-direction:column;justify-content:space-evenly;transform:translate(-50%,-50%) rotate(-60deg);font:600 clamp(6px,.75vw,11px)/1.2 Arial,sans-serif;letter-spacing:.12em;color:rgba(112,100,68,.06);pointer-events:none;white-space:nowrap;overflow:hidden}
.asset-frame.portrait .asset-watermark{display:none}
.asset-watermark>span{display:block;text-align:center}
.contact-workspace.contact-unified{display:grid;grid-template-columns:minmax(240px,3fr) minmax(0,7fr);gap:32px;max-width:1240px;margin:28px auto 48px;padding:36px;background:#304b58;border:1px solid #46616b;border-radius:8px;color:#fff}
.contact-unified-heading{grid-column:1/-1;text-align:center;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.16)}
.contact-unified-heading h2{color:#fff;font-size:30px;margin:0 0 12px}.contact-unified-heading p{color:#dbe7e3;margin:0}
.contact-workspace.contact-unified>section{padding:0;margin:0;background:transparent!important;border:0!important;min-width:0}
.contact-unified #your-contact>.container>.row,.contact-unified #contact>.container>.row:first-child{display:none}
.contact-workspace.contact-unified #your-contact .contact-person{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin:0}
.contact-workspace.contact-unified .contact-person .asset-frame{width:170px}
.contact-workspace.contact-unified #contact label,.contact-workspace.contact-unified #contact{color:#edf3f0}
.contact-workspace.contact-unified #contact a:not(.btn){color:#c6e7d8}
.contact-workspace.contact-unified #contact .section-subheading,.contact-workspace.contact-unified #contact #copy-status{color:#dbe7e3}
.contact-unified #inquiry>.row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:0}
.contact-unified #inquiry>.row>.col-md-6{display:contents}
.contact-unified #inquiry>.row::before,.contact-unified #inquiry>.row::after{display:none;content:none}
.contact-workspace.contact-unified .contact-person .contact-role{font-size:14px;margin:0 0 8px;color:#dbe7e3}
.contact-workspace.contact-unified .contact-person h3{font-size:24px;margin:0 0 18px;text-transform:none}
.contact-workspace.contact-unified .contact-person .contact-direct{margin:10px 0}
.contact-unified #inquiry .form-group:has(#needs),.contact-unified #inquiry>.row p{grid-column:1/-1}
.contact-workspace.contact-unified #contact .form-group{margin-bottom:16px}
.contact-workspace.contact-unified #contact .form-control{background:#f7f9f8;border-color:#d0dcd6}
.contact-workspace.contact-unified #contact textarea#needs{min-height:120px}
.contact-unified #inquiry>.text-center{text-align:left}
.contact-unified #contact>.container>p:last-child{font-size:12px;margin-top:20px;color:#dbe7e3}
@media(max-width:991px){.contact-workspace.contact-unified{display:block;margin:20px;padding:26px}.contact-unified-heading{margin-bottom:24px}.contact-workspace.contact-unified #your-contact{margin-bottom:28px}.contact-workspace.contact-unified #your-contact .contact-person{flex-direction:row;align-items:center}.contact-workspace.contact-unified .contact-person .asset-frame{width:130px}}
@media(max-width:575px){.contact-unified #inquiry>.row{display:block}.contact-unified-heading h2{font-size:25px}.contact-workspace.contact-unified{padding:22px 18px;margin:14px}}
.contact-workspace{display:block;max-width:1120px;margin:auto;background:#fff;padding:0 32px}
.contact-workspace>section{padding:36px 0;min-width:0}
.contact-workspace>section>.container{width:auto;max-width:100%;padding:0}
.contact-workspace .section-subheading{margin-bottom:28px}
.contact-workspace #your-contact{display:block;background:#304b58;color:#fff;padding:30px 36px;margin-top:28px;border-radius:8px;border:1px solid #46616b}
.contact-workspace #your-contact>.container{display:block}
.contact-workspace #your-contact .row{margin:0 0 24px}
.contact-workspace #your-contact .section-heading,.contact-workspace #your-contact h3{color:#fff}
.contact-workspace #your-contact .section-subheading,.contact-workspace #your-contact p{color:#e1ebe7}
.contact-workspace #your-contact a:not(.btn){color:#c6e7d8}
.contact-workspace #your-contact .section-heading{text-align:left;font-size:26px;margin:0 0 8px}
.contact-workspace #your-contact .section-subheading{text-align:left;margin:0;font-size:15px}
.contact-workspace #your-contact .contact-person{gap:20px;justify-content:flex-start;flex-wrap:nowrap}
.contact-workspace .contact-person .asset-frame{width:170px;flex-shrink:0;margin:0;border:0;border-radius:6px}
.contact-workspace .contact-person .asset-image img{object-position:center top}
.contact-workspace .contact-person figcaption{display:none}
.contact-workspace .contact-person h3{font-size:20px;margin:0 0 8px}
.contact-workspace .contact-person p{font-size:13px;margin:4px 0}
.contact-workspace #contact{background:#fff;background-image:none;color:#172d38;border-radius:0}
.contact-workspace #contact .section-heading{color:#172d38;font-size:30px;margin-bottom:12px}
.contact-workspace #contact .section-subheading,.contact-workspace #contact .text-muted,.contact-workspace #contact #copy-status{color:#667874;font-style:normal}
.contact-workspace #contact label{color:#344b54;font:500 13px/1.6 Arial,"Microsoft YaHei",sans-serif;margin-bottom:6px}
.contact-workspace #contact a:not(.btn){color:#32634f}
.contact-workspace #contact .form-group{margin-bottom:20px}
.contact-workspace #contact .form-control{padding:13px 15px;height:auto;background:#f7f9f8;border:1px solid #dce5e0;border-radius:6px;box-shadow:none;color:#172d38}
.contact-workspace #contact .form-control:focus{border-color:#45816b;background:#fff;box-shadow:0 0 0 3px rgba(69,129,107,.08)}
.contact-workspace #contact .btn-xl{font-size:14px;padding:15px 28px;border-radius:5px}
.contact-workspace #contact .text-danger{color:#a52e25}
.contact-workspace #contact textarea#needs{min-height:150px}
.product-reference{max-width:1100px;margin:auto}.product-reference table{width:100%;border-collapse:collapse;text-align:left}.product-reference td,.product-reference th{padding:14px;border-bottom:1px solid #dce5e0;vertical-align:top}.product-reference details{padding:16px 0;border-bottom:1px solid #dce5e0}.product-reference summary{cursor:pointer;font-weight:700}.product-reference details p{margin-top:12px}
@media(max-width:991px){.contact-workspace{padding:0 22px}.contact-workspace>section{padding:28px 0}.contact-workspace #your-contact{display:block}.contact-workspace #your-contact .contact-person{margin-top:22px}.product-reference table{font-size:14px}}
.contact-person{display:flex;align-items:center;gap:28px;justify-content:center;flex-wrap:wrap}
.contact-person .asset-frame{width:170px}.contact-person .asset-image{aspect-ratio:1}.contact-person img{object-fit:cover}
#portfolio .portfolio-link > .asset-frame{margin:0;border:0;width:100%}
#portfolio .asset-frame .asset-image{aspect-ratio:10/7}
.document-button{margin:8px 8px 8px 0;white-space:normal}
.asset-image img[src$="garden/printed-scene.webp"]{object-position:center top}
.product-reference .reference-table-block{background:#fff;border:1px solid #dce5e0;border-radius:8px;overflow:hidden}
.product-reference .reference-table-block h3{font-size:19px;margin:0;padding:22px 24px;border-bottom:1px solid #dce5e0}
.product-reference th{background:#eaf0ed;font-size:13px;letter-spacing:.02em;color:#344b54}
.product-reference td,.product-reference th{padding:18px 24px;line-height:1.8}
.product-reference td:first-child,.product-reference th:first-child{width:24%;font-weight:600}
.product-reference tbody tr:last-child td{border-bottom:0}
.product-reference .reference-faq{margin-top:48px;padding-top:30px;border-top:1px solid #cad8d0}
.product-reference .reference-faq h3{font-size:23px;margin:0 0 8px}
.product-reference .reference-faq-hint{color:#667874;font-size:14px;margin-bottom:22px}
.product-reference .reference-faq details{padding:0;margin:10px 0;border:1px solid #dce5e0;border-radius:6px;background:#fff}
.product-reference .reference-faq summary{position:relative;list-style:none;padding:19px 54px 19px 22px;line-height:1.7;font-size:15px}
.product-reference .reference-faq summary::-webkit-details-marker{display:none}
.product-reference .reference-faq summary::after{content:'+';position:absolute;right:23px;top:17px;font-size:22px;color:#45816b;font-weight:400}
.product-reference .reference-faq details[open] summary::after{content:'−'}
.product-reference .reference-faq details[open] summary{border-bottom:1px solid #e5ece7;color:#32634f}
.product-reference .reference-faq details p{margin:0;padding:18px 22px 22px;color:#526660;line-height:1.9}
.product-reference .reference-faq summary:focus-visible{outline:2px solid #45816b;outline-offset:3px}
@media(max-width:767px){.product-reference td,.product-reference th{padding:14px 12px}.product-reference td:first-child,.product-reference th:first-child{width:29%}.product-reference .reference-faq{margin-top:32px}}
@media(max-width:767px){.contact-workspace #your-contact{padding:24px 18px}.contact-workspace #your-contact .contact-person{gap:16px}.contact-workspace .contact-person .asset-frame{width:130px}.contact-workspace .contact-person>div{min-width:0;overflow-wrap:anywhere}}

/* Content-led modules: fixed layout, bilingual content supplied separately. */
.hero-description{max-width:800px;margin:0 auto 30px;font-size:18px;line-height:1.8;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.3)}
.content-module .module-heading{max-width:860px;margin:0 auto 38px;text-align:center}
.content-module .module-heading h2{margin:0 0 16px;font-size:34px;line-height:1.35}
.content-module .module-heading>p{margin:0;color:#526660;font-size:16px;line-height:1.9}
.content-module p{line-height:1.9}
.direction-grid,.editorial-split,.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;align-items:start}
.direction-card{background:#fff;border:1px solid #dde5e0;overflow:hidden}
.direction-card .asset-frame{margin:0;border:0}
.direction-card .asset-image{aspect-ratio:16/9}
.direction-copy{padding:26px 28px 22px}
.direction-copy h3{margin-top:0;font-size:25px}
.direction-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:6px;font-weight:600}
.direction-related{margin:18px 0 0;font-size:13px}
.range-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.range-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dde5e0;min-width:0}
.range-card .asset-frame{margin:0;border:0}
.range-card .asset-image{aspect-ratio:5/4}
.range-card .asset-image img{transition:transform .55s ease}
.range-picture:hover .asset-image img{transform:scale(1.045)}
.range-copy{padding:20px;display:flex;flex:1;flex-direction:column}
.range-copy h3{font-size:18px;line-height:1.5;margin:0 0 12px}
.range-copy h3 a{color:#172d38}
.range-copy p{color:#526660;margin-bottom:18px}
.range-copy .content-link{margin-top:auto}
.content-link{display:inline-block;font-weight:600;line-height:1.8}
.working-grid,.product-range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.working-grid article{border-top:2px solid #45816b;padding-top:22px}
.working-grid h3{font-size:21px;line-height:1.5}
.working-grid p{color:#526660}
.process-number{display:inline-block;color:#45816b;font:600 18px/1.5 Arial,sans-serif;letter-spacing:.1em}
.product-range-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-range-grid h3{font-size:22px;line-height:1.5}
.product-range-grid p,.editorial-copy p,.decision-grid p{color:#526660}
.editorial-copy{padding:12px 0}
.editorial-copy .content-intro{font-size:19px;line-height:1.95;margin:0 0 24px}
@media(max-width:767px){.btn-xl{max-width:100%;white-space:normal;overflow-wrap:anywhere}}
.content-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px}
#overview:has(img[src*="media/sap/"]) .content-jumps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#overview:has(img[src*="media/sap/"]) .content-jumps a { display:flex; justify-content:center; align-items:center; min-height:58px; padding:12px; text-align:center; text-decoration:none; }
.content-jumps a{display:flex;align-items:center;justify-content:center;min-height:58px;min-width:0;padding:12px;text-align:center;text-decoration:none;overflow-wrap:anywhere;border:1px solid #cbd9d0;border-radius:5px;line-height:1.5}
.process-note{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;margin-bottom:22px}
.process-note h3{margin:0 0 10px;font-size:20px;line-height:1.5}
.process-note:last-child{margin-bottom:0}
.selection-table{width:100%;border-collapse:collapse;background:#fff}
.selection-table th,.selection-table td{padding:20px 22px;text-align:left;line-height:1.9;vertical-align:top;border-bottom:1px solid #dce5df}
.selection-table thead{background:#e8eeeb}
.selection-table tbody th{width:25%;color:#172d38}
.selection-table td{color:#526660}
.content-faq{max-width:900px;margin:0 auto}
.content-faq details{margin:0 0 14px;border:1px solid #d8e3dc;background:#fff;border-radius:6px;overflow:hidden}
.content-faq summary{cursor:pointer;padding:20px 24px;font-weight:600;line-height:1.6;color:#172d38}
.content-faq details[open] summary{background:#edf2ef;border-bottom:1px solid #d8e3dc}
.content-faq details p{margin:0;padding:20px 24px;color:#526660}
.content-faq summary:focus-visible,.content-jumps a:focus-visible{outline:2px solid #45816b;outline-offset:3px}
.decision-grid{padding:32px;border:1px solid #d8e3dc;background:#fff}
.decision-grid h3{margin-top:0;font-size:22px;line-height:1.5}
.service-deliverable{margin-top:20px;padding:14px 18px;background:#e8eeeb;border-left:3px solid #45816b;text-align:left}
.service-deliverable p{margin:0 0 8px;color:#385248;font-size:13px;line-height:1.8}
.service-deliverable p:last-child{margin-bottom:0}
.service-deliverable strong{display:block;color:#172d38}
.content-module .asset-frame{max-width:100%}
@media(min-width:992px){.editorial-split{align-items:center}.editorial-split .asset-image{aspect-ratio:5/4}}
@media(max-width:991px){.range-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.working-grid{gap:22px}.direction-grid{gap:24px}.direction-copy{padding:22px}}
@media(max-width:767px){.content-module .module-heading{margin-bottom:26px}.content-module .module-heading h2{font-size:27px}.direction-grid,.editorial-split,.decision-grid,.working-grid,.product-range-grid,.product-range-grid.two-columns{grid-template-columns:1fr;gap:24px}.hero-description{font-size:15px;padding:0 16px}.range-grid{gap:14px}.range-copy{padding:14px}.range-copy h3{font-size:16px}.range-copy p{font-size:13px}.range-card figcaption{font-size:10px}.editorial-copy .content-intro{font-size:17px}.decision-grid{padding:22px}.selection-table th,.selection-table td{padding:14px 12px;font-size:13px}.selection-table tbody th{width:30%}.content-faq summary{padding:17px}.content-faq details p{padding:17px}.process-note{gap:8px}}
@media(prefers-reduced-motion:reduce){.range-card .asset-image img{transition:none}.range-picture:hover .asset-image img{transform:none}}
/* Long translated document labels must wrap inside narrow product columns. */
.decision-grid > div { min-width: 0; }
.document-button, .decision-grid .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
/* Preserve the complete supplied image instead of cropping to a template ratio.
   Natural height avoids adding letterboxing around differently shaped assets. */
.asset-frame .asset-image,
#portfolio .asset-frame .asset-image,
.range-card .asset-image,
.editorial-split .asset-image,
.contact-person .asset-image { aspect-ratio: auto; }
.asset-frame .asset-image img,
.contact-person .asset-image img { width: 100%; height: auto; object-fit: contain; transform: none; }
.range-picture:hover .asset-image img,
.portfolio-link:hover .asset-image img { transform: none; }
.range-card { transition: box-shadow .3s ease; }
.range-card:hover { box-shadow: 0 10px 28px rgba(23,45,56,.12); }

/* Product overview matches the approved homepage cards. */
#product-ranges.content-module > .container { width: min(1480px,94%); }
#product-ranges .range-grid { gap: 24px; }
#product-ranges .range-card { border-color:#e0e7e4; border-radius:8px; overflow:hidden; box-shadow:0 4px 18px rgba(23,45,56,.045); }
#product-ranges .range-card .asset-image { aspect-ratio:4/3; background:#fff; }
#product-ranges .range-card .asset-image img { width:100%; height:100%; object-fit:contain; }
#product-ranges .range-copy { padding:22px 22px 24px; }
#product-ranges .range-copy h3 { min-height:54px; margin-bottom:10px; font-size:19px; line-height:1.4; }
#product-ranges .range-copy p { min-height:72px; margin-bottom:22px; line-height:1.8; }
#product-ranges .range-copy .content-link { padding-top:16px; border-top:1px solid #e7ece9; }
@media(min-width:768px) and (max-width:1199px) { #product-ranges .range-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { #product-ranges .range-grid { grid-template-columns:1fr; gap:16px; } #product-ranges .range-copy { padding:16px; } #product-ranges .range-copy h3,#product-ranges .range-copy p { min-height:0; } }
/* Homepage range showcase: equal visual rhythm without cropping products. */
#portfolio.content-module > .container { width: min(1480px, 94%); }
#portfolio .range-grid { gap: 24px; }
#portfolio .range-card { border-color: #e0e7e4; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 18px rgba(23,45,56,.045); }
#portfolio .range-card .asset-image { aspect-ratio: 4/3; background: #fff; }
#portfolio .range-card .asset-image img { width: 100%; height: 100%; object-fit: contain; }
#portfolio .range-card figcaption { height: 50px; display: flex; align-items: center; padding: 9px 14px; font-size: 11px; line-height: 1.5; }
#portfolio .range-copy { padding: 22px 22px 24px; }
#portfolio .range-copy h3 { min-height: 54px; margin-bottom: 10px; font-size: 19px; line-height: 1.4; }
#portfolio .range-copy p { min-height: 72px; margin-bottom: 22px; line-height: 1.8; }
#portfolio .range-copy .content-link { padding-top: 16px; border-top: 1px solid #e7ece9; }
@media(min-width:768px) and (max-width:1199px) { #portfolio .range-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { #portfolio .range-grid { grid-template-columns: 1fr; } }
@media(max-width:767px) {
 #portfolio .range-grid { gap: 16px; }
 #portfolio .range-copy { padding: 16px; }
 #portfolio .range-copy h3 { min-height: 48px; font-size: 17px; }
 #portfolio .range-copy p { min-height: 78px; }
 #portfolio .range-card figcaption { height: 64px; font-size: 10px; padding: 8px 10px; }
}
#placement-visual .sap-application-visual { max-width: 600px; margin: 0 auto 32px; }
#placement-visual .working-grid { margin-top: 28px; }
#packaging-visual .sap-packaging-grid .asset-image { aspect-ratio: 4 / 3; background: #f5f7f6; }
#packaging-visual .sap-packaging-grid .asset-image img { height: 100%; width: 100%; object-fit: cover; }
#main-content > #buyer-questions { padding: 40px 0; }
#buyer-questions .module-heading { margin-bottom: 24px; }
.faq-paragraphs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 40px; }
.faq-answer { border-top: 1px solid #dce5e1; padding-top: 18px; }
.faq-answer h3 { margin: 0 0 10px; font-size: 18px; line-height: 1.5; }
.faq-answer p { margin: 0; line-height: 1.85; }
.media-notice { margin: 16px auto 0; max-width: 960px; padding: 0 20px; font-size: 11px; line-height: 1.6; color: #667874; }
@media(max-width:767px) { .faq-paragraphs { grid-template-columns: 1fr; gap: 18px; } }
#packaging-visual .sap-packaging-grid h3 { margin-top: 22px; }
#packaging-visual .sap-packaging-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
@media(max-width:991px) { #packaging-visual .sap-packaging-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { #packaging-visual .sap-packaging-grid { grid-template-columns: 1fr; } }
.drone-detail-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.drone-detail-grid .asset-frame {margin:0}
.drone-detail-grid .asset-frame .asset-image {aspect-ratio:16/10;background:#fff}
.drone-detail-grid .asset-frame .asset-image img {width:100%;height:100%;object-fit:cover}
.drone-detail-grid h3 {font-size:18px;margin:18px 0 0}
.case-stage-grid .asset-frame .asset-image {aspect-ratio:16/9}
.case-stage-grid .asset-frame .asset-image img {width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.drone-detail-grid{grid-template-columns:1fr}}
.drone-page .product-range-grid .asset-frame .asset-image {aspect-ratio:16/10;background:#fff}
.drone-page .product-range-grid .asset-frame .asset-image img {width:100%;height:100%;object-fit:cover;object-position:center}
.drone-page#overview .content-jumps {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px}
.drone-page#overview .asset-frame{border:0;margin:0}
.drone-page#overview .asset-image{aspect-ratio:16/10;overflow:hidden;padding:0}
/* Source has a thin baked-in white border: cover plus 5% overscan removes it. */
.drone-page#overview .asset-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.05)}
.drone-page#overview .content-jumps a {display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px;text-align:center;text-decoration:none;overflow-wrap:anywhere}
/* Only scene photography fills the card; cutout products remain uncropped. */
#portfolio .range-card .asset-image img.drone-card-image,
#product-ranges .range-card .asset-image img.drone-card-image {object-fit:cover;object-position:center;display:block;width:100%;height:100%;}

@media(max-width:767px){body:not([data-page="index"]) header{background-image: linear-gradient(180deg,rgba(12,30,36,.72) 0%,rgba(12,30,36,.32) 24%,rgba(12,30,36,.64) 54%,rgba(12,30,36,.46) 76%,rgba(12,30,36,.22) 100%),url(../img/web-optimized/funder-hero-20261010-d24c183a48-960-q78-v385.webp)}}

/* V43: constrain transformed watermark paint without changing product layout. */
.asset-image:has(.asset-watermark),.portfolio-link:has(.asset-watermark){contain:paint}
.service-tree h3,.service-tree h4{overflow-wrap:anywhere}
@media(min-width:768px){html[lang=en] body[data-page=index] header .intro-text .intro-heading,html[lang=es] body[data-page=index] header .intro-text .intro-heading,html[lang=pt-BR] body[data-page=index] header .intro-text .intro-heading{font-size:clamp(24px,2.8vw,40px)}}
