@import "tailwindcss";
@import "tw-animate-css";
@import "../vendor/shadcn-tailwind-4.13.0.css";
:root{--red:#a80f20;--ink:#14191f;--navy:#142333;--cream:#f4f0e9;--line:#d8d3ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbfaf7;color:var(--ink);font-family:Arial,"Noto Sans Lao",sans-serif}a{color:inherit;text-decoration:none}em{font-family:Georgia,serif;font-weight:400}.nav-wrap{height:88px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:sticky;top:0;z-index:30;border-bottom:1px solid #eee}.brand img{width:118px;height:auto;object-fit:contain}.nav-wrap nav{display:flex;gap:34px;font-size:13px;font-weight:600}.nav-wrap nav a:hover{color:var(--red)}.nav-cta,.button{display:inline-flex;align-items:center;gap:10px}.nav-cta{font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding:8px 0}.menu{display:none}.hero{min-height:760px;display:grid;grid-template-columns:54% 46%;grid-template-rows:1fr auto;background:var(--cream)}.hero-copy{padding:105px 6vw 70px 7vw}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:var(--red)}.hero h1{font-size:clamp(54px,6vw,90px);line-height:.91;letter-spacing:-.055em;margin:28px 0 30px}.hero h1 em{color:var(--red)}.lede{font-size:18px;line-height:1.65;color:#555b61;max-width:600px}.hero-actions{display:flex;gap:32px;align-items:center;margin-top:38px}.button{padding:16px 22px;font-weight:700;font-size:13px}.primary{background:var(--red);color:#fff}.text-link{font-size:13px;font-weight:700}.text-link span{margin-left:10px;color:var(--red)}.hero-visual{position:relative;min-height:590px;overflow:hidden;background:#d3ccc1}.hero-visual>img{object-fit:cover;object-position:center 45%}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#14233333,transparent 45%)}.image-label{position:absolute;z-index:2;left:-42px;bottom:44px;background:#fff;padding:18px 34px;display:flex;flex-direction:column;box-shadow:0 12px 40px #0002}.image-label span{font-size:10px;text-transform:uppercase;letter-spacing:.18em}.image-label strong{font:42px Georgia,serif;color:var(--red)}.hero-stats{grid-column:1/3;background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:28px 7vw}.hero-stats div{display:flex;align-items:center;gap:18px;border-right:1px solid #ffffff26;padding-right:5vw}.hero-stats div+div{padding-left:5vw}.hero-stats div:last-child{border:0}.hero-stats strong{font:36px Georgia,serif;color:#e5b7bd}.hero-stats span{font-size:12px;line-height:1.5;color:#d8dde2}.section{padding:118px 7vw}.section-kicker{display:flex;gap:14px;align-items:center}.section-kicker span{color:#999}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:44px}.about h2,.products h2,.people h2,.strengths h2,.cta h2{font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.045em;margin:0}.about h2 em,.people h2 em,.strengths h2 em{color:var(--red)}.yearline{display:flex;align-items:center;gap:12px;margin-top:45px;color:var(--red);font:18px Georgia,serif}.yearline i{height:1px;background:#c8c1b7;flex:1}.about-copy p{font-size:15px;line-height:1.8;color:#626267}.about-copy .large{font:24px/1.5 Georgia,serif;color:var(--ink);margin-top:0}.ticks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.ticks span{display:flex;gap:8px;font-size:13px;font-weight:700}.ticks svg{color:var(--red)}.products{background:var(--navy);color:#fff}.products-head{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.section-kicker.light{color:#e8b6bd}.products-head p{line-height:1.7;color:#b8c2cb;max-width:420px}.products h2{margin-top:28px}.products h2 em{color:#e8b6bd}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:58px}.product-card{background:#fff;color:var(--ink);transition:.25s}.product-card:hover{transform:translateY(-6px)}.product-image{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f4f4f4}.product-image img{object-fit:contain}.product-info{padding:18px 20px 22px}.product-info span{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--red);font-weight:700}.product-info h3{font-size:18px;margin:7px 0 0}.portfolio-note{border-top:1px solid #ffffff2b;margin-top:50px;padding-top:26px;display:grid;grid-template-columns:170px 1fr}.portfolio-note span{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#e7b9be}.portfolio-note p{margin:0;color:#d2d9df;font-size:14px}.brand-strip{background:var(--red);color:#fff;padding:28px 7vw;display:grid;grid-template-columns:180px 1fr;align-items:center}.brand-strip p{text-transform:uppercase;font-size:10px;letter-spacing:.2em}.brand-strip div{display:flex;gap:30px;justify-content:space-between;flex-wrap:wrap}.brand-strip span{font-weight:800;font-size:13px}.people{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:center}.people-copy h2{margin:28px 0}.people-copy>p{font-size:15px;color:#626267;line-height:1.8;max-width:460px}.photo-collage{height:680px;display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:1fr .7fr;gap:12px}.photo-collage figure{margin:0;position:relative;overflow:hidden}.photo-collage img{object-fit:cover}.photo-main{grid-row:1/3}.photo-main img{object-position:center}.photo-wide img{object-position:center}.photo-small img{object-position:center 42%}.strengths{background:#f0ece5;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.strength-intro>p{font-size:16px;line-height:1.8;color:#626267;max-width:530px}.strength-intro h2{margin:28px 0}.feature{border-top:1px solid #cbc5bb;padding:24px 0}.feature>div{max-width:100%}.feature svg{color:var(--red)}.feature h3{margin:0 0 6px;font-size:17px}.feature p{margin:0;color:#666;line-height:1.6;font-size:13px}.cta{background:var(--red);color:#fff;padding:100px 7vw;text-align:center}.cta .eyebrow{color:#f2c8cd}.cta h2{margin:26px 0}.cta h2 em{color:#f3c6cc}.cta>p:not(.eyebrow){max-width:650px;margin:0 auto;line-height:1.7;color:#f7dade}.contact-actions{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:35px}.white{background:#fff;color:var(--red)}.location{display:flex;gap:8px;align-items:center;font-size:13px}footer{padding:44px 7vw;background:#0d1722;color:#fff;display:grid;grid-template-columns:1fr 1.4fr 1fr auto;align-items:center;gap:24px}footer>img{background:#fff;padding:4px}footer p{font-size:12px;color:#aeb7c0}footer>div{display:flex;gap:20px;font-size:12px}footer>small{font-size:9px;color:#7f8b96}
@media(max-width:900px){.nav-wrap nav,.nav-cta{display:none}.menu{display:block}.hero{grid-template-columns:1fr;grid-template-rows:auto}.hero-copy{padding:75px 7vw}.hero-visual{min-height:520px}.image-label{left:6vw}.hero-stats{grid-column:1;gap:12px;padding:24px 5vw}.hero-stats div,.hero-stats div+div{padding:0 12px}.about-grid,.products-head,.people,.strengths{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr 1fr}.photo-collage{height:580px}.brand-strip{grid-template-columns:1fr;gap:15px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.nav-wrap{height:72px}.brand img{width:96px}.hero h1{font-size:49px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{min-height:430px}.hero-stats{grid-template-columns:1fr}.hero-stats div,.hero-stats div+div{border-right:0;border-bottom:1px solid #ffffff22;padding:10px 0}.section{padding:78px 6vw}.about-grid{gap:35px}.ticks,.product-grid{grid-template-columns:1fr}.product-grid{gap:18px}.portfolio-note{grid-template-columns:1fr;gap:12px}.photo-collage{height:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:360px 190px}.photo-main{grid-column:1/3;grid-row:auto}.contact-actions{flex-direction:column}.brand-strip div{justify-content:flex-start}.brand-strip span{font-size:11px}footer{grid-template-columns:1fr}}

/* Direct image rendering for production hosting. */
.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.product-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.photo-collage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-details{display:flex;justify-content:center;gap:12px;margin:32px auto 0;max-width:760px}.contact-details a{background:#8e0b19;border:1px solid #ffffff2b;padding:18px 24px;min-width:290px;text-align:left}.contact-details small{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:#f0bdc3;margin-bottom:7px}.contact-details strong{font-size:16px}.cta .contact-actions{margin-top:18px}
@media(max-width:560px){.contact-details{flex-direction:column}.contact-details a{min-width:0;width:100%}}

/* Official supplier brand gallery */
.brand-showcase{background:#fff;padding:92px 7vw 84px}.brand-heading{display:grid;grid-template-columns:.55fr 1fr 1fr;gap:4vw;align-items:end;margin-bottom:38px}.brand-heading .eyebrow{margin:0}.brand-heading h2{font:46px/1 Georgia,serif;margin:0;color:var(--navy)}.brand-heading>p:last-child{margin:0;color:#666;line-height:1.7;font-size:14px}.brand-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.brand-logo-card{min-height:150px;border:1px solid #e8e3db;background:#fbfaf7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;transition:.25s}.brand-logo-card:hover{border-color:#d3a3a9;transform:translateY(-3px);box-shadow:0 12px 28px #14233310}.brand-logo-card img{display:block;max-width:100%;width:auto;height:78px;object-fit:contain}.brand-logo-card span{margin-top:14px;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:800;color:#72777c}.brand-name-row{display:flex;justify-content:center;gap:12px;margin-top:12px}.brand-name-row span{border:1px solid #e8e3db;background:#fbfaf7;padding:14px 26px;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--navy)}
@media(max-width:900px){.brand-heading{grid-template-columns:1fr;gap:14px}.brand-logo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.brand-showcase{padding:68px 6vw}.brand-heading h2{font-size:38px}.brand-logo-grid{grid-template-columns:1fr 1fr}.brand-logo-card{min-height:125px;padding:15px}.brand-logo-card img{height:60px}.brand-name-row{flex-wrap:wrap}}
.image-label{left:28px}
.event-story{align-items:center}.event-photo{margin:0;position:relative;overflow:hidden;background:#eee;box-shadow:0 18px 50px #1423331f}.event-photo img{display:block;width:100%;height:auto;object-fit:cover}.event-photo figcaption{position:absolute;left:18px;bottom:18px;background:#fff;color:var(--navy);padding:12px 16px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;max-width:75%;box-shadow:0 8px 24px #0002}
.event-gallery{display:grid;grid-template-columns:1fr;gap:14px}.event-gallery .event-photo img{aspect-ratio:16/9;object-fit:cover}.event-gallery .sea-photo img{object-position:center 48%}
.hero{grid-template-columns:44% 56%}.hero-visual>img{object-position:center 38%}.company-focus{position:absolute;z-index:2;right:28px;top:28px;background:#a80f20e8;color:#fff;padding:14px 18px;display:flex;flex-direction:column;align-items:flex-end;box-shadow:0 10px 28px #0003}.company-focus span{font:24px Georgia,serif}.company-focus strong{font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin-top:5px}.product-info p{font-size:12px;line-height:1.55;color:#666;margin:10px 0 0}.product-card:has(.product-info p){box-shadow:inset 0 -4px 0 #a80f20}
@media(max-width:900px){.hero{grid-template-columns:1fr}.company-focus{right:20px;top:20px}}
@media(max-width:560px){.company-focus span{font-size:19px}.company-focus{padding:11px 14px}}
.notebook-feature{padding:105px 7vw;background:#f4f0e9;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}.notebook-copy h2{font-size:clamp(44px,5vw,70px);line-height:.96;letter-spacing:-.045em;margin:28px 0 24px}.notebook-copy h2 em{color:var(--red)}.notebook-copy>p{color:#626267;line-height:1.75;font-size:14px}.notebook-copy .notebook-lede{font:23px/1.45 Georgia,serif;color:var(--navy)}.notebook-points{display:flex;flex-direction:column;gap:10px;margin-top:25px}.notebook-points span{font-size:12px;font-weight:700;border-left:3px solid var(--red);padding-left:12px}.notebook-gallery{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:repeat(3,190px);gap:10px}.notebook-gallery figure{margin:0;position:relative;overflow:hidden;background:#fff}.notebook-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.notebook-main{grid-row:1/4}.notebook-main img{object-position:center}.vision-statement{font-weight:700!important;line-height:1.05!important}.vision-statement em{font-weight:700}.company-focus{display:none}
@media(max-width:900px){.notebook-feature{grid-template-columns:1fr}.notebook-gallery{grid-template-rows:repeat(3,160px)}}
@media(max-width:560px){.notebook-feature{padding:75px 6vw}.notebook-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 145px 145px}.notebook-main{grid-column:1/3;grid-row:auto}.notebook-gallery figure:last-child{grid-column:1/3}.vision-statement{font-size:39px!important}}

/* Responsive static HTML enhancements */
html{overflow-x:clip;-webkit-text-size-adjust:100%}body{overflow-x:clip}main{width:100%;max-width:1920px;margin-inline:auto;background:#fbfaf7;box-shadow:0 0 60px #1423330d}img{max-width:100%}.menu-toggle{display:none;width:46px;height:46px;border:0;background:transparent;padding:11px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);transition:.2s}.nav-wrap,.section,.notebook-feature,.brand-showcase,.cta,footer{padding-left:clamp(22px,7vw,134px);padding-right:clamp(22px,7vw,134px)}.hero-copy{padding-left:clamp(22px,7vw,134px)}.hero-stats{padding-left:clamp(22px,7vw,134px);padding-right:clamp(22px,7vw,134px)}.contact-details strong{overflow-wrap:anywhere}.button,.nav-cta,.contact-details a{min-height:44px}.product-card,.brand-logo-card,.feature{min-width:0}

@media(min-width:1441px){.hero{grid-template-columns:46% 54%}.hero-copy{padding-top:clamp(105px,7vw,138px)}.hero h1{font-size:clamp(72px,5vw,92px)}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.brand-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.notebook-feature,.people,.strengths{gap:clamp(70px,7vw,130px)}}

@media(max-width:1100px){.hero{grid-template-columns:48% 52%}.hero-copy{padding-top:82px}.hero h1{font-size:clamp(48px,6vw,66px)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-heading{grid-template-columns:.45fr 1fr 1fr}.people,.strengths{gap:6vw}.people{grid-template-columns:.8fr 1.2fr}.contact-details{max-width:720px}}

@media(max-width:900px){.nav-wrap{height:76px;position:sticky;top:0;z-index:30}.nav-wrap nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;border-top:1px solid #eee;box-shadow:0 18px 32px #14233320;padding:12px clamp(22px,6vw,50px) 22px;flex-direction:column;gap:0}.nav-wrap nav.open{display:flex}.nav-wrap nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid #eee;font-size:15px}.menu-toggle{display:flex;margin-left:auto}.nav-cta{display:none}.hero{grid-template-columns:1fr;grid-template-rows:auto auto auto}.hero-copy{padding:65px clamp(22px,7vw,70px) 58px}.hero-visual{min-height:clamp(430px,72vw,620px)}.hero-stats{grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stats div,.hero-stats div+div{padding:0 18px}.notebook-feature,.about-grid,.products-head,.people,.strengths{grid-template-columns:1fr}.notebook-feature,.people,.strengths{gap:48px}.notebook-gallery{grid-template-rows:repeat(3,clamp(150px,23vw,210px))}.about-grid{gap:48px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-heading{grid-template-columns:1fr;align-items:start}.brand-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-gallery{grid-template-columns:1fr 1fr}.event-gallery .event-photo img{aspect-ratio:4/3}.contact-details{width:100%}footer{grid-template-columns:1fr 1fr;row-gap:20px}}

@media(max-width:600px){.nav-wrap,.section,.notebook-feature,.brand-showcase,.cta,footer{padding-left:clamp(18px,6vw,26px);padding-right:clamp(18px,6vw,26px)}.hero-copy{padding:52px clamp(18px,6vw,26px) 48px}.hero h1{font-size:clamp(42px,13vw,58px);line-height:.94}.lede{font-size:16px}.hero-actions{gap:18px;width:100%}.hero-actions .button{width:100%;justify-content:center}.hero-visual{min-height:420px}.image-label{left:18px;bottom:18px;padding:14px 20px}.image-label strong{font-size:34px}.hero-stats{grid-template-columns:1fr;padding:18px clamp(18px,6vw,26px)}.hero-stats div,.hero-stats div+div{padding:13px 0;border-right:0;border-bottom:1px solid #ffffff26}.hero-stats div:last-child{border-bottom:0}.section,.notebook-feature{padding-top:72px;padding-bottom:72px}.notebook-copy h2,.about h2,.products h2,.people h2,.strengths h2,.cta h2{font-size:clamp(38px,11vw,50px)}.notebook-gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 140px 140px}.notebook-main{grid-column:1/3;grid-row:auto}.notebook-gallery figure:last-child{grid-column:1/3}.product-grid{grid-template-columns:1fr}.product-info{padding:17px}.portfolio-note{grid-template-columns:1fr;gap:10px}.brand-showcase{padding-top:68px;padding-bottom:68px}.brand-logo-grid{grid-template-columns:1fr 1fr}.brand-logo-card{min-height:118px;padding:14px}.brand-logo-card img{height:56px}.brand-name-row span{width:100%;text-align:center}.event-gallery{grid-template-columns:1fr}.event-photo figcaption{position:static;max-width:none;line-height:1.5;box-shadow:none}.event-gallery .event-photo img{aspect-ratio:16/10}.strengths{gap:38px}.vision-statement{font-size:clamp(38px,11vw,50px)!important}.contact-details,.contact-actions{flex-direction:column;width:100%}.contact-details a{width:100%;min-width:0}.contact-actions .button,.contact-actions .location{width:100%;justify-content:center;text-align:center}.cta{padding-top:74px;padding-bottom:74px}footer{grid-template-columns:1fr;text-align:left}footer>div{flex-direction:column;gap:8px}}

@media(max-width:359px){.nav-wrap{height:68px}.nav-wrap nav{top:68px}.brand img{width:88px}.hero-copy{padding-top:44px}.hero h1{font-size:40px}.hero-visual{min-height:360px}.notebook-gallery{grid-template-rows:240px 120px 120px}.brand-logo-grid{grid-template-columns:1fr}.ticks{grid-template-columns:1fr}.contact-details strong{font-size:14px}.yearline{font-size:15px}}

@media(max-height:520px) and (orientation:landscape) and (max-width:900px){.nav-wrap{height:64px}.nav-wrap nav{top:64px;max-height:calc(100vh - 64px);overflow-y:auto}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-top:42px;padding-bottom:42px}.hero-visual{min-height:390px}.hero-stats{grid-column:1/3}.notebook-feature{grid-template-columns:.9fr 1.1fr}.notebook-gallery{grid-template-rows:repeat(3,120px)}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(max-width:560px){.event-photo figcaption{position:static;max-width:none;box-shadow:none;line-height:1.5}}

/* Product portfolio: clickable product popups */
.product-card{cursor:pointer}
.product-card:focus{outline:none}
.product-card:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
body.modal-open{overflow-y:hidden}
.product-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.product-modal.open{visibility:visible;opacity:1;pointer-events:auto}
.product-modal-backdrop{position:absolute;inset:0;background:rgba(20,35,51,.82)}
.product-modal-dialog{position:relative;background:#fff;width:100%;max-width:760px;max-height:88vh;overflow:auto;box-shadow:0 24px 70px #00000045;transform:scale(.96);transition:transform .25s ease;display:grid;grid-template-columns:1fr 1fr}
.product-modal.open .product-modal-dialog{transform:scale(1)}
.product-modal-close{position:absolute;top:14px;right:14px;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);font-size:24px;line-height:1;color:var(--ink);cursor:pointer;transition:.2s}
.product-modal-close:hover{background:var(--red);color:#fff;border-color:var(--red)}
.product-modal-media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f4f4f4}
.product-modal-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.product-modal-body{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center}
.product-modal-category{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--red);font-weight:700}
.product-modal-body h3{font-size:clamp(22px,2.6vw,28px);letter-spacing:-.02em;margin:12px 0 14px;color:var(--ink)}
.product-modal-body p{font-size:14px;line-height:1.75;color:#626267;margin:0}
@media(max-width:700px){.product-modal{padding:0;align-items:flex-end}.product-modal-dialog{grid-template-columns:1fr;grid-template-rows:auto 1fr;max-height:92vh;max-width:none;align-content:start}.product-modal-media{aspect-ratio:4/3}.product-modal-body{padding:26px 22px 32px}}
@media(prefers-reduced-motion:reduce){.product-modal,.product-modal-dialog{transition:none}}

/* Floating WhatsApp "Ask Now" button */
.whatsapp-fab{position:fixed;bottom:24px;right:24px;z-index:25;display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:14px 22px 14px 16px;border-radius:999px;box-shadow:0 10px 28px #00000033;font-size:14px;font-weight:700;line-height:1;transition:.2s;min-height:44px}
.whatsapp-fab:hover{background:#1ebc59;transform:translateY(-2px);box-shadow:0 14px 32px #00000040}
.whatsapp-fab:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.whatsapp-fab svg{width:24px;height:24px;flex:none}
@media(max-width:600px){.whatsapp-fab{bottom:16px;right:16px;padding:12px 18px 12px 14px;font-size:13px;gap:8px}.whatsapp-fab svg{width:22px;height:22px}}
@media(max-width:359px){.whatsapp-fab span{display:none}.whatsapp-fab{padding:12px;border-radius:50%}}
@media(prefers-reduced-motion:reduce){.whatsapp-fab{transition:none}}

/* Contact section: responsive Google Map */
.map-frame{max-width:760px;margin:40px auto 0;background:#fff;padding:10px;box-shadow:0 18px 50px #00000030}
.map-embed{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#eee}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:560px){.map-frame{padding:6px;margin-top:28px}.map-embed{aspect-ratio:4/3}}
