/* Editorial hierarchy and accessible product previews. */
.product-page h2,.hero h1{ text-wrap:balance; }
.section-head p,.product-hero-copy>p{ text-wrap:pretty; }
.product-card{transition:box-shadow .25s ease,border-color .25s ease;}
.product-card:hover{border-color:#b7cfe3;box-shadow:0 20px 45px #16334c14;}
.feature-editorial-grid,.feature-editorial-grid.has-five{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.feature-editorial-grid>.feature-editorial,.feature-editorial-grid.has-five>.feature-editorial,.feature-editorial-grid.has-five>.feature-editorial:nth-child(n+4){grid-column:auto;}
.feature-editorial-grid>.feature-editorial:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;min-height:370px;}
.feature-editorial-grid>.feature-editorial:first-child>div{align-self:center;padding:clamp(28px,4vw,56px);}
.feature-editorial-grid>.feature-editorial:first-child h3{font-size:clamp(28px,3vw,38px);letter-spacing:-.035em;}
.feature-editorial-grid>.feature-editorial:first-child img{height:100%;min-height:370px;}
.feature-editorial-grid>.feature-editorial:not(:first-child) img{height:310px;}
.feature-editorial-grid.has-four>.feature-editorial:last-child{grid-column:1/-1;}
.feature-editorial figure .image-preview-trigger{position:absolute;top:14px;right:14px;z-index:2;border:1px solid #ffffff70;background:#fffffff2;color:#15364e;border-radius:50%;width:42px;height:42px;font-size:22px;cursor:pointer;box-shadow:0 4px 18px #09243b20;}
.image-preview-trigger:focus-visible{outline:3px solid #0b84ff;outline-offset:4px;}
.image-preview{border:0;padding:0;border-radius:22px;width:min(1100px,94vw);max-height:92dvh;background:#fff;color:#15364e;box-shadow:0 30px 100px #0005;}
.image-preview::backdrop{background:#041626cc;backdrop-filter:blur(7px);}
.image-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid #e2eaf0;}
.image-preview-toolbar h2{font-size:18px;margin:0;line-height:1.4;}
.image-preview-close{border:0;border-radius:50%;width:40px;height:40px;background:#edf3f8;font-size:24px;color:#15364e;cursor:pointer;flex-shrink:0;}
.image-preview>img{display:block;width:100%;max-height:72dvh;object-fit:contain;background:#edf3f8;}
.image-preview>p{padding:15px 22px;margin:0;font-size:13px;line-height:1.5;color:#526d82;}
.demo-dock{display:none;}
.pro-reveal{opacity:1;transition:opacity .45s ease,transform .45s ease;}
.pro-reveal.is-pending{opacity:0;transform:translateY(14px);}
@media(max-width:900px){
 .feature-editorial-grid,.feature-editorial-grid.has-five{grid-template-columns:1fr;}
 .feature-editorial-grid>.feature-editorial:not(:first-child) img{height:100%;min-height:260px;}
}
@media(max-width:760px){
 .demo-dock.is-visible{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;bottom:0;left:0;right:0;z-index:45;background:#fffffff5;backdrop-filter:blur(14px);border-top:1px solid #dfe8f0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #1834490d;}
 .demo-dock>div{min-width:0;}
 .demo-dock strong{display:block;font-size:12px;max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .demo-dock small{display:block;color:#61788b;font-size:11px;margin-top:3px;}
 .demo-dock .btn{font-size:12px;padding:12px 16px;white-space:nowrap;}
 body.has-demo-dock{padding-bottom:84px;}
 body:has(.modal.is-open) .demo-dock{display:none;}
 .whatsapp-fab{bottom:98px;}
}
@media(max-width:560px){
 .feature-editorial-grid>.feature-editorial:first-child,.feature-editorial-grid.has-four>.feature-editorial:last-child{display:block;min-height:0;}
 .feature-editorial-grid>.feature-editorial:first-child img,.feature-editorial-grid>.feature-editorial:not(:first-child) img{height:250px;min-height:0;}
 .feature-editorial-grid>.feature-editorial:first-child>div{padding:28px;}
 .feature-editorial-grid>.feature-editorial:first-child h3{font-size:29px;}
 .image-preview-toolbar{padding:14px;}.image-preview-toolbar h2{font-size:16px;}
}
@media(prefers-reduced-motion:reduce){.pro-reveal,.product-card{transition:none;}.pro-reveal.is-pending{opacity:1;transform:none;}}
