/* Bonaplus / A distinctive, accessible visual system. */
:root{--blue:#0754c8;--deep:#043d9d;--navy:#092b46;--ink:#122d43;--green:#c1f496;--muted:#607080;--paper:#f7f8f5;--line:#d8dfdf;--white:#fff;--display:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}[hidden]{display:none!important}::selection{background:var(--green);color:var(--navy)}:focus-visible{outline:3px solid #24a45b;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;letter-spacing:-.055em}h2{font-size:clamp(2.8rem,4.7vw,4.4rem);margin-bottom:24px}h2>span{color:var(--blue)}svg{width:22px;height:22px;flex-shrink:0}button:disabled{opacity:.5}.section-shell{width:min(1400px,calc(100% - 100px));margin-inline:auto}.section-padding{padding-block:120px}.eyebrow{font-size:.65rem;line-height:1.5;letter-spacing:.13em;font-weight:700;margin-bottom:30px;text-transform:uppercase;color:var(--blue)}.eyebrow.light{color:#e5eeff}.section-number{opacity:.55;margin-right:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:58px;padding:17px 25px;border:1px solid transparent;border-radius:4px;font-size:.86rem;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button svg{width:21px}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:var(--deep)}.button-secondary{border-color:var(--line);color:var(--ink);background:transparent}.button-secondary:hover{background:#e9eef0}.button-light{background:#fff;color:var(--blue)}.button-light:hover{background:#e8f2ff}.button-lime{background:var(--green);color:var(--navy)}.button-lime:hover{background:#d0ffab}.button-whatsapp{background:#087d35;color:#fff}.text-link{display:inline-flex;gap:24px;align-items:center;color:var(--blue);font-size:.83rem;font-weight:600;border-bottom:1px solid #9bb9dc;padding-bottom:8px;margin-top:14px}.text-link:hover{gap:30px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;color:var(--ink);padding:14px 22px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Navigation and campaign */
.site-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:30px;min-height:96px;padding:15px max(50px,calc((100vw - 1400px)/2));background:var(--blue);color:#fff;border-bottom:1px solid #ffffff29}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand img{width:58px;height:58px;border-radius:8px}.brand-word{font:600 1.9rem/1 var(--display);letter-spacing:-.07em}.brand-word>span{font-weight:800}.nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:.77rem;font-weight:500}.nav a{padding-block:14px;white-space:nowrap;position:relative}.nav a::after{position:absolute;content:'';bottom:6px;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.nav a:hover::after{width:100%}.header-cta{min-height:44px;font-size:.72rem;padding:13px 17px;gap:15px}.menu-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid #ffffff60;background:transparent;color:inherit;border-radius:50%}.menu-toggle span{display:block;width:22px;height:1.5px;margin:5px 0;background:currentColor;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}.site-header :focus-visible,.campaign :focus-visible,.origin :focus-visible,.closing :focus-visible{outline-color:var(--green)}
.campaign{position:relative;background:var(--blue);color:#fff;overflow:hidden}.campaign-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;padding-block:50px 65px;min-height:740px}.campaign-copy{position:relative;z-index:2}.campaign-copy .eyebrow{display:flex;align-items:center;gap:10px}.campaign-copy .eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--green)}.campaign h1{font-size:clamp(3.8rem,6.5vw,6.65rem);font-weight:600;letter-spacing:-.065em;line-height:.99;margin:0 0 38px}.campaign h1>span{color:var(--green)}.campaign-bottom{display:flex;align-items:flex-end;gap:30px}.campaign-bottom p{font-size:.84rem;line-height:1.75;color:#dfebff;margin:0}.campaign-bottom .button{padding-inline:20px;white-space:nowrap;font-size:.78rem;gap:20px}.campaign-art{position:relative;align-self:stretch;min-height:590px;isolation:isolate}.campaign-image{position:absolute;width:calc(100% + 80px);height:100%;max-width:none;left:-20px;top:0;object-fit:cover;border-radius:140px 140px 6px 6px}.campaign-rail{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;border-top:1px solid #ffffff36;font-size:.68rem;color:#d6e6ff}.campaign-rail a{font-size:.6rem;letter-spacing:.12em}.campaign-rail a span{margin-left:40px;font-size:1rem}
/* Brand story */
.manifesto{padding-block:110px 80px}.manifesto-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:100px;align-items:center}.manifesto h2{font-size:clamp(2.3rem,3.7vw,3.6rem);line-height:1.17}.manifesto-grid>div{font-size:.9rem;color:var(--muted);max-width:360px;justify-self:end}.brand-facts{display:grid;grid-template-columns:1fr 1fr 1.4fr;border-top:1px solid var(--line);margin-top:60px;padding-top:38px}.brand-facts>div{padding-inline:42px;border-left:1px solid var(--line)}.brand-facts>div:first-child{padding-left:0;border:0}.brand-facts strong{font-family:var(--display);display:block;font-size:clamp(2.6rem,4.5vw,4.2rem);font-weight:500;letter-spacing:-.06em;line-height:1.2;margin-bottom:7px}.brand-facts strong span{font-size:.6em;margin-left:4px}.brand-facts>div>span{font-size:.73rem;color:var(--muted)}
.worlds{background:#e8eeeb;padding-block:85px 95px}.editorial-heading{display:grid;grid-template-columns:1fr 1.55fr;align-items:start;gap:40px;margin-bottom:45px}.editorial-heading h2{margin-bottom:0}.world-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px;align-items:start}.world-card{display:block;position:relative;isolation:isolate;overflow:hidden;height:510px;color:#fff;border-radius:4px}.world-card:nth-child(2){margin-top:65px}.world-card:nth-child(3){margin-top:130px}.world-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.world-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,#09222d1a 40%,#061c2ce8 100%);z-index:0;pointer-events:none}.world-card:hover img{transform:scale(1.055)}.world-copy{position:absolute;z-index:1;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.world-copy>span:first-child{font-size:.61rem;letter-spacing:.14em;margin-bottom:20px}.world-copy h3{font-size:clamp(1.9rem,2.5vw,2.65rem);font-weight:500;margin:0 0 28px}.world-link{border-top:1px solid #ffffff6b;padding-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:.72rem;gap:15px}.world-link b{font-size:1.5rem;font-weight:400}
/* Catalog */
.catalog-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin-bottom:55px}.catalog-heading h2{font-size:clamp(3rem,5.8vw,5.5rem);margin-bottom:0;line-height:1.05}.catalog-intro{max-width:340px;justify-self:end;font-size:.9rem;color:var(--muted)}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-block:1px solid var(--line);padding-block:16px}.catalog-filters{display:flex;flex-wrap:wrap;gap:7px}.catalog-filters button{border:0;background:transparent;color:var(--muted);padding:12px 17px;min-height:44px;font-size:.78rem;font-weight:500;border-radius:3px}.catalog-filters button[aria-pressed=true]{background:var(--navy);color:#fff}.catalog-filters button>span{font-size:.65rem;margin-left:12px;opacity:.65}.catalog-search{display:flex;align-items:center;gap:12px;border-bottom:1px solid #a0acb4;max-width:270px;padding:9px 0}.catalog-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font-size:.78rem;padding:3px}.catalog-search:focus-within{outline:2px solid var(--blue);outline-offset:5px}.catalog-search input:focus{outline:0}.catalog-search svg{width:18px;height:18px}.catalog-status{margin:18px 0 24px;color:var(--muted);font-size:.7rem}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 22px;align-items:start}.product-card{min-width:0;position:relative}.product-image{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;background:#e9efef;border-radius:4px}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.product-image:hover img{transform:scale(1.035)}.product-index{position:absolute;top:13px;left:13px;z-index:1;background:#fff;color:var(--ink);padding:4px 9px;font-size:.62rem;border-radius:2px;line-height:1.7}.product-selected{display:none;position:absolute;right:12px;top:12px;z-index:1;place-items:center;background:var(--green);color:var(--navy);width:28px;height:28px;border-radius:50%;font-size:.8rem}.is-selected .product-selected{display:grid}.product-content{padding-top:20px}.product-content h3{font-size:1rem;letter-spacing:-.03em;line-height:1.4;margin-bottom:4px}.product-content h3 a:hover{color:var(--blue)}.product-content>p{font-size:.7rem;color:var(--muted);margin-bottom:15px}.details-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--blue);min-height:48px;padding:12px 0;font-size:.75rem;font-weight:600}.details-button::after{content:'+';font-size:1.4rem;font-weight:400;line-height:1}.details-button:hover{color:var(--deep);border-bottom-color:var(--blue)}.is-selected .details-button::after{content:'✓';font-size:.95rem}.quantity-row{margin-top:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.quantity-label{grid-column:1/-1;font-size:.69rem;color:var(--muted)}.quantity{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;border:1px solid var(--line);border-radius:3px;overflow:hidden}.quantity button{width:36px;min-height:44px;border:0;background:#edf0ef;color:var(--ink);font-size:1.15rem}.quantity input{border:0;background:#fff;color:var(--ink);font-size:1rem;width:100%;min-width:0;text-align:center;appearance:textfield;-moz-appearance:textfield}.quantity input::-webkit-inner-spin-button,.quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity :focus-visible{outline-offset:-3px}.add-button{border:1px solid var(--line);background:transparent;border-radius:3px;font-size:.65rem;color:var(--blue);padding:8px;min-height:44px}.catalog-footnote{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-block:25px;border-block:1px solid var(--line);margin-top:50px}.catalog-footnote>span{font-size:.82rem}.catalog-footnote b{font-size:1.6rem;font-weight:400;margin-right:12px;color:var(--blue)}.catalog-footnote p{margin:0;max-width:390px;font-size:.72rem;color:var(--muted)}.empty-catalog{padding:60px 20px;text-align:center}.empty-catalog>span{font-size:3.5rem}.empty-catalog h3{font-size:1.5rem}.empty-catalog p{color:var(--muted)}
/* Origin and purchasing */
.origin{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff}.origin-image{position:relative;min-width:0;min-height:680px}.origin-image img{width:100%;height:100%;position:absolute;object-fit:cover}.origin-tag{position:absolute;bottom:26px;left:30px;font-size:.58rem;letter-spacing:.12em;background:#fff;color:var(--navy);padding:11px 15px}.origin-copy{padding:80px clamp(35px,6vw,105px) 45px}.origin-copy h2{font-size:clamp(3.2rem,5.2vw,5rem);line-height:1.04}.origin-copy h2>span{color:var(--green)}.origin-copy>p:not(.eyebrow){color:#c4d5dd;font-size:.86rem;max-width:410px}.origin-copy .button{margin-top:15px;font-size:.75rem;gap:18px}.origin-signature{margin-top:50px;border-top:1px solid #ffffff30;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:.66rem;color:#c4d5dd}.origin-signature span{color:#fff}.buying{display:grid;grid-template-columns:1fr 1.12fr;gap:90px}.buying h2{font-size:clamp(2.8rem,4.8vw,4.5rem)}.buying-intro>p:not(.eyebrow){font-size:.88rem;color:var(--muted);margin-bottom:8px}.buying-steps{padding-top:4px}.buying-steps article{display:grid;grid-template-columns:36px 1fr 20px;gap:22px;border-top:1px solid var(--line);padding:30px 0}.buying-steps article:last-child{border-bottom:1px solid var(--line)}.buying-steps article>span{font-size:.68rem;color:var(--blue);padding-top:6px}.buying-steps h3{font-size:1.5rem;letter-spacing:-.035em;margin-bottom:12px}.buying-steps p{font-size:.82rem;color:var(--muted);margin:0;max-width:360px}.buying-steps article>b{font-size:1.4rem;font-weight:400}.faq{display:grid;grid-template-columns:1fr 1.12fr;gap:90px;padding-bottom:110px}.faq h2{font-size:3rem}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;cursor:pointer;list-style:none;font-size:.86rem;font-weight:500;padding:21px 40px 21px 0;color:var(--ink)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:5px;top:15px;font-size:1.4rem;color:var(--blue)}.faq-list details[open] summary::after{content:'−'}.faq-list p{font-size:.8rem;color:var(--muted);padding:0 30px 22px 0;margin:0}.closing{padding-block:75px 85px;background:var(--blue);color:#fff}.closing .eyebrow{margin-bottom:40px}.closing-row{display:flex;align-items:center;justify-content:space-between;gap:70px}.closing h2{font-size:clamp(4.5rem,9vw,8.5rem);line-height:.98;margin:0;letter-spacing:-.07em}.closing h2>span{color:var(--green)}.closing-action{display:flex;align-items:center;gap:30px;color:#fff;font-size:.95rem;line-height:1.6}.closing-action>b{display:grid;place-items:center;width:110px;height:110px;background:var(--green);border-radius:50%;color:var(--navy);font-size:3.7rem;font-weight:400;transition:transform .3s}.closing-action:hover>b{transform:rotate(45deg)}
/* Footer and persistent order dock */
.footer{background:#08263e;color:#fff;padding-block:70px 24px}.footer-grid{display:grid;grid-template-columns:1.05fr 1.25fr 1fr .65fr;gap:40px}.footer-brand img{width:65px;height:65px;border-radius:6px;margin-bottom:23px}.footer h3{font-size:.62rem;letter-spacing:.12em;margin:4px 0 24px;font-family:var(--body);font-weight:500;color:#a7c0cf}.footer p{font-size:.77rem;line-height:1.8;margin:0 0 9px;color:#c2d2dc}.footer a{overflow-wrap:anywhere}.footer a:hover{color:var(--green)}.footer .footer-phone{font-size:1.35rem;letter-spacing:-.04em;display:block;margin-bottom:12px}.footer-link{font-size:.77rem}.footer-bottom{border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:25px;padding-top:24px;font-size:.64rem;color:#9cb1bf;margin-top:24px}.footer :focus-visible{outline-color:var(--green)}
.cart-panel{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:45;display:flex;align-items:center;gap:18px;background:var(--navy);color:#fff;padding:12px 14px 12px 20px;box-shadow:0 10px 50px #092b4645;border:1px solid #ffffff20;border-radius:8px;max-width:calc(100% - 32px);width:610px}.cart-icon{font-size:2rem;color:var(--green);font-weight:400;line-height:1}.cart-copy{flex:1;min-width:0}.cart-copy h3{font-family:var(--body);font-size:.83rem;font-weight:500;letter-spacing:0;line-height:1.5;margin:0}.cart-copy p{font-size:.72rem;color:#c9dae4;margin:2px 0 0}.cart-panel .button{font-size:.75rem;min-height:48px;flex-shrink:0;padding:12px 18px;gap:16px}.floating-whatsapp{position:fixed;right:22px;bottom:24px;z-index:35;display:flex;align-items:center;justify-content:center;gap:10px;background:#087d35;color:#fff;min-height:52px;padding:14px 19px;box-shadow:0 3px 20px #102d4520;border:2px solid #fff;border-radius:100px;font-size:.75rem;font-weight:500}.has-order .floating-whatsapp{bottom:114px}
.order-modal{border:0;border-radius:8px;padding:0;width:min(760px,calc(100% - 30px));max-height:calc(100dvh - 40px);background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #0004}.order-modal::backdrop{background:#08263eba;backdrop-filter:blur(5px)}body.modal-open{overflow:hidden}.modal-card{padding:45px;position:relative}.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.5rem}.modal-card>.eyebrow{padding-right:25px;margin-bottom:16px}.modal-card h2{font-size:2.8rem;margin:0 0 16px}.modal-intro{font-size:.86rem;color:var(--muted);max-width:490px;margin-bottom:25px}.order-review{border-block:1px solid var(--line);margin-bottom:20px}.order-review-row{display:grid;grid-template-columns:1fr auto 36px;gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:.8rem}.order-review-row:last-child{border-bottom:0}.order-review-row small{display:block;color:var(--muted);font-size:.69rem}.review-quantity{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--muted)}.review-quantity input{width:75px;border:1px solid var(--line);border-radius:3px;padding:7px;background:#fff;font-size:1rem;color:var(--ink)}.remove-item{border:0;background:#e8ede9;color:var(--ink);border-radius:50%;width:36px;height:36px;font-size:1.1rem}.order-notice{font-size:.74rem;color:#416345;padding:12px 15px;background:#e7eee2;margin:0 0 25px}.order-notice:empty{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.modal-card label{display:block;font-size:.75rem;font-weight:500;margin:0 0 18px}.modal-card label>input,.modal-card textarea{display:block;width:100%;border:1px solid #c2cbcb;border-radius:3px;padding:12px 14px;margin-top:7px;background:#fff;color:var(--ink);font-size:1rem}.modal-card textarea{resize:vertical}.optional{font-weight:400;color:var(--muted)}.privacy-note{font-size:.68rem;color:var(--muted);margin-bottom:20px}.modal-submit{width:100%}.noscript{padding:20px;background:#e9f2df;color:var(--ink);text-align:center}
/* Existing information and product pages share the same visual language. */
.inner-page .site-header{background:var(--blue)}.inner-page .hero{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;padding-block:75px}.inner-page .hero h1{font-size:clamp(2.8rem,4.7vw,4.6rem);margin-bottom:25px}.inner-page .hero h1>span{color:var(--blue)}.hero-text{color:var(--muted);font-size:1rem;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:28px}.hero-points{display:flex;gap:18px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.hero-points>span::before{content:'•';color:var(--blue);margin-right:8px}.hero-visual{min-width:0;position:relative}.hero-visual>img{width:auto;max-height:620px;margin:auto;object-fit:contain;border-radius:160px 160px 5px 5px}.hero-glow{display:none}.section-heading{max-width:800px;margin:0 0 45px}.section-heading p:not(.eyebrow){color:var(--muted);font-size:.93rem}.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.step-grid article{border-top:1px solid var(--line);padding-top:25px}.step-grid article>span{font-size:.8rem;color:var(--blue)}.step-grid h3{font-size:1.5rem;line-height:1.25;margin:28px 0 15px}.step-grid h3 .text-link{font-size:inherit;letter-spacing:inherit}.step-grid p{font-size:.9rem;color:var(--muted)}.cta{display:flex;align-items:center;justify-content:space-between;gap:50px;background:var(--blue);color:#fff;padding:60px;margin-bottom:80px}.cta h2{color:#fff;max-width:800px}.cta .eyebrow{color:#d4e6ff}.cta p:last-child{color:#d4e6ff;margin-bottom:0}.cta .button{flex-shrink:0}.about{background:#e8eeeb}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.about-image img{border-radius:4px}.about-copy p:not(.eyebrow){color:var(--muted)}.about-badges{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.about-badges span{font-size:.75rem;padding:7px 12px;background:#fff}.trust{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding-block:30px}.trust strong{display:block;font-family:var(--display);font-size:2rem;letter-spacing:-.04em;color:var(--blue)}.trust span{font-size:.8rem;color:var(--muted)}
/* Motion supports the composition; content stays visible without JavaScript. */
@media(prefers-reduced-motion:no-preference){.campaign-copy{animation:enter .75s ease-out both}.campaign-art{animation:enter 1s .1s ease-out both}.reveal.visible{animation:enter .7s ease-out both}@keyframes enter{from{opacity:.3;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1200px){.section-shell{width:calc(100% - 64px)}.site-header{padding-inline:32px;gap:20px}.brand-word{font-size:1.65rem}.nav{gap:20px;font-size:.71rem}.header-cta{font-size:.65rem;padding-inline:13px}.campaign-inner{min-height:680px}.campaign-bottom{align-items:flex-start;flex-direction:column;gap:22px}.campaign-art{min-height:550px}.manifesto-grid{gap:55px}.world-card{height:450px}.world-copy{padding:23px}.catalog-heading{gap:50px}.product-grid{gap:35px 18px}.quantity-row{grid-template-columns:1fr}.origin-copy{padding:60px 45px 40px}.origin-image{min-height:660px}.buying,.faq{gap:55px}.closing-action{gap:20px}.closing-action>b{width:90px;height:90px}.footer-grid{gap:25px}}
@media(max-width:1000px){.header-cta{display:none}.campaign h1{font-size:clamp(3.3rem,7vw,5rem)}.campaign-art{min-height:490px}.campaign-inner{min-height:610px}.manifesto-grid{grid-template-columns:1.4fr 1fr;gap:40px}.manifesto h2{font-size:2.6rem}.world-grid{gap:14px}.world-card{height:405px}.world-copy h3{font-size:1.85rem}.world-copy{padding:20px}.world-copy>span:first-child{font-size:.53rem}.catalog-toolbar{align-items:flex-start;flex-direction:column;gap:15px}.catalog-search{width:100%;max-width:none}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.origin-copy h2{font-size:3.4rem}.origin-copy{padding:50px 35px 35px}.origin-image{min-height:640px}.buying,.faq{gap:40px}.buying-steps article{gap:15px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:880px){.site-header{min-height:80px;padding:12px 24px}.brand img{width:52px;height:52px}.brand-word{font-size:1.7rem}.menu-toggle{display:block;margin-left:auto}.nav{display:none}.nav.open{display:flex;position:absolute;top:100%;left:0;right:0;margin:0;padding:20px 24px 26px;background:var(--deep);flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #ffffff30;max-height:calc(100dvh - 80px);overflow:auto}.nav.open a{padding:15px 5px;font-size:1rem}.section-shell{width:calc(100% - 48px)}.campaign-inner{gap:5px;padding-block:40px 45px}.campaign-art{min-height:475px}.campaign-image{left:0;width:calc(100% + 30px);border-radius:100px 100px 4px 4px}.campaign h1{font-size:clamp(3.1rem,7vw,4.3rem)}.campaign-copy .eyebrow{font-size:.53rem;letter-spacing:.1em;max-width:250px}.campaign-rail{font-size:.59rem}.campaign-rail a{font-size:.53rem}.campaign-rail a span{margin-left:15px}.manifesto{padding-block:80px 65px}.manifesto-grid{grid-template-columns:1.45fr 1fr;gap:30px}.manifesto h2{font-size:2.3rem}.manifesto-grid>div{font-size:.82rem}.brand-facts>div{padding-inline:24px}.brand-facts strong{font-size:2.7rem}.brand-facts>div>span{font-size:.65rem}.worlds{padding-block:65px 75px}.editorial-heading{grid-template-columns:1fr 1.25fr;gap:25px}.world-card{height:360px}.world-copy{padding:16px}.world-copy h3{font-size:1.65rem}.world-link{font-size:.61rem;gap:8px}.world-card:nth-child(2){margin-top:40px}.world-card:nth-child(3){margin-top:80px}.section-padding{padding-block:85px}.catalog-heading h2{font-size:4rem}.catalog-intro{font-size:.83rem}.origin{grid-template-columns:1fr 1.05fr}.origin-image{min-height:620px}.origin-copy{padding:45px 28px 30px}.origin-copy h2{font-size:3.1rem}.origin-copy>p:not(.eyebrow){font-size:.8rem}.origin-copy .button{font-size:.67rem;padding-inline:15px;gap:10px}.origin-signature{font-size:.6rem;margin-top:35px}.buying h2{font-size:3rem}.buying-steps h3{font-size:1.25rem}.buying-steps p{font-size:.77rem}.faq{padding-bottom:80px}.closing-row{gap:30px}.closing h2{font-size:5.3rem}.closing-action{font-size:.8rem;flex-direction:column;align-items:flex-end;gap:18px}.closing-action>b{width:76px;height:76px;font-size:2.7rem}.inner-page .hero{gap:35px;padding-block:55px}.inner-page .hero h1{font-size:2.7rem}.hero-text{font-size:.9rem}.hero-actions .button{font-size:.75rem}.step-grid{gap:20px}.step-grid h3{font-size:1.3rem}.cta{padding:40px;flex-direction:column;align-items:flex-start}.about-grid{gap:40px}}
@media(max-width:600px){html{scroll-padding-top:90px}.section-shell{width:calc(100% - 36px)}.site-header{min-height:72px;padding:10px 18px}.brand img{width:48px;height:48px}.brand-word{font-size:1.6rem}.brand{gap:11px}.menu-toggle{width:42px;height:42px}.nav.open{padding-inline:18px}.campaign-inner{display:flex;flex-direction:column;gap:20px;padding-block:35px 0;align-items:stretch}.campaign-copy .eyebrow{font-size:.55rem;max-width:none;margin-bottom:25px;letter-spacing:.11em}.campaign h1{font-size:clamp(3.5rem,12vw,5rem);line-height:1.02;margin-bottom:25px}.campaign-bottom{flex-direction:row;gap:18px;align-items:flex-end;justify-content:space-between}.campaign-bottom p{font-size:.72rem;max-width:150px;line-height:1.7}.campaign-bottom .button{font-size:.7rem;padding:13px 13px;min-height:49px;gap:9px}.campaign-bottom .button svg{width:16px}.campaign-art{min-height:390px;height:390px;width:100%;margin:0;align-self:center}.campaign-image{border-radius:100px 100px 0 0;left:0;width:100%;height:100%;object-position:center 56%}.campaign-rail{font-size:.56rem;padding-block:17px;gap:12px}.campaign-rail>span:nth-child(2){display:none}.campaign-rail a{font-size:.51rem;white-space:nowrap}.campaign-rail a span{margin-left:8px}.eyebrow{font-size:.59rem;margin-bottom:25px}.section-number{margin-right:12px}.manifesto{padding-block:65px 55px}.manifesto-grid{grid-template-columns:1fr;gap:15px}.manifesto h2{font-size:clamp(2rem,7.7vw,2.8rem);line-height:1.2;margin-bottom:14px}.manifesto-grid>div{max-width:100%;justify-self:start;font-size:.85rem}.manifesto-grid>div p{max-width:400px}.text-link{font-size:.76rem;gap:20px}.brand-facts{grid-template-columns:1fr 1fr;margin-top:40px;padding-top:28px;gap:24px 0}.brand-facts strong{font-size:2.9rem}.brand-facts>div{padding-inline:22px}.brand-facts>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.brand-facts>div:last-child strong{font-size:2.5rem}.brand-facts>div>span{font-size:.69rem}.worlds{padding-block:55px 60px}.editorial-heading{display:block;margin-bottom:30px}.editorial-heading h2{font-size:2.8rem}.world-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:18px;scrollbar-width:thin;scrollbar-color:var(--blue) #ccd9d2}.world-card{flex:0 0 86%;height:435px;scroll-snap-align:start}.world-card:nth-child(2),.world-card:nth-child(3){margin-top:0}.world-copy{padding:24px}.world-copy h3{font-size:2.25rem}.world-copy>span:first-child{font-size:.61rem}.world-link{font-size:.73rem}.section-padding{padding-block:65px}.catalog-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.catalog-heading h2{font-size:3.4rem}.catalog-intro{justify-self:start;max-width:400px;font-size:.84rem}.catalog-intro p{margin-bottom:6px}.catalog-toolbar{padding-block:13px;gap:15px}.catalog-filters{gap:5px}.catalog-filters button{font-size:.71rem;padding:10px 11px;min-height:43px}.catalog-filters button>span{margin-left:7px}.catalog-search{padding-block:8px}.catalog-search input{font-size:16px}.catalog-status{font-size:.65rem;margin-block:15px 20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.product-content{padding-top:14px}.product-content h3{font-size:.85rem;letter-spacing:-.025em;line-height:1.4}.product-content>p{font-size:.67rem;margin-bottom:10px}.product-index{top:8px;left:8px;font-size:.56rem;padding:3px 7px}.product-selected{width:24px;height:24px;right:8px;top:8px}.details-button{font-size:.68rem;min-height:44px}.details-button::after{font-size:1.2rem}.quantity-row{grid-template-columns:1fr}.quantity{grid-template-columns:40px minmax(0,1fr) 40px}.quantity button{width:40px}.quantity-label{font-size:.65rem}.add-button{font-size:.67rem}.catalog-footnote{display:block;margin-top:35px;padding-block:20px}.catalog-footnote>span{font-size:.78rem}.catalog-footnote p{font-size:.71rem;margin:8px 0 0;max-width:340px}.origin{grid-template-columns:1fr}.origin-image{min-height:375px;height:375px;order:2}.origin-image img{object-position:center 57%}.origin-tag{bottom:20px;left:18px;font-size:.5rem;padding:10px}.origin-copy{padding:55px 24px 35px}.origin-copy h2{font-size:3.6rem;margin-bottom:25px}.origin-copy>p:not(.eyebrow){font-size:.87rem;max-width:420px}.origin-copy .button{font-size:.73rem;padding:15px 20px}.origin-signature{font-size:.66rem;margin-top:35px}.buying{grid-template-columns:1fr;gap:35px}.buying h2{font-size:3.1rem}.buying-intro>p:not(.eyebrow){font-size:.85rem}.buying-steps article{gap:12px;grid-template-columns:28px 1fr 18px;padding-block:25px}.buying-steps h3{font-size:1.35rem}.buying-steps p{font-size:.81rem}.faq{grid-template-columns:1fr;gap:22px;padding-bottom:65px}.faq h2{font-size:2.7rem;margin-bottom:0}.faq .eyebrow{margin-bottom:18px}.faq-list summary{font-size:.82rem;padding-block:22px}.faq-list p{font-size:.79rem}.closing{padding-block:50px 55px}.closing .eyebrow{font-size:.54rem;margin-bottom:30px}.closing-row{display:block}.closing h2{font-size:clamp(3.7rem,14.5vw,5.7rem)}.closing-action{margin-top:34px;flex-direction:row;justify-content:space-between;align-items:center;font-size:.85rem;gap:25px}.closing-action>b{width:77px;height:77px;font-size:2.8rem}.footer{padding-block:45px 105px}.footer-grid{gap:35px 20px;grid-template-columns:1fr 1fr}.footer-brand,.footer-grid>div:nth-child(2){grid-column:1/-1}.footer-brand{display:flex;align-items:center;gap:20px}.footer-brand img{width:62px;height:62px;margin:0}.footer-brand p{margin:0}.footer h3{font-size:.59rem;margin-bottom:16px}.footer p{font-size:.75rem}.footer-bottom{font-size:.6rem;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:18px}.floating-whatsapp{right:16px;bottom:16px;padding:12px;width:50px;height:50px;min-height:50px}.floating-whatsapp>span{display:none}.has-order .floating-whatsapp{bottom:100px}.cart-panel{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:none;padding:10px 10px 10px 14px;gap:10px;border-radius:6px}.cart-icon{display:none}.cart-copy h3{font-size:.71rem}.cart-copy p{font-size:.65rem}.cart-panel .button{font-size:.7rem;padding:12px;min-height:45px;gap:8px}.cart-panel .button svg{width:16px}.order-modal{width:calc(100% - 16px);max-height:calc(100dvh - 20px)}.modal-card{padding:34px 20px 25px}.modal-card>.eyebrow{font-size:.52rem}.modal-card h2{font-size:2.2rem}.modal-intro{font-size:.79rem}.modal-close{right:10px;top:10px;width:36px;height:36px}.order-review-row{gap:10px;font-size:.73rem;grid-template-columns:1fr auto 32px}.review-quantity{flex-direction:column;gap:2px;font-size:.61rem}.review-quantity input{width:64px;padding:6px}.remove-item{width:32px;height:32px}.order-review-row small{font-size:.63rem}.order-notice{font-size:.69rem;padding:10px 12px}.form-grid{grid-template-columns:1fr}.modal-card label{font-size:.74rem}.privacy-note{font-size:.65rem}.modal-submit{font-size:.78rem;gap:12px}.inner-page .hero{grid-template-columns:1fr;padding-block:40px;gap:30px}.inner-page .hero h1{font-size:2.65rem}.inner-page .hero-visual{max-width:420px;margin:auto}.inner-page .hero-visual>img{max-height:470px;border-radius:100px 100px 4px 4px}.hero-text{font-size:.91rem}.hero-actions .button{font-size:.75rem;padding-inline:18px}.hero-points{font-size:.69rem;gap:12px}.section-heading h2{font-size:2.3rem}.section-heading p:not(.eyebrow){font-size:.86rem}.step-grid{grid-template-columns:1fr;gap:30px}.step-grid article{padding-top:20px}.step-grid h3{font-size:1.45rem;margin-top:18px}.step-grid p{font-size:.86rem}.cta{padding:32px 24px;gap:20px;margin-bottom:55px}.cta h2{font-size:2.25rem}.cta .button{width:100%}.about-grid{grid-template-columns:1fr;gap:30px}.about h2{font-size:2.5rem}.trust{grid-template-columns:1fr 1fr;gap:25px}.trust strong{font-size:1.7rem}.trust span{font-size:.73rem}}
@media(max-width:359px){.campaign h1{font-size:3.2rem}.campaign-bottom{flex-direction:column;align-items:flex-start;gap:18px}.campaign-bottom p{max-width:none}.campaign-art{height:330px;min-height:330px}.campaign-bottom .button{width:100%}.catalog-filters button{font-size:.66rem;padding-inline:9px}.product-grid{gap:25px 10px}.product-content h3{font-size:.78rem}.cart-copy h3{font-size:.66rem}.cart-panel .button{font-size:.65rem;padding-inline:10px}.closing h2{font-size:3.5rem}}
@media(max-height:560px){.site-header{position:relative}.order-modal{max-height:calc(100dvh - 16px)}}
@media(hover:none){.button:hover,.world-card:hover img,.product-image:hover img,.closing-action:hover>b{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Preserve the complete campaign composition at every viewport. */
.campaign-art{min-height:0;height:auto;align-self:center;aspect-ratio:4/5}
.campaign-image{position:relative;left:0;top:0;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media(max-width:600px){.campaign-art{min-height:0;height:auto;width:100%;max-width:430px}.campaign-image{object-position:center;border-radius:100px 100px 0 0}}

/* Full image frames: artwork never crops to fill a card or on hover. */
.campaign-inner{min-height:0;padding-block:38px 46px;gap:36px}
.campaign-art{width:100%;max-width:540px;min-height:0;height:auto;aspect-ratio:auto;justify-self:end;align-self:center}
.campaign-image{position:static;display:block;width:100%;height:auto;max-width:100%;aspect-ratio:auto;object-fit:contain;border-radius:16px}
.world-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.world-card{height:auto;overflow:visible;border-radius:12px;color:var(--ink);background:#fff;box-shadow:0 6px 30px #092b4605;transition:box-shadow .25s}
.world-card:nth-child(2){margin-top:28px}
.world-card:nth-child(3){margin-top:56px}
.world-card::after{display:none}
.world-media{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;padding:18px;background:#dce9e2;border-radius:12px 12px 0 0}
.world-care .world-media{background:#f1e2d0}
.world-kitchen .world-media{background:#f2ebcb}
.world-card img{width:100%;height:100%;max-height:100%;object-fit:contain;transform:none;transition:none}
.world-card:hover img,.product-image:hover img{transform:none}
.world-card:hover{box-shadow:0 16px 38px #092b4612}
.world-copy{position:static;padding:26px;display:block}
.world-copy>span:first-child{display:block;font-size:.61rem;color:var(--muted);margin-bottom:16px;letter-spacing:.11em}
.world-copy h3{font-size:clamp(1.45rem,2.35vw,2.3rem);margin:0 0 25px;line-height:1.15}
.world-link{border-color:var(--line);color:var(--blue);font-size:.76rem}
.product-image{background:#e6eceb;padding:12px;border-radius:10px;transition:box-shadow .25s}
.product-image img{object-fit:contain;transform:none;transition:none}
.product-image:hover{box-shadow:0 6px 24px #092b4614}
.product-index{position:static;display:inline-block;margin-bottom:10px;padding:0;background:none;color:var(--muted);font-size:.6rem;letter-spacing:.06em}
.product-selected{top:-4px;right:0}
.product-content h3{font-size:1.05rem}
.details-button{padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;gap:8px}
.details-button:hover{border-color:var(--blue);background:#f1f6fd}
#card-rinse150 .product-image,#card-rinse90 .product-image{background:#f1e2d0}
#card-shampoo150 .product-image,#card-shampoo90 .product-image{background:#eee4d9}
#card-vinagre .product-image,#card-vainilla .product-image{background:#f2ebd8}
#card-cloro .product-image{background:#dfeaf5}
#card-lavaplatos .product-image{background:#dce9e2}
.origin{align-items:center}
.origin-image{min-height:0;height:auto;padding:44px;display:flex;flex-direction:column;gap:20px}
.origin-image img{position:static;width:100%;height:auto;object-fit:contain}
.origin-tag{position:static;align-self:flex-start;margin:0;padding:0;background:transparent;color:#c4d5dd;font-size:.6rem;letter-spacing:.1em}
.origin-copy{padding-top:60px;padding-bottom:60px}
.hero-visual>img{width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:0}
.inner-page .hero-visual>img{border-radius:0}

/* Crawlable catalog navigation and a compact wholesale comparison. */
.breadcrumbs{padding-top:24px;color:var(--muted);font-size:.76rem;line-height:1.6}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;list-style:none;margin:0;padding:0}
.breadcrumbs li{display:flex;align-items:center;min-width:0;overflow-wrap:anywhere}
.breadcrumbs li+li::before{content:"/";margin-inline:12px;color:#97a6b1}
.breadcrumbs a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;padding-block:8px}
.breadcrumbs [aria-current]{color:var(--ink)}
.inner-page .breadcrumbs+.hero{padding-top:30px}
.wholesale-catalog{width:100%;border-collapse:collapse;table-layout:fixed;font-size:1rem}
.wholesale-catalog caption{text-align:left;color:var(--muted);font-size:.8rem;padding-bottom:20px}
.wholesale-catalog th,.wholesale-catalog td{text-align:left;padding:24px;border-bottom:1px solid var(--line);vertical-align:middle}
.wholesale-catalog thead th{background:var(--blue);color:#fff;font-size:.72rem;letter-spacing:.04em;font-weight:600}
.wholesale-catalog thead th:first-child{width:58%;border-radius:8px 0 0 0}
.wholesale-catalog thead th:last-child{border-radius:0 8px 0 0}
.wholesale-catalog tbody tr:nth-child(even){background:var(--paper)}
.wholesale-catalog th>a{font-family:var(--display);font-weight:700;letter-spacing:-.03em;text-decoration:underline;text-decoration-color:#abc3d5;text-underline-offset:5px}
.wholesale-catalog th>a:hover{color:var(--blue)}
.wholesale-catalog small{display:block;margin-top:8px;color:var(--muted);font-size:.7rem;font-weight:400}
.presentation-links{display:flex;flex-wrap:wrap;gap:8px}
.presentation-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:44px;padding:10px 14px;border:1px solid #b9cedd;border-radius:5px;background:#fff;color:var(--blue);font-size:.8rem;font-weight:600;white-space:nowrap}
.presentation-links a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.catalog-guidance{max-width:780px;color:var(--muted);font-size:.9rem;line-height:1.85;margin:28px 0 0}
.catalog-guidance a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.related-products{border-top:1px solid var(--line);padding-block:32px 48px}
.related-products h2{font-family:var(--display);font-size:1.5rem;letter-spacing:-.04em;margin:0 0 22px}
.related-products ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}
.related-products li{flex:1 1 240px;max-width:520px}
.related-products a{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:20px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--blue);font-size:.9rem;font-weight:600;min-height:64px}
.related-products a>span:last-child{margin-left:auto}
.related-products a:hover{border-color:var(--blue)}
.related-products small{color:var(--muted);font-size:.75rem;font-weight:400}
@media(max-width:600px){
 .breadcrumbs{padding-top:14px;font-size:.68rem}
 .breadcrumbs li+li::before{margin-inline:8px}
 .inner-page .breadcrumbs+.hero{padding-top:24px}
 .wholesale-page .hero h1{font-size:clamp(2.1rem,8.5vw,2.65rem)}
 .wholesale-catalog{font-size:.86rem}
 .wholesale-catalog th,.wholesale-catalog td{padding:19px 10px}
 .wholesale-catalog thead th{font-size:.65rem}
 .wholesale-catalog thead th:first-child{width:54%}
 .wholesale-catalog small{font-size:.65rem;line-height:1.6}
 .presentation-links a{padding:9px 11px;gap:14px;font-size:.72rem}
 .catalog-guidance{font-size:.84rem}
 .related-products{padding-block:26px 36px}
 .related-products a{font-size:.83rem;padding:17px}
}
.about-image img{width:100%;height:auto;object-fit:contain;border-radius:0}
.collection-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:100%;max-width:540px;margin-inline:auto}
.collection-item{margin:0;min-width:0}
.collection-item:nth-child(even){padding-top:26px}
.collection-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;padding:10px;background:#e4eae6;border-radius:10px}
.collection-photo img{width:100%;height:100%;object-fit:contain}
.collection-item figcaption{padding-top:8px;font-size:.72rem;font-weight:500;color:var(--muted)}
.collection-pair .collection-photo{aspect-ratio:2/3}
.collection-pair .collection-item:nth-child(even){padding-top:50px}

@media(min-width:881px){
 .site-header{min-height:88px;padding-block:14px}
 .brand img{width:52px;height:52px}
 .campaign-art{max-width:min(540px,calc((100svh - 210px)*.8))}
}
@media(max-width:1000px){
 .world-grid{gap:16px}.world-media{padding:12px}.world-copy{padding:20px}
 .world-link{font-size:.69rem}.origin-image{padding:25px}.origin-copy{padding-block:45px}
 .collection-visual{gap:14px}.collection-item:nth-child(even){padding-top:20px}
}
@media(max-width:600px){
 .campaign-inner{gap:30px;padding-block:35px 26px}
 .campaign-art{height:auto;min-height:0;width:100%;max-width:430px}
 .campaign-image{height:auto;aspect-ratio:auto;object-fit:contain;border-radius:10px}
 .world-grid{display:grid;grid-template-columns:1fr;overflow:visible;scroll-snap-type:none;padding:0;gap:18px}
 .world-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);height:auto;width:100%;scroll-snap-align:none}
 .world-card:nth-child(2),.world-card:nth-child(3){margin-top:0}
 .world-media{aspect-ratio:auto;min-height:205px;border-radius:12px 0 0 12px;padding:12px}
 .world-card img{height:auto;max-height:240px;object-fit:contain}
 .world-copy{padding:23px 17px;align-self:center}
 .world-copy>span:first-child{font-size:.52rem;letter-spacing:.08em;line-height:1.6;margin-bottom:12px}
 .world-copy h3{font-size:1.45rem;margin-bottom:18px}
 .world-link{font-size:.66rem;line-height:1.5;padding-top:12px;gap:7px}
 .world-link b{font-size:1.15rem}
 .product-image{padding:8px;border-radius:8px}
 .product-content h3{font-size:.88rem}
 .product-index{font-size:.55rem;margin-bottom:8px}
 .product-selected{top:-3px;right:0;width:22px;height:22px}
 .details-button{font-size:.68rem;padding:10px;min-height:46px}
 .origin-image{height:auto;min-height:0;padding:12px 24px 36px;gap:16px}
 .origin-image img{object-fit:contain;height:auto}
 .origin-copy{padding:50px 24px 35px}
 .origin-tag{font-size:.54rem}
 .inner-page .hero-visual{width:100%;max-width:430px}
 .inner-page .hero-visual>img{height:auto;max-height:540px;border-radius:0;object-fit:contain}
 .collection-visual{gap:18px}.collection-photo{padding:8px}
 .collection-item figcaption{font-size:.7rem}
 .collection-pair .collection-item:nth-child(even){padding-top:30px}
 
}
@media(max-width:359px){
 .world-media{padding:9px;min-height:195px}.world-copy{padding:18px 13px}
 .world-copy h3{font-size:1.25rem}.world-link{font-size:.61rem}
 .details-button{font-size:.62rem;padding:9px 7px}
}

/* === 2026-09-21 visual refinement: tonal Bonaplus system === */
:root{
  --blue:#0754c8;
  --deep:#043d9d;
  --navy:#082744;
  --ink:#132b43;
  --green:#d7e8ff;
  --muted:#5f6f80;
  --paper:#f8fafc;
  --line:#dbe5ef;
  --white:#fff;
  --whatsapp:#087d35;
  --soft-blue:#edf4ff;
  --blue-mist:#f1f6fc;
  --shadow-soft:0 18px 50px rgba(8,39,68,.08);
  --shadow-hover:0 24px 70px rgba(8,39,68,.14)
}
body{
  background:var(--paper);
  background-image:linear-gradient(180deg,#f8fafc 0%,#ffffff 24%,#f8fafc 100%);
}
::selection{background:#c6ddff;color:var(--navy)}
:focus-visible{outline-color:#2b6ed1}

/* A calmer, more premium blue-on-blue brand frame. */
.site-header{
  background:linear-gradient(90deg,#0754c8 0%,#064bb4 60%,#043d9d 100%);
  border-bottom-color:#ffffff2b;
  box-shadow:0 1px 0 rgba(255,255,255,.06)
}
.brand img{
  background:rgba(255,255,255,.96);
  padding:3px;
  box-shadow:0 8px 24px rgba(3,31,79,.12)
}
.header-cta{
  background:#fff;
  color:var(--blue);
  border-color:#ffffff80
}
.header-cta:hover{background:#eef5ff;color:var(--deep)}

/* Hero: one tonal family instead of unrelated accent colors. */
.campaign{
  background:
    radial-gradient(circle at 78% 18%,rgba(165,204,255,.22),transparent 30%),
    radial-gradient(circle at 20% 80%,rgba(255,255,255,.08),transparent 32%),
    linear-gradient(135deg,#0754c8 0%,#064bb4 52%,#043d9d 100%)
}
.campaign::before{
  content:'';
  position:absolute;
  width:520px;
  height:520px;
  right:-250px;
  bottom:-330px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  pointer-events:none
}
.campaign-copy .eyebrow i{background:#d7e8ff;box-shadow:0 0 0 5px rgba(215,232,255,.12)}
.campaign h1>span{color:#d7e8ff}
.campaign-bottom p{color:#e7f0ff}
.campaign-image{
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 32px 90px rgba(3,30,74,.22)
}
.campaign-rail{color:#dbe9ff}
.button-lime{
  background:#e5f0ff;
  color:#0a315c;
  border-color:#f5f9ff;
  box-shadow:0 10px 30px rgba(3,31,79,.12)
}
.button-lime:hover{background:#fff;color:var(--deep);box-shadow:0 14px 34px rgba(3,31,79,.18)}
.site-header :focus-visible,.campaign :focus-visible,.origin :focus-visible,.closing :focus-visible{outline-color:#e9f3ff}

/* Editorial sections now use neutral/blue surfaces, not green-gray. */
.worlds{
  background:linear-gradient(180deg,#eff4f9 0%,#f5f8fc 100%);
  border-block:1px solid #e2eaf3
}
.world-card{
  border-radius:18px;
  box-shadow:0 16px 42px rgba(8,39,68,.10);
  transform:translateZ(0);
  transition:transform .35s ease,box-shadow .35s ease
}
.world-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.world-card::after{
  background:linear-gradient(180deg,rgba(8,39,68,.02) 20%,rgba(8,39,68,.18) 52%,rgba(5,25,43,.92) 100%)
}

/* Catalog: more tactile, gallery-like cards and a quieter toolbar. */
.catalog-toolbar{
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 32px rgba(8,39,68,.05);
  backdrop-filter:blur(10px)
}
.catalog-filters button{border-radius:10px}
.catalog-filters button:hover{background:#edf4ff;color:var(--blue)}
.catalog-filters button[aria-pressed=true]{
  background:var(--navy);
  color:#fff;
  box-shadow:0 6px 16px rgba(8,39,68,.14)
}
.catalog-search{border-bottom-color:#b8c9dc}
.product-grid{gap:26px 20px}
.product-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:10px;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease
}
.product-card:hover{
  transform:translateY(-5px);
  border-color:#b9cde5;
  box-shadow:var(--shadow-hover)
}
.product-card.is-selected{
  border-color:#8bb8ee;
  box-shadow:0 0 0 2px rgba(7,84,200,.08),var(--shadow-soft)
}
.product-image{
  background:#f1f5fa;
  border-radius:12px
}
.product-content{padding:17px 6px 6px}
.product-selected{
  background:#d7e8ff;
  color:var(--deep);
  box-shadow:0 5px 14px rgba(8,39,68,.12)
}
.quantity button{background:#f1f5fa}
.add-button:hover{background:#edf4ff;border-color:#bed3eb}

/* Story and conversion sections stay visually rich without changing hue families. */
.origin{
  background:
    radial-gradient(circle at 92% 20%,rgba(64,126,207,.18),transparent 34%),
    linear-gradient(145deg,#092b46 0%,#08243d 100%)
}
.origin-copy h2>span{color:#cfe2ff}
.origin-tag{
  border-radius:8px;
  box-shadow:0 8px 24px rgba(5,25,43,.16)
}
.buying-steps article{
  transition:padding-left .25s ease,background .25s ease
}
.buying-steps article:hover{
  padding-left:14px;
  background:linear-gradient(90deg,#f2f6fb 0%,rgba(242,246,251,0) 78%)
}
.faq-list details{
  transition:background .2s ease,padding .2s ease
}
.faq-list details:hover{background:#f2f6fb}
.faq-list details[open]{
  background:#f5f8fc;
  padding-inline:16px
}
.closing{
  background:
    radial-gradient(circle at 84% 22%,rgba(184,216,255,.18),transparent 25%),
    linear-gradient(125deg,#0754c8 0%,#064bb4 52%,#043d9d 100%)
}
.closing h2>span{color:#d7e8ff}
.closing-action>b{
  background:#e5f0ff;
  color:var(--deep);
  box-shadow:0 18px 44px rgba(3,31,79,.18)
}
.footer a:hover{color:#cfe2ff}
.footer :focus-visible{outline-color:#cfe2ff}

/* Persistent controls: premium blue dock, green only where it actually means WhatsApp. */
.cart-panel{
  background:rgba(8,39,68,.96);
  border-color:#ffffff26;
  box-shadow:0 18px 60px rgba(5,25,43,.24);
  backdrop-filter:blur(14px)
}
.cart-icon{color:#d7e8ff}
.floating-whatsapp,.button-whatsapp{background:var(--whatsapp)}
.floating-whatsapp:hover,.button-whatsapp:hover{background:#06672c}

/* Modal surfaces match the rest of the site. */
.order-modal{
  background:#f9fbfd;
  border:1px solid #dbe5ef;
  box-shadow:0 32px 100px rgba(5,25,43,.28)
}
.modal-card input,.modal-card textarea{background:#fff}
.order-notice{background:#edf4ff;color:#214c7b}

/* Subtle section rhythm and more breathing room on large screens. */
@media(min-width:1100px){
  .manifesto{padding-block:125px 95px}
  .products.section-padding{padding-block:130px}
  .faq{padding-bottom:125px}
}
@media(max-width:880px){
  .catalog-toolbar{border-radius:14px}
  .product-card:hover,.world-card:hover{transform:none}
}
@media(max-width:600px){
  .campaign{background:linear-gradient(155deg,#0754c8 0%,#064bb4 58%,#043d9d 100%)}
  .world-card{border-radius:14px}
  .product-card{border-radius:14px;padding:8px}
  .product-image{border-radius:10px}
  .catalog-toolbar{padding:8px 10px;background:#fff}
  .faq-list details[open]{padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){
  .product-card,.world-card,.buying-steps article,.faq-list details{transition:none}
}

/* === 2026-09-21 final production audit === */
/* Remove legacy one-off tones and standardize every visual surface. */
.world-clean .world-media,
.world-care .world-media,
.world-kitchen .world-media,
.collection-photo,
#card-cloro .product-image,
#card-vinagre .product-image,
#card-lavaplatos .product-image,
#card-vainilla .product-image,
#card-calzado .product-image,
#card-desinfectante .product-image,
#card-rinse150 .product-image,
#card-rinse90 .product-image,
#card-shampoo150 .product-image,
#card-shampoo90 .product-image{
  background:linear-gradient(145deg,#eef4fb 0%,#e4edf8 100%)
}
.about{
  background:linear-gradient(180deg,#f1f6fc 0%,#f7f9fc 100%);
  border-block:1px solid #e1e9f2
}
.collection-photo{
  border:1px solid #dbe5ef;
  box-shadow:0 12px 34px rgba(8,39,68,.06)
}
.collection-item figcaption{font-size:.78rem;color:#526477}
.about-badges span{
  border:1px solid #d6e2ef;
  border-radius:999px;
  color:#244e7d;
  background:#fff
}
.related-products a{
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(8,39,68,.04);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.related-products a:hover{
  transform:translateY(-2px);
  border-color:#9dbce0;
  box-shadow:0 14px 34px rgba(8,39,68,.08)
}
.wholesale-catalog{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 40px rgba(8,39,68,.05)
}
.wholesale-catalog thead th{background:linear-gradient(90deg,#0754c8,#0647a9)}
.wholesale-catalog tbody tr:nth-child(even){background:#f7f9fc}
.presentation-links a{border-radius:10px}
.breadcrumbs{font-size:.8rem}
.breadcrumbs a{text-decoration-thickness:1px;text-decoration-color:#9ebadd}
.inner-page .hero{padding-block:64px 76px}
.inner-page .hero h1{letter-spacing:-.055em}
.inner-page .hero-visual>img{
  border-radius:22px;
  box-shadow:0 20px 60px rgba(8,39,68,.10)
}
.step-grid article{
  border-top-color:#cad8e7;
  transition:transform .2s ease,border-color .2s ease
}
.step-grid article:hover{transform:translateY(-3px);border-top-color:#7ea8d9}
.cta{
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 20%,rgba(190,217,255,.18),transparent 30%),
    linear-gradient(120deg,#0754c8,#043d9d);
  box-shadow:0 24px 70px rgba(8,39,68,.12)
}
.product-card.is-unavailable{
  opacity:.82;
  box-shadow:none
}
.product-card.is-unavailable:hover{
  transform:none;
  border-color:var(--line);
  box-shadow:none
}
.product-card.is-unavailable .product-image{filter:saturate(.75)}
.product-card.is-unavailable .details-button{
  color:#6c7885;
  background:#eef2f6;
  border-color:#d8e0e8;
  cursor:not-allowed
}
.product-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  padding:5px 9px;
  border-radius:999px;
  background:#edf2f7;
  color:#5c6977;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.02em
}
.availability-note{
  margin:18px 0 0;
  padding:14px 16px;
  border:1px solid #dbe5ef;
  border-radius:12px;
  background:#f2f6fb;
  color:#4f6073;
  font-size:.9rem;
  line-height:1.65
}
/* Keep utility copy readable; avoid microscopically small interface text. */
@media(max-width:1200px) and (min-width:601px){
  .campaign-copy .eyebrow,.campaign-rail,.campaign-rail a,
  .world-copy>span:first-child,.world-link,.origin-tag,.origin-signature,
  .footer h3,.footer-bottom,.header-cta{font-size:.72rem}
}
@media(max-width:600px){
  .campaign-copy .eyebrow,.campaign-rail,.campaign-rail a,.eyebrow,
  .world-copy>span:first-child,.world-link,.catalog-status,.product-index,
  .quantity-label,.add-button,.origin-tag,.closing .eyebrow,.footer h3,
  .footer-bottom,.cart-copy h3,.cart-copy p,.cart-panel .button,
  .breadcrumbs,.wholesale-catalog thead th,.wholesale-catalog small{
    font-size:.7rem
  }
  .product-content>p,.details-button{font-size:.72rem}
  .collection-item figcaption{font-size:.74rem}
  .inner-page .hero{padding-block:42px 56px}
  .inner-page .hero-visual>img{border-radius:16px}
  .cta{border-radius:18px}
}
@media(max-width:359px){
  .details-button,.world-link,.cart-copy h3,.cart-panel .button{font-size:.68rem}
}
@media(hover:none){
  .related-products a:hover,.step-grid article:hover{transform:none}
}

/* === 2026-09-21 cinematic 3D product experience === */
:root{
  --premium-ease:cubic-bezier(.2,.75,.25,1);
  --blue-glow:rgba(72,145,255,.28);
  --stage-shadow:rgba(7,39,76,.20)
}

/* Cinematic atmosphere: depth without sacrificing brand restraint. */
.campaign{
  isolation:isolate;
  overflow:clip;
  --ambient-x:72%;
  --ambient-y:28%
}
.campaign::after{
  content:'BONAPLUS';
  position:absolute;
  z-index:0;
  left:-.045em;
  right:-.03em;
  bottom:-.16em;
  font-family:var(--display);
  font-size:clamp(10rem,25vw,28rem);
  line-height:.8;
  font-weight:800;
  letter-spacing:-.09em;
  color:rgba(255,255,255,.038);
  white-space:nowrap;
  pointer-events:none;
  user-select:none
}
.campaign-inner,.campaign-rail{position:relative;z-index:2}
.campaign-inner::after{
  content:'';
  position:absolute;
  z-index:-1;
  width:min(52vw,720px);
  aspect-ratio:1;
  right:-10%;
  top:-18%;
  border-radius:50%;
  background:radial-gradient(circle at var(--ambient-x) var(--ambient-y),rgba(208,228,255,.34),rgba(87,146,231,.13) 28%,transparent 68%);
  filter:blur(12px);
  opacity:.85;
  pointer-events:none;
  transition:background-position .2s linear
}
.campaign-copy{
  position:relative;
  z-index:3;
  text-shadow:0 3px 30px rgba(3,31,79,.12)
}
.campaign h1{
  text-wrap:balance;
  text-shadow:0 8px 40px rgba(3,31,79,.15)
}
.campaign-art{
  position:relative;
  isolation:isolate;
  perspective:1400px;
  transform-style:preserve-3d;
  --rx:0deg;
  --ry:0deg;
  --spot-x:50%;
  --spot-y:38%
}
.campaign-art::before{
  content:'';
  position:absolute;
  z-index:-1;
  inset:5% -8% -4%;
  border-radius:48% 52% 48% 52% / 44% 46% 54% 56%;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(221,235,255,.42),rgba(117,167,235,.12) 34%,transparent 66%);
  filter:blur(18px);
  opacity:.9;
  animation:bonaplusAmbient 8s ease-in-out infinite alternate;
  pointer-events:none
}
.campaign-art::after{
  content:'';
  position:absolute;
  z-index:0;
  left:15%;
  right:12%;
  bottom:-3%;
  height:11%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(2,29,67,.36),rgba(2,29,67,.08) 52%,transparent 72%);
  filter:blur(15px);
  transform:translateZ(-40px);
  pointer-events:none
}
.campaign-image{
  position:relative;
  z-index:1;
  transform:
    perspective(1300px)
    rotateX(var(--rx))
    rotateY(var(--ry))
    translateZ(22px)
    scale(1.01);
  transform-origin:50% 56%;
  transform-style:preserve-3d;
  filter:drop-shadow(0 28px 34px rgba(3,30,74,.23));
  will-change:transform;
  transition:transform .18s var(--premium-ease),filter .35s var(--premium-ease),box-shadow .35s var(--premium-ease)
}
.has-3d-motion .campaign-art:hover .campaign-image{
  filter:drop-shadow(0 36px 42px rgba(3,30,74,.29))
}

/* Product studio stages: each bottle gets light, floor shadow and physical depth. */
.product-card{
  position:relative;
  isolation:isolate;
  perspective:1200px;
  transform-style:preserve-3d;
  --rx:0deg;
  --ry:0deg;
  --spot-x:50%;
  --spot-y:35%;
  --product-scale:1;
  --product-lift:0px
}
.product-card::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(114,164,224,.28),rgba(255,255,255,.55));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.42;
  pointer-events:none;
  transition:opacity .35s var(--premium-ease)
}
.product-card:hover::before{opacity:.95}
.product-image{
  isolation:isolate;
  perspective:1000px;
  transform-style:preserve-3d;
  overflow:hidden;
  border:1px solid rgba(153,185,221,.42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -30px 60px rgba(72,119,175,.055),
    0 12px 30px rgba(8,39,68,.055)
}
.product-image::before{
  content:'';
  position:absolute;
  z-index:0;
  inset:-20%;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.98) 0,rgba(225,239,255,.72) 18%,rgba(182,212,246,.20) 42%,transparent 67%),
    linear-gradient(145deg,rgba(255,255,255,.36),transparent 36%);
  opacity:.76;
  transform:translateZ(-20px);
  pointer-events:none;
  transition:opacity .3s var(--premium-ease)
}
.product-image::after{
  content:'';
  position:absolute;
  z-index:1;
  left:19%;
  right:19%;
  bottom:7%;
  height:8%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(7,39,76,.28),rgba(7,39,76,.08) 52%,transparent 74%);
  filter:blur(9px);
  transform:scale(.9);
  opacity:.66;
  pointer-events:none;
  transition:transform .35s var(--premium-ease),opacity .35s var(--premium-ease),filter .35s var(--premium-ease)
}
.product-image img{
  position:relative;
  z-index:2;
  transform:
    perspective(900px)
    rotateX(var(--rx))
    rotateY(var(--ry))
    translate3d(0,var(--product-lift),40px)
    scale(var(--product-scale));
  transform-origin:50% 58%;
  filter:
    drop-shadow(0 17px 15px rgba(12,47,83,.20))
    drop-shadow(0 4px 4px rgba(12,47,83,.08));
  will-change:transform;
  transition:transform .18s var(--premium-ease),filter .32s var(--premium-ease)
}
.product-card:not(.is-unavailable):hover{
  --product-scale:1.055;
  --product-lift:-8px;
  transform:translateY(-8px);
  border-color:#a9c6e7;
  box-shadow:
    0 32px 78px rgba(8,39,68,.16),
    0 8px 24px rgba(8,39,68,.08)
}
.product-card:not(.is-unavailable):hover .product-image::before{opacity:1}
.product-card:not(.is-unavailable):hover .product-image::after{
  transform:scale(1.12);
  opacity:.82;
  filter:blur(12px)
}
.product-card:not(.is-unavailable):hover .product-image img{
  filter:
    drop-shadow(0 24px 19px rgba(12,47,83,.24))
    drop-shadow(0 6px 5px rgba(12,47,83,.09))
}
.product-card.is-selected .product-image{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 0 0 2px rgba(7,84,200,.08),
    0 18px 38px rgba(8,39,68,.08)
}
.product-card.is-unavailable .product-image::before{opacity:.38}
.product-card.is-unavailable .product-image::after{opacity:.35}

/* Category cards use the same physical product language. */
.world-card{
  --rx:0deg;
  --ry:0deg;
  --spot-x:50%;
  --spot-y:34%;
  perspective:1200px;
  transform-style:preserve-3d
}
.world-media{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  perspective:900px;
  transform-style:preserve-3d;
  border:1px solid rgba(153,185,221,.38);
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.96),rgba(220,235,252,.70) 24%,rgba(214,228,245,.82) 58%,rgba(201,217,237,.9) 100%) !important
}
.world-media::after{
  content:'';
  position:absolute;
  z-index:0;
  left:18%;
  right:18%;
  bottom:8%;
  height:9%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(7,39,76,.24),transparent 70%);
  filter:blur(10px);
  pointer-events:none
}
.world-media img{
  position:relative;
  z-index:1;
  transform:
    perspective(850px)
    rotateX(var(--rx))
    rotateY(var(--ry))
    translateZ(34px)
    scale(1);
  transform-origin:50% 58%;
  filter:drop-shadow(0 18px 16px rgba(8,39,68,.20));
  will-change:transform;
  transition:transform .2s var(--premium-ease),filter .32s var(--premium-ease)
}
.world-card:hover .world-media img{
  transform:
    perspective(850px)
    rotateX(var(--rx))
    rotateY(var(--ry))
    translate3d(0,-6px,42px)
    scale(1.045);
  filter:drop-shadow(0 24px 20px rgba(8,39,68,.23))
}
.world-card:hover{
  transform:translateY(-8px);
  box-shadow:0 32px 80px rgba(8,39,68,.15)
}

/* Collection mosaics on inner pages now feel like small product pedestals. */
.collection-photo{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  perspective:900px;
  transform-style:preserve-3d;
  --rx:0deg;
  --ry:0deg;
  --spot-x:50%;
  --spot-y:35%;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.98),rgba(225,239,255,.76) 25%,rgba(217,231,248,.88) 60%,#dce8f5 100%) !important;
  transition:transform .32s var(--premium-ease),box-shadow .32s var(--premium-ease),border-color .32s var(--premium-ease)
}
.collection-photo::after{
  content:'';
  position:absolute;
  left:18%;
  right:18%;
  bottom:7%;
  height:8%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(7,39,76,.23),transparent 72%);
  filter:blur(9px);
  pointer-events:none
}
.collection-photo img{
  position:relative;
  z-index:1;
  transform:
    perspective(850px)
    rotateX(var(--rx))
    rotateY(var(--ry))
    translateZ(28px);
  transform-origin:50% 58%;
  filter:drop-shadow(0 17px 15px rgba(8,39,68,.18));
  transition:transform .22s var(--premium-ease),filter .32s var(--premium-ease);
  will-change:transform
}
.collection-photo:hover{
  transform:translateY(-5px);
  border-color:#afc9e7;
  box-shadow:0 22px 50px rgba(8,39,68,.12)
}
.collection-photo:hover img{
  transform:
    perspective(850px)
    rotateX(var(--rx))
    rotateY(var(--ry))
    translate3d(0,-5px,38px)
    scale(1.035);
  filter:drop-shadow(0 22px 18px rgba(8,39,68,.22))
}

/* Product-detail hero: studio-light stage, not a flat image block. */
.inner-page .hero-visual{
  isolation:isolate;
  perspective:1200px;
  transform-style:preserve-3d;
  --rx:0deg;
  --ry:0deg;
  --spot-x:50%;
  --spot-y:38%;
  min-height:420px;
  display:grid;
  place-items:center
}
.inner-page .hero-visual::before{
  content:'';
  position:absolute;
  z-index:-2;
  width:94%;
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.98),rgba(217,235,255,.80) 24%,rgba(173,207,247,.20) 48%,transparent 70%);
  filter:blur(4px);
  opacity:.95;
  pointer-events:none
}
.inner-page .hero-visual::after{
  content:'';
  position:absolute;
  z-index:-1;
  left:20%;
  right:20%;
  bottom:8%;
  height:8%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(8,39,68,.26),transparent 72%);
  filter:blur(12px);
  pointer-events:none
}
.inner-page .hero-visual>img{
  position:relative;
  z-index:1;
  max-width:min(100%,520px);
  transform:
    perspective(1000px)
    rotateX(var(--rx))
    rotateY(var(--ry))
    translateZ(28px);
  transform-origin:50% 58%;
  filter:drop-shadow(0 24px 24px rgba(8,39,68,.18));
  box-shadow:none;
  will-change:transform;
  transition:transform .22s var(--premium-ease),filter .3s var(--premium-ease)
}
.inner-page .hero-visual:hover>img{
  transform:
    perspective(1000px)
    rotateX(var(--rx))
    rotateY(var(--ry))
    translate3d(0,-6px,40px)
    scale(1.018);
  filter:drop-shadow(0 31px 27px rgba(8,39,68,.22))
}

/* Small interaction details that make the whole site feel designed, not assembled. */
.button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .22s var(--premium-ease),
    box-shadow .28s var(--premium-ease),
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease
}
.button::after{
  content:'';
  position:absolute;
  z-index:-1;
  top:-60%;
  bottom:-60%;
  width:38%;
  left:-55%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transition:left .6s var(--premium-ease);
  pointer-events:none
}
.button:hover{transform:translateY(-2px)}
.button:hover::after{left:118%}
.catalog-filters button,.details-button,.add-button,.presentation-links a{
  transition:transform .2s var(--premium-ease),background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease
}
.catalog-filters button:hover,.details-button:hover,.add-button:hover,.presentation-links a:hover{transform:translateY(-1px)}
.site-header{
  transition:min-height .28s var(--premium-ease),padding .28s var(--premium-ease),box-shadow .28s ease,background .28s ease,backdrop-filter .28s ease
}
.site-header.is-scrolled{
  background:linear-gradient(90deg,rgba(7,84,200,.94),rgba(4,61,157,.95));
  backdrop-filter:blur(18px) saturate(130%);
  box-shadow:0 12px 42px rgba(4,35,74,.17)
}

/* Controlled ambient movement. */
@keyframes bonaplusAmbient{
  0%{transform:translate3d(-1.5%,1%,0) scale(.98);opacity:.72}
  100%{transform:translate3d(1.5%,-1%,0) scale(1.04);opacity:1}
}

@media(hover:hover) and (pointer:fine){
  .product-card:not(.is-unavailable):hover .product-image{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.98),
      inset 0 -38px 70px rgba(72,119,175,.07),
      0 20px 46px rgba(8,39,68,.09)
  }
}

@media(max-width:880px){
  .campaign::after{font-size:clamp(8rem,31vw,17rem);bottom:-.08em}
  .product-card:not(.is-unavailable):hover,.world-card:hover,.collection-photo:hover{transform:none}
  .product-image img,.world-media img,.collection-photo img,.inner-page .hero-visual>img,.campaign-image{
    transform:none !important;
    will-change:auto
  }
  .product-card:not(.is-unavailable):hover .product-image img,
  .world-card:hover .world-media img,
  .collection-photo:hover img,
  .inner-page .hero-visual:hover>img{transform:none !important}
  .inner-page .hero-visual{min-height:0}
}

@media(max-width:600px){
  .campaign-inner::after{width:105vw;right:-42%;top:2%;opacity:.48}
  .campaign-art::before{inset:3% -4% 0;filter:blur(14px)}
  .campaign-art::after{left:18%;right:18%;bottom:-1%}
  .product-image::after{bottom:5%;filter:blur(7px)}
  .world-media::after,.collection-photo::after{filter:blur(7px)}
  .inner-page .hero-visual::before{width:112%}
  .button:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .campaign-art::before{animation:none}
  .campaign-image,.product-image img,.world-media img,.collection-photo img,.inner-page .hero-visual>img,
  .product-card,.world-card,.collection-photo,.button,.site-header{
    transition:none !important;
    transform:none !important
  }
}

/* === 2026-09-21 flagship experience layer === */
html{
  scrollbar-gutter:stable;
  accent-color:var(--blue)
}
body{
  position:relative;
  min-height:100%;
  overflow-x:clip
}


.site-header{
  --header-scale:1;
  transform:translateZ(0)
}
.site-header.is-scrolled{
  min-height:76px;
  padding-block:8px
}
.site-header.is-scrolled .brand img{
  width:46px;
  height:46px
}
.site-header.is-scrolled .brand-word{font-size:1.72rem}
.site-header.is-scrolled .header-cta{min-height:40px}
.nav a{
  opacity:.78;
  transition:opacity .2s ease,color .2s ease,transform .2s ease
}
.nav a:hover,.nav a.is-active{
  opacity:1
}
.nav a.is-active::after{
  width:100%;
  height:2px;
  border-radius:999px
}
.nav a.is-active{
  text-shadow:0 0 20px rgba(255,255,255,.18)
}

/* Better depth rhythm between major scenes. */
.manifesto,.products,.buying,.faq{
  position:relative
}
.manifesto::before,.products::before,.buying::before,.faq::before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  width:min(1400px,calc(100% - 100px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#cddbea 18%,#cddbea 82%,transparent);
  opacity:.7
}
.manifesto::after{
  content:'';
  position:absolute;
  width:36vw;
  max-width:560px;
  aspect-ratio:1;
  right:-13vw;
  top:5%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(82,144,226,.09),transparent 70%);
  filter:blur(8px);
  pointer-events:none
}
.brand-facts{
  overflow:hidden;
  border-radius:18px;
  border:1px solid #dde7f0;
  padding:0;
  background:rgba(255,255,255,.66);
  box-shadow:0 20px 60px rgba(8,39,68,.055);
  backdrop-filter:blur(14px)
}
.brand-facts>div{
  padding:34px 42px;
  border-left:1px solid #dde7f0
}
.brand-facts>div:first-child{padding-left:42px}
.brand-facts strong{
  color:var(--navy);
  transition:transform .28s var(--premium-ease),color .28s ease
}
.brand-facts>div:hover strong{
  transform:translateY(-3px);
  color:var(--blue)
}

/* The catalog behaves like a premium working surface. */
@media(min-width:881px){
  .catalog-toolbar{
    position:sticky;
    top:92px;
    z-index:20;
    background:rgba(251,253,255,.86);
    border-color:rgba(190,208,227,.82);
    box-shadow:0 14px 38px rgba(8,39,68,.08);
    backdrop-filter:blur(18px) saturate(135%)
  }
  .site-header.is-scrolled~main .catalog-toolbar{top:80px}
}
.catalog-toolbar::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 1px rgba(255,255,255,.94);
  pointer-events:none
}
.catalog-search input::placeholder{color:#8292a5}
.catalog-filters button[aria-pressed=true]{
  transform:translateY(-1px)
}
.product-card{
  overflow:visible
}
.product-card .product-content{
  position:relative;
  z-index:3
}
.product-content h3 a{
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0 1px;
  transition:background-size .25s var(--premium-ease),color .2s ease
}
.product-content h3 a:hover{background-size:100% 1px}
.catalog-footnote{
  margin-top:64px;
  padding:30px 0;
  border-block:1px solid var(--line)
}
.catalog-footnote>span{
  font-family:var(--display);
  font-size:clamp(1.25rem,2vw,1.8rem);
  letter-spacing:-.04em;
  color:var(--navy)
}

/* Editorial worlds get a stronger gallery composition without extra clutter. */
.editorial-heading h2,.catalog-heading h2,.buying h2,.faq h2{
  text-wrap:balance
}
.world-grid{
  perspective:1600px
}
.world-copy{
  background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(4,32,63,.08));
  border-top:1px solid rgba(255,255,255,.10)
}
.world-link{
  opacity:.82;
  transition:opacity .2s ease,letter-spacing .25s var(--premium-ease)
}
.world-card:hover .world-link{
  opacity:1;
  letter-spacing:.015em
}

/* FAQ becomes a calm interactive object rather than plain rows. */
.faq-list details{
  border-radius:14px;
  padding-inline:18px;
  margin-bottom:8px;
  border:1px solid transparent;
  background:transparent;
  transition:background .24s ease,border-color .24s ease,box-shadow .24s ease
}
.faq-list details:hover{
  border-color:#dde7f1;
  background:#fff;
  box-shadow:0 10px 28px rgba(8,39,68,.045)
}
.faq-list details[open]{
  border-color:#d2dfed;
  background:#fff;
  box-shadow:0 16px 40px rgba(8,39,68,.07)
}
.faq-list summary{
  font-size:.92rem;
  padding-block:24px
}
.faq-list summary::after{
  top:18px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf4ff;
  line-height:1
}
.faq-list p{
  font-size:.85rem;
  line-height:1.75;
  max-width:680px
}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .faq-list details::details-content{
    block-size:0;
    overflow:hidden;
    transition:block-size .28s var(--premium-ease),content-visibility .28s allow-discrete
  }
  .faq-list details[open]::details-content{block-size:auto}
}

/* Closing scene: more cinematic, still unmistakably Bonaplus. */
.closing{
  position:relative;
  isolation:isolate;
  overflow:hidden
}
.closing::before{
  content:'';
  position:absolute;
  z-index:-1;
  width:68vw;
  aspect-ratio:1;
  right:-24vw;
  top:-55%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(210,229,255,.18),rgba(124,174,240,.08) 34%,transparent 68%);
  filter:blur(10px)
}
.closing::after{
  content:'';
  position:absolute;
  z-index:-1;
  left:-5%;
  bottom:-.18em;
  font-family:var(--display);
  font-size:clamp(8rem,24vw,25rem);
  line-height:.8;
  font-weight:800;
  letter-spacing:-.09em;
  color:rgba(255,255,255,.035);
  content:'PLUS';
  pointer-events:none
}
.closing-action>b{
  position:relative
}
.closing-action>b::before{
  content:'';
  position:absolute;
  inset:-8px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  transform:scale(.86);
  opacity:0;
  transition:transform .32s var(--premium-ease),opacity .32s ease
}
.closing-action:hover>b::before{
  transform:scale(1);
  opacity:1
}

/* Footer as a branded destination. */
.footer{
  position:relative;
  overflow:hidden;
  isolation:isolate
}
.footer::before{
  content:'';
  position:absolute;
  z-index:-1;
  width:620px;
  aspect-ratio:1;
  left:-180px;
  top:-330px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(64,130,211,.20),transparent 70%);
  filter:blur(8px)
}
.footer-grid>div{
  min-width:0
}
.footer-grid a{
  transition:color .2s ease,opacity .2s ease
}
.footer-grid a:hover{opacity:1}

/* Progressive page-to-page polish on supporting browsers. */
@view-transition{navigation:auto}
.brand img{view-transition-name:bonaplus-logo}
::view-transition-old(root){
  animation:180ms ease both flagshipFadeOut
}
::view-transition-new(root){
  animation:280ms var(--premium-ease) both flagshipFadeIn
}
::view-transition-old(bonaplus-logo),
::view-transition-new(bonaplus-logo){
  animation-duration:300ms
}
@keyframes flagshipFadeOut{
  to{opacity:.7;filter:blur(2px)}
}
@keyframes flagshipFadeIn{
  from{opacity:.2;filter:blur(4px);transform:translateY(5px)}
}

/* Scroll-reveal system is enabled only by JS, so no-JS remains fully visible. */
html.has-premium-reveal .premium-reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .72s ease,transform .72s var(--premium-ease)
}
html.has-premium-reveal .premium-reveal.is-visible{
  opacity:1;
  transform:none
}
html.has-premium-reveal .premium-reveal .premium-reveal-child{
  opacity:0;
  transform:translateY(15px);
  transition:opacity .55s ease,transform .55s var(--premium-ease)
}
html.has-premium-reveal .premium-reveal.is-visible .premium-reveal-child{
  opacity:1;
  transform:none
}
html.has-premium-reveal .premium-reveal.is-visible .premium-reveal-child:nth-child(2){transition-delay:.06s}
html.has-premium-reveal .premium-reveal.is-visible .premium-reveal-child:nth-child(3){transition-delay:.12s}
html.has-premium-reveal .premium-reveal.is-visible .premium-reveal-child:nth-child(4){transition-delay:.18s}

/* More responsive interaction targets and cleaner touch behavior. */
button,a,input,textarea,summary{touch-action:manipulation}
button:disabled{cursor:not-allowed}
input,textarea{caret-color:var(--blue)}
a,button{-webkit-tap-highlight-color:transparent}

@media(max-width:1200px){
  .brand-facts>div,.brand-facts>div:first-child{padding-inline:28px}
}
@media(max-width:880px){
  
  
  
  .site-header.is-scrolled{
    min-height:68px;
    padding-block:7px
  }
  .site-header.is-scrolled .brand img{width:44px;height:44px}
  .brand-facts{
    border-radius:14px
  }
  .brand-facts>div,.brand-facts>div:first-child{
    padding:25px 20px
  }
  .manifesto::before,.products::before,.buying::before,.faq::before{
    width:calc(100% - 36px)
  }
}
@media(max-width:600px){
  
  .brand-facts{
    display:grid;
    grid-template-columns:1fr
  }
  .brand-facts>div,.brand-facts>div:first-child{
    border-left:0;
    border-top:1px solid #dde7f0;
    padding:22px 20px
  }
  .brand-facts>div:first-child{border-top:0}
  .catalog-footnote{margin-top:42px}
  .faq-list details{padding-inline:13px}
  .faq-list summary{font-size:.86rem;padding-block:21px}
  .closing::after{font-size:38vw}
}
@media(prefers-reduced-motion:reduce){
  
  
  html.has-premium-reveal .premium-reveal,
  html.has-premium-reveal .premium-reveal .premium-reveal-child{
    opacity:1;
    transform:none;
    transition:none
  }
  ::view-transition-old(root),::view-transition-new(root),
  ::view-transition-old(bonaplus-logo),::view-transition-new(bonaplus-logo){
    animation:none
  }
}
@media(prefers-contrast:more){
  .product-card,.catalog-toolbar,.brand-facts,.faq-list details[open]{
    border-color:#7f98b3
  }
  .muted,.catalog-status,.product-content>p{color:#394b5d}
}

/* Flagship performance guardrails: keep the visual richness GPU-conscious. */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-synthesis:none
}
.campaign-image,.product-image img,.world-media img,.collection-photo img,.inner-page .hero-visual>img{
  will-change:auto
}
@media(hover:hover) and (pointer:fine){
  .campaign-art:hover .campaign-image,
  .product-card:hover .product-image img,
  .world-card:hover .world-media img,
  .collection-photo:hover img,
  .inner-page .hero-visual:hover>img{
    will-change:transform,filter
  }
}
@supports(content-visibility:auto){
  .origin,.buying,.faq,.closing,.footer{
    content-visibility:auto;
    contain-intrinsic-size:800px
  }
}


/* === 2026-09-21 commercial trust, export and measurement === */
.product-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-block:18px 64px;padding:1px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#dbe5ef;box-shadow:0 18px 54px rgba(8,39,68,.055)}
.product-specs article{min-width:0;padding:22px 24px;background:rgba(255,255,255,.96)}
.product-specs span{display:block;margin-bottom:8px;color:var(--muted);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.product-specs strong{display:block;color:var(--navy);font-family:var(--display);font-size:clamp(1rem,1.35vw,1.28rem);line-height:1.25;letter-spacing:-.035em}
.manufacturing{background:radial-gradient(circle at 16% 20%,rgba(87,151,235,.11),transparent 29%),linear-gradient(180deg,#f7faff 0%,#edf4fb 100%);border-block:1px solid #dce7f1}
.manufacturing-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(52px,7vw,112px);align-items:center}
.manufacturing-visual{position:relative;min-width:0}
.manufacturing-stage{position:relative;display:grid;place-items:center;min-height:560px;padding:30px;overflow:hidden;border:1px solid rgba(158,188,222,.72);border-radius:28px;background:radial-gradient(circle at 50% 34%,#fff 0,#eff6ff 28%,#dbe9f8 66%,#d2e1f1 100%);box-shadow:0 32px 80px rgba(8,39,68,.12)}
.manufacturing-stage::after{content:'';position:absolute;left:20%;right:20%;bottom:8%;height:8%;border-radius:50%;background:radial-gradient(ellipse,rgba(8,39,68,.22),transparent 70%);filter:blur(13px)}
.manufacturing-stage img{position:relative;z-index:1;width:min(100%,520px);height:auto;max-height:550px;object-fit:contain;filter:drop-shadow(0 24px 28px rgba(8,39,68,.16))}
.manufacturing-stamp{position:absolute;z-index:2;left:24px;bottom:24px;padding:10px 13px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(8,39,68,.88);color:#fff;font-size:.63rem;letter-spacing:.08em;backdrop-filter:blur(12px)}
.manufacturing-copy h2{font-size:clamp(2.7rem,5.4vw,5.4rem);line-height:.96;letter-spacing:-.065em;margin-bottom:28px}
.manufacturing-copy h2 span{color:var(--blue)}
.manufacturing-copy>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:1rem;line-height:1.85}
.manufacturing-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:32px 0}
.manufacturing-specs article{padding:22px;border:1px solid #d8e4ef;border-radius:16px;background:rgba(255,255,255,.78)}
.manufacturing-specs strong{display:block;font-family:var(--display);font-size:1.65rem;letter-spacing:-.05em;color:var(--navy)}
.manufacturing-specs span{color:var(--muted);font-size:.76rem}
.manufacturing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.export-page .hero,.manufacturer-page .hero{padding-top:54px}
.export-page .hero h1,.manufacturer-page .hero h1{max-width:780px;font-size:clamp(3rem,5.9vw,6.5rem);line-height:.94}
.export-page .hero-visual,.manufacturer-page .hero-visual{min-height:560px}
.export-page .hero-visual>img,.manufacturer-page .hero-visual>img{max-height:590px;object-fit:contain}
.export-logistics{background:linear-gradient(180deg,#0a2b49,#08233d);color:#fff}
.export-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,120px);align-items:start}
.export-grid>div:first-child{position:sticky;top:120px}
.export-grid h2{color:#fff;font-size:clamp(2.8rem,5vw,5rem);line-height:1;letter-spacing:-.06em}
.export-grid>div:first-child>p:not(.eyebrow){color:#c4d5e4;line-height:1.8}
.export-logistics .buying-steps article{border-color:rgba(255,255,255,.18)}
.export-logistics .buying-steps article:hover{background:linear-gradient(90deg,rgba(255,255,255,.055),transparent)}
.export-logistics .buying-steps span,.export-logistics .buying-steps h3{color:#fff}
.export-logistics .buying-steps p{color:#b9cede}
.export-cta-stack{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.light-link{color:#fff}
.manufacturer-page .about{background:linear-gradient(180deg,#edf4fb,#f8fafc)}
@media(max-width:1000px){.product-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.manufacturing-grid,.export-grid{grid-template-columns:1fr;gap:46px}.manufacturing-stage{min-height:460px}.export-grid>div:first-child{position:static}}
@media(max-width:600px){.product-specs{grid-template-columns:1fr 1fr;margin-block:8px 42px;border-radius:14px}.product-specs article{padding:17px 14px}.product-specs span{font-size:.59rem}.product-specs strong{font-size:.94rem}.manufacturing{padding-block:72px}.manufacturing-stage{min-height:360px;padding:18px;border-radius:20px}.manufacturing-stamp{left:14px;bottom:14px;font-size:.56rem}.manufacturing-copy h2{font-size:clamp(2.55rem,13vw,4.2rem)}.manufacturing-specs{grid-template-columns:1fr 1fr;gap:8px}.manufacturing-specs article{padding:16px 14px}.manufacturing-specs strong{font-size:1.25rem}.manufacturing-actions{align-items:flex-start;flex-direction:column}.export-page .hero-visual,.manufacturer-page .hero-visual{min-height:0}.export-page .hero h1,.manufacturer-page .hero h1{font-size:clamp(2.65rem,13vw,4rem)}}

/* === 2026-09-21 mobile alignment, SVG arrows and footer map === */
/* Safari/mobile containment: no decorative layer is allowed to widen the page. */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip
}
body{
  position:relative;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip
}
main,.site-header,.campaign,.manifesto,.worlds,.products,.origin,.manufacturing,.buying,.faq,.closing,.footer{
  max-width:100%;
  overflow-x:clip
}
.site-header{
  width:100%;
  box-sizing:border-box
}
img,svg,iframe{
  max-width:100%
}

/* Reliable arrows: SVG instead of a glyph that iOS can render as an emoji tile. */
.icon-arrow{
  display:block;
  width:18px;
  height:18px;
  flex:0 0 auto
}
.icon-arrow-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:.35em;
  vertical-align:-.16em
}
.icon-arrow-shell{
  display:grid;
  place-items:center;
  line-height:0
}
.buying-steps article>.icon-arrow-shell{
  align-self:start;
  width:20px;
  height:28px;
  color:var(--blue);
  padding-top:6px
}
.buying-steps article>.icon-arrow-shell .icon-arrow{
  width:19px;
  height:19px
}
.world-link .icon-arrow-shell{
  margin-left:auto;
  color:currentColor
}
.world-link .icon-arrow{
  width:20px;
  height:20px
}
.closing-action>.icon-arrow-shell .icon-arrow{
  width:38px;
  height:38px
}
.origin-signature .icon-arrow{
  display:inline-block;
  width:13px;
  height:13px;
  vertical-align:-2px;
  margin-left:4px
}
.footer .icon-arrow{
  width:15px;
  height:15px
}
.footer-link,.footer-grid a[href*="instagram.com"]{
  display:inline-flex;
  align-items:center;
  gap:6px
}

/* Interactive location replaces the oversized decorative footer wordmark. */
.footer-map{
  margin-top:46px
}
.footer-map-frame{
  position:relative;
  overflow:hidden;
  height:330px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:#0b304e;
  box-shadow:0 22px 60px rgba(0,0,0,.18)
}
.footer-map-frame iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.86) contrast(.96)
}
.footer-map-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:18px 4px 0;
  color:#c2d2dc
}
.footer-map-meta>div{
  min-width:0
}
.footer-map-meta span{
  display:block;
  margin-bottom:3px;
  color:#86a6bb;
  font-size:.56rem;
  letter-spacing:.13em
}
.footer-map-meta strong{
  display:block;
  color:#fff;
  font-family:var(--body);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:0
}
.footer-map-meta>a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  color:#fff;
  font-size:.72rem;
  font-weight:500
}
.footer-map-meta>a:hover{
  color:#d7e8ff
}

@media(max-width:600px){
  /* Use margins rather than a calculated width; this is more stable in iOS Safari. */
  .section-shell{
    width:auto;
    max-width:none;
    margin-left:18px;
    margin-right:18px
  }
  .site-header{
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    padding-left:18px;
    padding-right:18px
  }
  .campaign-inner::after{
    max-width:100%
  }
  .manifesto::after,.closing::before,.closing::after,.footer::before{
    pointer-events:none
  }
  .buying-steps article{
    grid-template-columns:28px minmax(0,1fr) 24px
  }
  .buying-steps article>.icon-arrow-shell{
    justify-self:end
  }
  .closing-action>.icon-arrow-shell .icon-arrow{
    width:29px;
    height:29px
  }
  .footer-map{
    margin-top:34px
  }
  .footer-map-frame{
    height:250px;
    border-radius:18px
  }
  .footer-map-meta{
    align-items:flex-start;
    flex-direction:column;
    gap:13px;
    padding-top:14px
  }
  .footer-map-meta strong{
    font-size:.74rem
  }
  .footer-map-meta>a{
    font-size:.69rem
  }
  .floating-whatsapp{
    right:max(16px,env(safe-area-inset-right))
  }
}
@media(max-width:359px){
  .section-shell{
    margin-left:14px;
    margin-right:14px
  }
  .site-header{
    padding-left:14px;
    padding-right:14px
  }
  .footer-map-frame{
    height:225px
  }
}

/* === 2026-09-21 lean rendering layer === */
@supports (content-visibility:auto){
  .worlds,.products,.origin,.manufacturing,.buying,.faq,.closing,.footer{
    content-visibility:auto;
    contain-intrinsic-size:auto 900px
  }
}
@media(max-width:600px){
  .campaign-art::before,
  .campaign-art::after,
  .product-image::after,
  .world-media::after,
  .collection-photo::after{
    filter:none
  }
}
