/* Elementor's wrappers retain native controls; these rules preserve the source layout. */
.gp-site .gp-page { margin:0; }
.gp-site .gp-page:not(.elementor) { min-height:45vh; }
.gp-site .gp-page-title { margin:40px auto;max-width:1200px;padding:0 24px; }
.gp-site .elementor .gp-section,.gp-site .elementor .gp-block { --container-widget-width:100%; --container-widget-flex-grow:0; --content-width:100%; --gap:0; gap:0; margin:0; border:0; border-radius:0; }
.gp-site .elementor .gp-section { display:block;width:100%;max-width:none; }
.gp-site .elementor .gp-block { display:block;padding:0;min-height:0; }
.gp-site .elementor .gp-section > .e-con-inner,.gp-site .elementor .gp-block > .e-con-inner { display:contents; }
.gp-site .elementor .elementor-widget { margin:0; }
.gp-site .elementor-widget-heading .elementor-heading-title { font-family:inherit;font-weight:inherit;line-height:inherit;color:inherit; }
.gp-site .elementor .gp-eyebrow .elementor-heading-title {font:600 13px/1.45 var(--font-ui);letter-spacing:.12em;color:var(--type-link);margin:0;}
.gp-site .elementor .hero { display:block;position:relative;height:clamp(580px,42vw,760px);padding:clamp(44px,5vw,68px) 7.2%;overflow:hidden; }
.gp-site .elementor .hero-copy {position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;width:min(52%,540px);height:100%;max-width:540px;}
.gp-site .elementor .gp-hero-title h1 {font:800 clamp(3rem,3.5vw,3.5rem)/1.15 'Manrope',sans-serif;letter-spacing:-.035em;max-width:12ch;margin:18px 0 20px;color:#2c3e50;}
.gp-site .elementor .gp-hero-title em {color:#e57373;}
.gp-site .elementor .gp-hero-title .elementor-heading-title {color:#2c3e50;}
.gp-site.elementor-editor-active .elementor .gp-button .elementor-button {background:#203e50;color:#fff;}
.gp-site .elementor .gp-hero-text p {font:400 18px/1.6 'DM Sans',sans-serif;max-width:42ch;margin:0 0 28px;}
.gp-site .elementor .hero-art {position:absolute;inset:0 0 0 auto;width:64%;height:100%;min-height:0;overflow:hidden;transform:none;}
.gp-site .elementor .hero-art .elementor-widget-image,.gp-site .elementor .hero-art .elementor-widget-container {width:100%;height:100%;}
.gp-site .elementor .hero-art img {display:block;width:100%;height:100%;object-fit:contain;object-position:right center;max-width:none;}
.gp-site .elementor .gp-button .elementor-button {background:var(--ink);border-radius:5px;color:#fff;font:500 16px/1.3 var(--font-ui);padding:16px 21px;}
.gp-site .elementor .gp-section.trust-strip {display:flex;gap:40px;justify-content:center;padding:32px 8%;background:#f7fafb;}
.gp-site .elementor .gp-trust-item {flex:0 1 300px;text-align:center;min-width:0;}
.gp-site .gp-trust-item img {width:120px;height:120px;object-fit:contain;}
.gp-site .gp-trust-item h3 {font-size:16px;font-weight:600;margin:8px 0 4px;}
.gp-site .gp-trust-item p {font-size:15px;line-height:1.5;margin:0;}
.gp-site .elementor .products-section {padding:72px 7.2%;}
.gp-site .elementor .gp-section-title h2 {font:700 var(--font-h2)/1.25 var(--font-heading);margin:12px 0 18px;}
.gp-site .elementor .gp-section-title .elementor-heading-title,.gp-site .elementor .gp-subtitle .elementor-heading-title {color:var(--type-ink);}
.gp-site .elementor .gp-subtitle h3 {font:500 var(--font-h4)/1.5 var(--font-heading);margin:0 0 28px;}
.gp-site .elementor .story {display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:65px 9%;}
.gp-site .elementor .story-visual {height:auto;min-width:0;}
.gp-site .elementor .story-visual img {display:block;width:100%;height:auto;object-fit:cover;border-radius:8px;}
.gp-site .elementor .story-copy {width:100%;}
.gp-site .elementor .newsletter {display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;padding:55px 9%;background:#edf7fa;}
.gp-site .elementor .newsletter .gp-eyebrow .elementor-heading-title {font-size:16px;letter-spacing:.04em;}
.gp-site .elementor .newsletter p {font-size:16px;color:var(--type-body);}
.gp-site .elementor .contact-section {display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;padding:70px 9%;}
.gp-site .gp-section .elementor-widget-shortcode {width:100%;}
.gp-site .contact-form {width:100%;}
.gp-site .contact-form input,.gp-site .contact-form textarea {width:100%;border:1px solid #cbd9df;padding:12px;border-radius:5px;background:#fff;}
.gp-site .contact-field {margin:0 0 16px;}
.gp-site .contact-field label {display:block;margin-bottom:6px;}
.gp-site .contact-form-row {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gp-site .gp-consent {display:block;margin:0 0 18px;}
.gp-site .gp-consent input {width:auto;min-height:0;}
.gp-site .gp-honeypot {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.gp-site .gp-newsletter-action p {margin:10px 0 0;}
.gp-site [hidden] {display:none!important;}
.gp-site .quick-add {display:grid;place-items:center;font-size:26px;}
.gp-site .product-card .added_to_cart {position:absolute;right:10px;bottom:10px;padding:6px 10px;background:#fff;border-radius:5px;}
.gp-site .product-body-areas {padding-left:0;}
.gp-site .gp-woocommerce {max-width:1260px;margin:0 auto;padding:48px 24px;min-height:55vh;}
.gp-site .woocommerce div.product div.images {width:48%;}
.gp-site .woocommerce div.product div.summary {width:46%;}
.gp-site .woocommerce div.product .product_title {font:700 clamp(28px,3vw,42px)/1.2 var(--font-heading);margin:0 0 20px;}
.gp-site .woocommerce div.product p.price {color:var(--type-link);font-size:30px;font-weight:700;}
.gp-site .woocommerce .button,.gp-site .woocommerce button.button,.gp-site .woocommerce a.button,.gp-site .woocommerce input.button {height:auto;background:var(--ink);color:#fff;font:600 15px/1.4 var(--font-ui);border-radius:5px;padding:14px 20px;}
.gp-site .woocommerce .quantity .qty {width:80px;border:1px solid #cbd9df;border-radius:5px;min-height:49px;}
.gp-site .woocommerce div.product form.cart {display:flex;gap:12px;align-items:center;}
.gp-site .woocommerce-tabs {padding-top:30px;}
.gp-site .woocommerce-tabs .panel h2,.gp-site .woocommerce-tabs .panel h3 {font-size:24px;margin:24px 0 12px;}
.gp-site .woocommerce-tabs .panel p {margin-bottom:16px;}
.gp-site .woocommerce-message {border-color:var(--type-link);}
.gp-site .gp-pair-offer {padding:16px;background:#edf7fa;border-radius:6px;}
.gp-site .woocommerce .related ul.products {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.gp-site .woocommerce .related ul.products::before,.gp-site .woocommerce .related ul.products::after {display:none;}
.gp-site .woocommerce .related ul.products li.product {width:100%;margin:0;}
.gp-site .main-nav ul {display:flex;gap:28px;margin:0;padding:0;list-style:none;}
.gp-site .pdp-footer-bottom ul {display:flex;gap:20px;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.gp-menu-toggle {display:none;}
.gp-site .woocommerce-cart .gp-page,.gp-site .woocommerce-checkout .gp-page,.gp-site .woocommerce-account .gp-page {max-width:1260px;margin:auto;padding:40px 24px;}
@media(max-width:767px){
 .gp-site .elementor .hero {display:flex;flex-direction:column;height:auto;padding:40px 7% 54px;}
 .gp-site .elementor .hero-copy {width:100%;height:auto;}
 .gp-site .elementor .gp-hero-title h1 {font-size:clamp(2rem,8vw,2.25rem);max-width:13ch;}
 .gp-site .elementor .gp-hero-text p {font-size:16px;}
 .gp-site .elementor .hero-art {position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1632/963;margin-top:20px;}
 .gp-site .elementor .hero-art img {object-position:center;}
 .gp-site .elementor .gp-section.trust-strip {display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px 7%;}
 .gp-site .gp-trust-item:last-child {grid-column:1 / -1;}
 .gp-site .elementor .story,.gp-site .elementor .newsletter,.gp-site .elementor .contact-section {display:grid;grid-template-columns:1fr;gap:26px;padding:42px 7%;}
 .gp-site .elementor .products-section {padding:48px 6%;}
 .gp-site .gp-woocommerce {padding:30px 20px;}
 .gp-site .woocommerce div.product div.images,.gp-site .woocommerce div.product div.summary {width:100%;float:none;}
 .gp-site .woocommerce .related ul.products {grid-template-columns:repeat(2,minmax(0,1fr));}
 .gp-site .gp-menu-toggle {display:block;border:0;background:transparent;font-size:25px;color:var(--ink);}
 .gp-site .site-header {position:relative;}
 .gp-site .main-nav {display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 7%;box-shadow:0 12px 15px #203e5012;z-index:10;}
 .gp-site .main-nav.gp-nav-open {display:flex;flex-direction:column;}
 .gp-site .main-nav ul {flex-direction:column;}
 .gp-site .contact-form-row {grid-template-columns:1fr;gap:0;}
}
