/* Consistent, readable controls across the public website. */
body:not(.wp-admin) :is(button,input[type=submit],input[type=button],.button,.wp-block-button__link){border-radius:999px!important}
body:not(.wp-admin) .ap-gallery-thumbs button{border-radius:14px!important}
body:not(.wp-admin) :is(.ap-nav-pill,.ap-category-marker){border-radius:999px!important}
.section-top>p,.collection-bottom,.reports-heading>div>p,.product-category-sidebar>p,.footer-description{font-size:18px;line-height:1.75}
.ap-product-marquee .product-info p,.product-info p,.ap-sitemap a,.footer-bottom,.form-note,.quote-intro,.contact-form label,.quote-dialog label{font-size:16px;line-height:1.65}
.ap-product-marquee .product-tag,#collection .product-tag{font-size:12px;line-height:1.45;padding:7px 10px;max-width:88%}
.ap-product-marquee h3{font-size:20px}.ap-marquee-pause{font-size:15px;padding:9px 18px;min-height:42px}.ap-product-marquee{padding-top:54px}
.ap-detail-note{font-size:15px!important}.ap-catalog-hero dt,.ap-material-sources,.ap-material-sources p{font-size:15px}
.header-actions .button{border-radius:999px!important}.ap-language-toggle{min-width:46px;min-height:44px}
.contact-form input,.contact-form select,.contact-form textarea,.quote-dialog input,.quote-dialog select,.quote-dialog textarea{font-size:16px}
.ap-refreshed-hero{height:clamp(600px,76svh,780px);max-height:none;background:#e5e8da}
.ap-refreshed-hero .hero{position:relative;display:block;max-width:none;width:100%;background:#e5e8da}
.ap-refreshed-hero .hero-copy{position:relative;z-index:2;width:42%;max-width:none;margin:0;padding:55px 24px 85px max(5vw,24px);height:100%;color:#234730;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.ap-refreshed-hero .carousel-title{font-size:clamp(36px,3.4vw,60px);line-height:1.12;color:#234730;max-width:580px;letter-spacing:-.035em}
.ap-refreshed-hero .hero-copy>p{color:#385743;display:block;font-size:18px;line-height:1.7;max-width:480px}
.ap-refreshed-hero .hero-visual{position:absolute;left:42%;right:0;top:0;bottom:0;width:58%;height:100%;border-radius:0;z-index:0;overflow:hidden}
.ap-refreshed-hero .hero-visual img{width:100%;height:100%;object-fit:cover;object-position:100% center;transform:none!important;animation:none!important}
.ap-refreshed-hero .hero-visual:after{background:linear-gradient(90deg,#e5e8da 0%,#e5e8da00 22%);inset:0}
.ap-refreshed-hero #hero-slide-2 .hero-visual img{object-position:center 54%}
.ap-refreshed-hero .hero-buttons{flex-wrap:wrap;gap:18px}.ap-refreshed-hero .hero-buttons .button{background:#365e3c;color:white}.ap-refreshed-hero .hero-buttons .text-link{color:#234730;border-color:#7b947b}
.ap-refreshed-hero .ap-hero-dots{left:5vw;bottom:28px}.ap-refreshed-hero .ap-hero-dots button{color:#365e3c}.ap-refreshed-hero .ap-hero-dots button span{background:#365e3c}
.ap-hero-certificates{position:absolute;bottom:25px;right:30px;z-index:3;padding:14px 18px;background:#fafbf4ed;border:1px solid #d5dfce;border-radius:18px;box-shadow:0 10px 35px #23473015;max-width:380px}
.ap-hero-certificates>span{display:block;font-size:14px;color:#385743;margin-bottom:10px}.ap-hero-certificates>div{display:flex;gap:18px}.ap-hero-certificates a{display:block;text-align:center;max-width:100px;color:#234730}.ap-hero-certificates img{display:block;margin:auto;width:55px;height:78px;object-fit:contain;background:white;box-shadow:0 2px 7px #23473022}.ap-hero-certificates b{display:block;font-size:11px;line-height:1.4;margin-top:7px;font-weight:500}
.ap-cert-intro{font-size:18px;line-height:1.8;max-width:950px}.ap-cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:30px}.ap-cert-card{border:1px solid #dce3d1;background:#fffef9;border-radius:22px;overflow:hidden}.ap-cert-preview{display:block;padding:22px;background:#edf1e5}.ap-cert-preview img{display:block;width:100%;height:360px;object-fit:contain;transition:transform .25s}.ap-cert-preview:hover img{transform:scale(1.025)}.ap-cert-card>div{padding:25px}.ap-cert-card h2{font-size:24px;line-height:1.25;margin:0 0 12px}.ap-cert-card p{font-size:16px}.ap-cert-card dt{font-size:14px;color:#687760;margin-top:14px}.ap-cert-card dd{margin:4px 0 0;font-size:16px;overflow-wrap:anywhere}.ap-cert-card .button{margin-top:22px;font-size:15px;gap:10px;padding-inline:18px}.ap-cert-scope{font-size:15px;line-height:1.7;margin-top:24px;max-width:1000px}
.application-slide-photo img{object-position:center 65%}.application-slide-copy>p{font-size:18px;line-height:1.75}
@media(min-width:761px){.application-slide-photo{left:40%;width:60%}.application-slide{background:#234730}.application-slide-photo:after{background:linear-gradient(90deg,#234730 0%,#23473000 35%)}.application-slide-copy{width:47%;padding-left:max(5vw,30px)}}
@media(max-width:1000px){.ap-cert-grid{gap:16px}.ap-cert-card>div{padding:18px}.ap-cert-preview{padding:15px}.ap-cert-preview img{height:290px}.ap-refreshed-hero .carousel-title{font-size:38px}.ap-refreshed-hero .hero-copy{width:46%}.ap-refreshed-hero .hero-visual{left:46%;width:54%}.ap-hero-certificates{right:18px;bottom:20px}}
@media(max-width:760px){.ap-refreshed-hero{height:900px;min-height:900px}.ap-refreshed-hero .hero-copy{position:absolute;top:0;left:0;width:100%;height:470px;padding:35px 24px 25px;justify-content:flex-start}.ap-refreshed-hero .carousel-title{font-size:38px;max-width:570px;margin-bottom:18px}.ap-refreshed-hero .hero-copy>p{font-size:17px;line-height:1.7;max-width:none}.ap-refreshed-hero .hero-buttons{margin-top:18px}.ap-refreshed-hero .hero-visual{top:430px;bottom:0;left:0;width:100%;height:470px}.ap-refreshed-hero .hero-visual img{object-position:100% center}.ap-refreshed-hero .hero-visual:after{background:linear-gradient(#e5e8da 0%,#e5e8da00 22%)}.ap-refreshed-hero .ap-hero-dots{bottom:15px;left:24px}.ap-hero-certificates{right:14px;bottom:45px;padding:10px 12px}.ap-hero-certificates img{width:42px;height:59px}.ap-hero-certificates>div{gap:12px}.ap-hero-certificates b{font-size:10px}.ap-hero-certificates>span{font-size:12px}.ap-cert-grid{grid-template-columns:1fr}.ap-cert-preview img{height:420px}.ap-cert-card>div{padding:24px}.section-top>p,.collection-bottom{font-size:17px}.application-slide-copy>p{font-size:17px}}
@media(prefers-reduced-motion:reduce){.ap-cert-preview img{transition:none}}

@media(min-width:761px){.application-slide-copy{margin-left:0;margin-right:0}}

.ap-about-tab-marker{border-radius:999px!important}
.ap-hero-certificates b{font-size:13px}
.ap-hero-certificates a{max-width:112px}
@media(max-width:760px){.ap-hero-certificates b{font-size:12px}.ap-hero-certificates>span{font-size:13px}}
.application-selectors button{border:1px solid transparent;padding:10px 22px}
.application-selectors button[aria-pressed=true]{background:#365e3c;color:#fff;border-color:#365e3c}
@media(max-width:640px){.application-selectors{gap:8px}.application-selectors button{padding:8px 13px}}
/* Drag surfaces keep vertical touch scrolling and ordinary link clicks. */
.hero-carousel,.application-carousel,.ap-marquee-window{touch-action:pan-y;cursor:grab}
.is-dragging,.is-dragging *{cursor:grabbing!important;user-select:none!important}
.hero-carousel img,.application-carousel img,.ap-marquee-window img{-webkit-user-drag:none;user-select:none}
.ap-marquee-window.is-dragging .ap-marquee-track{animation-play-state:paused}
.ap-language-toggle{display:inline-flex!important;align-items:center;justify-content:center;padding:0!important;width:44px;height:44px;min-width:44px;line-height:1!important;box-sizing:border-box}
.ap-about-tab-marker,.news-tab-marker,.ap-category-marker{border-radius:999px!important}
.ap-refreshed-hero .carousel-slide.is-current,.application-slide.is-current{animation:ap-horizontal-in .7s cubic-bezier(.22,1,.36,1) both}
.ap-refreshed-hero .carousel-slide.is-leaving,.application-slide.is-leaving{animation:ap-horizontal-out .7s cubic-bezier(.22,1,.36,1) both}
.ap-refreshed-hero .is-current .hero-copy,.is-current .application-slide-copy{animation:none}
@keyframes ap-horizontal-in{from{transform:translateX(calc(var(--ap-slide-direction,1)*100%))}to{transform:translateX(0)}}
@keyframes ap-horizontal-out{from{transform:translateX(0)}to{transform:translateX(calc(var(--ap-slide-direction,1)*-100%))}}
@media(min-width:761px){.ap-refreshed-hero .hero-copy{width:min(480px,40vw);padding:45px 0 80px;margin-left:var(--hero-copy-left,5vw)}.ap-refreshed-hero .ap-hero-dots{left:var(--hero-copy-left,5vw)}}
.application-carousel{position:relative}
.application-carousel .application-controls{position:absolute;top:24px;left:0;width:100%;z-index:5;padding:0;min-height:0}
.application-carousel .application-selectors{justify-content:center;gap:30px;flex-wrap:wrap}
.application-carousel .application-selectors button{background:none!important;border:0!important;border-radius:0!important;color:white;padding:10px 0;text-shadow:0 1px 5px #000,0 0 12px #000;font-size:18px}
.application-carousel .application-selectors button[aria-pressed=true]{box-shadow:0 2px white;font-weight:700}
.application-carousel .application-slide-photo{inset:0;width:100%;height:100%;margin:0}
.application-carousel .application-slide-photo:after{display:none}
.application-carousel .application-slide-photo img{animation:none;object-position:center}
.application-carousel .application-slide-copy{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-width:none;margin:0;padding:95px 24px 55px;align-items:center;justify-content:center;text-align:center;color:white;text-shadow:0 2px 7px #000,0 0 26px #000}
.application-carousel .application-slide-copy h3{max-width:800px}
.application-carousel .application-slide-copy>p{max-width:680px;color:white;font-size:19px}
.application-carousel .application-slide-copy .button{text-shadow:none}
@media(max-width:760px){.application-carousel .application-selectors{gap:19px}.application-carousel .application-selectors button{font-size:16px}.application-carousel .application-slide-copy h3{font-size:36px}.application-carousel .application-slide-copy>p{font-size:17px}}
.ap-cert-preview{margin:0}.ap-cert-card h2{margin:0}
.ap-refreshed-hero .ap-hero-certificates{background:none;border:0;box-shadow:none;bottom:20px;right:24px;padding:0;max-width:none}
.ap-refreshed-hero .ap-hero-certificates>span{display:none}
.ap-refreshed-hero .ap-hero-certificates a{background:#fffef6e8;padding:10px;border-radius:8px;width:106px}
.ap-refreshed-hero .ap-hero-certificates img{width:70px;height:99px;object-fit:contain;object-position:center}
.ap-refreshed-hero .ap-hero-certificates b{font-size:11px}
@media(max-width:760px){.ap-refreshed-hero .ap-hero-certificates{right:12px;bottom:42px}.ap-refreshed-hero .ap-hero-certificates>div{gap:8px}.ap-refreshed-hero .ap-hero-certificates a{width:86px;padding:6px}.ap-refreshed-hero .ap-hero-certificates img{width:55px;height:78px}}
body:not(.wp-admin) .application-carousel .application-selectors button{border-radius:0!important}
.application-carousel .application-slide-copy{text-shadow:0 2px 12px #000b,0 1px 3px #0009}
/* Preserve the complete application photograph at every screen ratio. */
.application-carousel .application-slide{background:#e8e9df}
.application-carousel .application-slide-photo img{object-fit:contain!important;object-position:center!important;width:100%;height:100%}
@media(min-width:761px){.ap-refreshed-hero .hero-copy{width:min(460px,36vw)}}

/* Full-width panoramic application posters with uncropped imagery. */
#applications .application-carousel{max-width:none;width:100%;margin-inline:0}
#applications .application-slides{height:auto;aspect-ratio:21/9;min-height:0;max-height:none}
#applications .application-slide{background:#e8e9df!important;border-radius:0}
#applications .application-slide-photo{inset:0;width:100%;height:100%;border:0;transform:none}
#applications .application-slide-photo img{object-fit:contain!important;object-position:center!important;animation:none!important}
#applications .application-slide-copy{inset:0;width:100%;height:100%;padding:80px 24px 40px;text-align:center;align-items:center;justify-content:center}
#applications .application-slide-copy h3{font-size:clamp(30px,3.2vw,56px)}
#applications .application-controls{top:20px}
@media(max-width:760px){
 #applications .application-slides{aspect-ratio:auto;height:calc(42.857vw + 340px)}
 #applications .application-slide-photo{top:0;bottom:auto;height:42.857vw}
 #applications .application-slide-copy{top:42.857vw;bottom:auto;height:340px;padding:24px;color:#234730;text-shadow:none;background:#f1f0e5}
 #applications .application-slide-copy h3{font-size:30px;color:#234730}
 #applications .application-slide-copy>p{color:#506346;font-size:17px;line-height:1.7;margin-top:16px}
 #applications .application-slide-copy .button{margin-top:18px;background:#365e3c;color:white}
 #applications .application-controls{top:8px}
 #applications .application-selectors{gap:16px}
 #applications .application-selectors button{font-size:14px}
}
/* Remove the legacy per-slide height cap, which caused side letterboxing. */
#applications .application-slide{max-height:none!important;height:100%!important}
/* Original banner height, full-bleed panoramic framing. */
@media(min-width:761px){
 #applications .application-slides{height:66.6667svh;min-height:380px;max-height:850px;aspect-ratio:auto}
 #applications .application-slide-photo img{object-fit:cover!important;object-position:center 35%!important}
}
/* Keep outgoing and incoming hero slides on the same layer during a slide. */
.ap-refreshed-hero .hero.carousel-slide{position:absolute;inset:0;width:100%;height:100%}
/* Content enters gently; navigation stays native and does not wait for an exit overlay. */
@view-transition{navigation:none}
@keyframes ap-content-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
main{animation:ap-content-enter .42s cubic-bezier(.22,1,.36,1) both}
@media(prefers-reduced-motion:reduce){main{animation:none!important}}
/* Fade the actual image edge into the slide, avoiding a moving overlay seam. */
.ap-refreshed-hero .hero-visual:after{display:none}
.ap-refreshed-hero .hero-visual>img{mask-image:linear-gradient(90deg,transparent 0%,transparent 2%,#000 24%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 2%,#000 24%)}
@media(max-width:760px){.ap-refreshed-hero .hero-visual>img{mask-image:linear-gradient(180deg,transparent 0%,transparent 2%,#000 24%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 2%,#000 24%)}}
/* Never animate a selection marker from its default origin on page load. */
.desktop-nav:not(.ap-controls-ready) :is(.ap-nav-pill,.ap-nav-liquid-neck),
.ap-about-tabs:not(.ap-controls-ready) .ap-about-tab-marker,
.filter-tabs:not(.ap-controls-ready) .ap-category-marker,
.news-tabs:not(.ap-controls-ready) .news-tab-marker{transition:none!important;animation:none!important}
.ap-refreshed-hero .hero-visual{background:transparent!important}
/* A single continuous photograph fills the complete hero; text floats above it. */
.ap-refreshed-hero .hero-visual{inset:0;width:100%;height:100%;background:transparent!important}
.ap-refreshed-hero .hero-visual>img{mask-image:none!important;-webkit-mask-image:none!important;object-fit:cover;object-position:center!important}
.ap-refreshed-hero .hero-visual:after{display:none!important}
.ap-refreshed-hero .hero-copy{background:none}
.ap-refreshed-hero #hero-slide-2 .hero-copy{color:white;text-shadow:0 2px 12px #0009}
.ap-refreshed-hero #hero-slide-2 .carousel-title,.ap-refreshed-hero #hero-slide-2 .hero-copy>p,.ap-refreshed-hero #hero-slide-2 .text-link{color:white}
.ap-refreshed-hero #hero-slide-2 .hero-visual:after{display:block!important;background:#10251938;inset:0}
@media(max-width:760px){
 .ap-refreshed-hero{height:680px;min-height:680px}
 .ap-refreshed-hero .hero-visual{inset:0;height:100%;width:100%}
 .ap-refreshed-hero .hero-visual>img{object-position:65% center!important}
 .ap-refreshed-hero .hero-copy{inset:0;margin:0;width:100%;height:100%;padding:40px 24px 180px;justify-content:center;background:#f7f5ebc4}
 .ap-refreshed-hero #hero-slide-2 .hero-copy{background:#10251966}
 .ap-refreshed-hero .ap-hero-certificates{bottom:48px;right:16px}
}
/* Preserve the complete panoramic frame at every viewport width. */
.ap-refreshed-hero{height:calc(100vw / 3);min-height:0;max-height:none}
.ap-refreshed-hero .carousel-slides,.ap-refreshed-hero .hero.carousel-slide{height:100%;min-height:0;max-height:none;padding-bottom:0}
.ap-refreshed-hero .hero-visual>img{object-fit:contain!important;width:100%;height:100%}
.ap-refreshed-hero .hero-copy{padding-top:20px;padding-bottom:50px}
.ap-refreshed-hero .carousel-title{font-size:clamp(26px,2.35vw,52px);line-height:1.12;margin-bottom:18px}
.ap-refreshed-hero .hero-copy>p{font-size:clamp(14px,1vw,18px);line-height:1.6}
@media(max-width:760px){
 .ap-refreshed-hero{height:calc(360px + 100vw / 3);min-height:0}
 .ap-refreshed-hero .hero-copy{top:0;bottom:auto;height:360px;padding:24px 24px 36px;background:#e5e8da!important;justify-content:center;color:#234730!important;text-shadow:none!important}
 .ap-refreshed-hero .carousel-title{font-size:30px}
 .ap-refreshed-hero #hero-slide-2 .carousel-title,.ap-refreshed-hero #hero-slide-2 .hero-copy>p,.ap-refreshed-hero #hero-slide-2 .text-link{color:#234730}
 .ap-refreshed-hero .hero-visual{top:360px;bottom:0;height:calc(100vw / 3)}
 .ap-refreshed-hero .hero-visual:after{display:none!important}
 .ap-refreshed-hero .ap-hero-dots{top:325px;bottom:auto}
 .ap-refreshed-hero .ap-hero-certificates{bottom:5px;right:5px;transform:scale(.55);transform-origin:bottom right}
}
/* First paint is static; slide motion begins only when changing slides. */
.hero-carousel:not(.ap-carousel-transitioned) .carousel-slide.is-current,
.application-carousel:not(.ap-carousel-transitioned) .application-slide.is-current{animation:none!important;transform:none}
.ap-header-social{display:flex;align-items:center;gap:20px;margin-right:12px;color:#365e3c;flex-shrink:0}
.ap-header-social span{display:flex;align-items:center;justify-content:center;width:26px;height:30px;cursor:default}
.ap-header-social svg{display:block;width:23px;height:23px}
@media(max-width:1200px){.ap-header-social{gap:12px;margin-right:4px}.ap-header-social span{width:22px}.ap-header-social svg{width:20px;height:20px}}
@media(max-width:640px){.ap-header-social{gap:7px;margin-right:2px}.ap-header-social span{width:18px}.ap-header-social svg{width:17px;height:17px}}
/* Public content protection is a UI deterrent, not download access control. */
body:not(.wp-admin){-webkit-user-select:none;user-select:none}
body:not(.wp-admin) img{-webkit-user-drag:none;-webkit-touch-callout:none}
body:not(.wp-admin) :is(input,textarea,select,[contenteditable=true],[role=textbox]){-webkit-user-select:text;user-select:text}
/* Larger category navigation while keeping parent/child hierarchy clear. */
#collection .product-category-sidebar h2{font-size:30px;line-height:1.3}
#collection .product-category-sidebar>p{font-size:18px;line-height:1.6}
#collection .filter-tabs button,#collection .filter-tabs [data-category-parent]{font-size:22px;line-height:1.45}
#collection .filter-tabs .ap-category-children button{font-size:18px;line-height:1.5;padding-top:12px;padding-bottom:12px}
#collection .ap-category-chevron{top:50%;margin-top:-5px}
