/* Residual rules (2026-11-07). Design now lives in per-section Breakdance styles. What stays here cannot be native: classes read by this plugin's JS or PHP, classes typed into rich text, markup generated by PHP (product page, trust strip, cart extras) and states Breakdance cannot express. */
body.page-id-238635, body.page-id-238630, body.page-id-238629, body.page-id-238636, body.page-id-238664, body.page-id-238676, body.page-id-238670, body.page-id-238673, body.blog, body.post-type-archive-product, body.tax-product_cat { --p: min(calc(100vw / 1728), 1px); }
.ws-hero-card { max-width: max(520px, calc(700 * var(--p))); padding: calc(36 * var(--p)) calc(40 * var(--p)); border-radius: 22px; background: rgba(255, 255, 255, .62); backdrop-filter: blur(8px); }
.ws-eyebrow { margin: 0; font: 700 13px/1.2 'Open Sans', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #D91B5C; }
.ws-h1 { margin: calc(26 * var(--p)) 0 calc(26 * var(--p)); font: 600 clamp(36px, calc(60 * var(--p)), 60px)/1.3 'Noto Serif', serif; color: #222E46; }
.ws-lede { margin: 0; font: 400 clamp(17px, calc(22 * var(--p)), 22px)/1.65 'Noto Serif', serif; color: #222E46; }
.ws-btn { margin-top: calc(26 * var(--p)); }
.ws-hero-card .ws-btn { display: inline-flex; }
body .ws-feat { display: grid; grid-template-columns: calc(760 * var(--p)) minmax(0, 1fr); align-items: center; column-gap: calc(112 * var(--p)); width: 100%; max-width: calc(1412 * var(--p)); margin: 0 auto; }
body .ws-feat.ws-flip { grid-template-columns: minmax(0, 1fr) calc(760 * var(--p)); column-gap: calc(60 * var(--p)); }
body .ws-feat .ws-copy { position: relative; top: calc(-58 * var(--p)); max-width: calc(560 * var(--p)); }
.ws-circle { aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; }
.ws-circle img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ws-h2 { margin: 0 0 calc(30 * var(--p)); font: 600 clamp(30px, calc(48 * var(--p)), 48px)/1.4 'Noto Serif', serif; color: #222E46; }
.ws-quote-in { position: relative; margin: 0; max-width: max(560px, calc(900 * var(--p))); }
.ws-cmp-head { text-align: center; }
.ws-cmp-head .ws-h2 { margin: calc(12 * var(--p)) 0 calc(60 * var(--p)); }
.ws-card { padding: calc(36 * var(--p)) calc(40 * var(--p)) calc(30 * var(--p)); border-radius: 22px; box-sizing: border-box; }
.ws-card ul { margin: 0; padding: 0; list-style: none; }
.ws-card li { display: flex; align-items: center; gap: 16px; padding: 20px 0; border-top: 1.5px solid #222E46; font: 400 clamp(15px, calc(18 * var(--p)), 18px)/1.4 'Open Sans', sans-serif; color: #222E46; }
html.ws-anim .ws-rv { opacity: 0; transform: translate3d(0, 20px, 0); transition: opacity .8s cubic-bezier(.22,.61,.36,1) var(--ws-d,0ms), transform .8s cubic-bezier(.22,.61,.36,1) var(--ws-d,0ms); }
html.ws-anim .ws-circle.ws-rv { transform: scale(.94); }
html.ws-anim .ws-rv.ws-in { opacity: 1; transform: none; }
html.ws-anim.ws-anim-done .ws-rv { opacity: 1; transform: none; transition: none; }
@media (max-width: 1023px) { body .ws-feat:not(#_) .ws-copy { top: 0; max-width: none; } }
@media (max-width: 1023px) { .ws-hero-card { max-width: none; } }
@media (max-width: 1023px) { .ws-quote-in { max-width: none; } }
@media (max-width: 1023px) { .ws-close-card { max-width: none; min-height: 0; } }
@media (max-width: 1023px) { body .ws-feat:not(#_), body .ws-feat.ws-flip:not(#_) { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
@media (max-width: 1023px) { .ws-circle { width: min(100%, 520px); margin: 0 auto; } }
@media (max-width: 1023px) { .ws-flip .ws-circle { order: 0; } }
@media (max-width: 1023px) { .ws-close-card { padding: 28px; } }
#om-hero .ws-hero-card { width: 100%; box-sizing: border-box; max-width: max(520px, calc(832 * var(--p))); }
#om-sand > .section-container .ws-feat { grid-template-columns: minmax(0, 1fr) calc(760 * var(--p)); }
body #om-canvas .ws-feat .ws-copy, body #om-sand .ws-feat .ws-copy { top: 0; max-width: calc(560 * var(--p)); }
#om-canvas .ws-feat { grid-template-columns: calc(760 * var(--p)) minmax(0, 1fr); column-gap: calc(112 * var(--p)); }
.om-des { display: grid; grid-template-columns: calc(370 * var(--p)) minmax(0, 1fr); column-gap: calc(151 * var(--p)); align-items: center; width: 100%; }
.om-lotus { display: block; width: 100%; height: auto; }
.om-skull { display: block; width: 89%; height: auto; }
.om-des .ws-copy { max-width: calc(600 * var(--p)); }
.om-det { display: grid; grid-template-columns: repeat(4, calc(240 * var(--p))); justify-content: center; gap: calc(48 * var(--p)); margin: 0; padding: 0; list-style: none; }
.om-det li { text-align: center; }
.om-det .ws-circle { width: 100%; }
.om-det p { margin: calc(26 * var(--p)) 0 0; font: 400 clamp(15px, calc(18 * var(--p)), 18px)/1.6 'Open Sans', sans-serif; color: #222E46; }
.ws-eyebrow { margin: 0 0 calc(14 * var(--p)); }
@media (max-width: 1023px) { .om-des { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
@media (max-width: 1023px) { .om-lotus, .om-skull { width: 44%; } }
@media (max-width: 1023px) { .om-det { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; } }
.om-act .ws-h2 { margin-bottom: calc(24 * var(--p)); }
.om-act .ws-btn { margin-top: calc(10 * var(--p)); display: inline-flex; }
.om-des { grid-template-columns: minmax(0, 1fr); row-gap: calc(64 * var(--p)); justify-items: center; }
.om-des .ws-copy { max-width: calc(860 * var(--p)); text-align: center; }
.om-des .ws-copy { order: 1; }
/* Phones: same full-width behaviour as every other circle-with-text row (the desktop centring above sized the column in layout pixels, which shrank it to ~190px). :not(#_) lets this beat the ID-weighted rules. */
@media (max-width: 1023px) { body .om-des:not(#_) { justify-items: stretch; } body .om-des:not(#_) .ws-copy { max-width: none; } }
.mi-h1 { margin: 0; font: 600 clamp(48px, calc(100 * var(--p)), 100px)/1.22 'Noto Serif', serif; color: #fff; text-shadow: 0 2px 20px rgba(0, 0, 0, .3); }
.mi-logo { display: block; width: calc(300 * var(--p)); max-width: 60%; height: auto; margin: 0 auto calc(30 * var(--p)); }
.mi-statement { margin: 0; max-width: calc(1100 * var(--p)); font: 600 clamp(28px, calc(60 * var(--p)), 60px)/1.5 'Noto Serif', serif; color: #222E46; }
.c-green { color: #7ac143; }
.c-blue { color: #0F75BC; }
.c-pink { color: #D91B5C; }
.c-yellow { color: #F2C12C; }
#mi-creative .ws-feat { grid-template-columns: calc(760 * var(--p)) minmax(0, 1fr); column-gap: calc(112 * var(--p)); }
#mi-creative .ws-copy { max-width: calc(560 * var(--p)); }
.mi-exp-h { text-align: center; margin: 0 0 calc(56 * var(--p)); }
.mi-stats { display: grid; grid-template-columns: repeat(3, calc(400 * var(--p))); justify-content: center; gap: calc(70 * var(--p)); margin: 0; padding: 0; list-style: none; }
.mi-stats li { text-align: center; }
.mi-stats .ws-circle { width: 100%; }
.mi-stat-h { margin: calc(26 * var(--p)) 0 calc(14 * var(--p)); font: 600 clamp(24px, calc(40 * var(--p)), 40px)/1.3 'Noto Serif', serif; color: #222E46; }
@media (max-width: 1023px) { .mi-stats { grid-template-columns: minmax(0, 1fr); gap: 40px; } }
@media (max-width: 1023px) { .mi-stats .ws-circle { width: min(100%, 320px); margin: 0 auto; } }
.mi-statement { color: #222E46 !important; }
.mi-stats .mi-stat-h { margin-top: calc(40 * var(--p)); }
html.ws-anim .mi-h1.ws-rv { transform: translate3d(0, 30px, 0); }
html.ws-anim .mi-stats li.ws-rv .ws-circle { transition: transform .8s cubic-bezier(.22,.61,.36,1); }
#am-peace { background-size: cover !important; background-position: center !important; }
#am-peace > .section-container { position: relative; z-index: 2; max-width: none; width: 100%; box-sizing: border-box; min-height: calc(700 * var(--p)); padding: calc(180 * var(--p)) 0 calc(120 * var(--p)) max(24px, calc(144 * var(--p))); justify-content: center; }
#am-peace .ws-close-card { max-width: calc(760 * var(--p)); min-height: 0; background: rgba(30, 30, 24, .6); }
.am-cite { margin: 24px 0 0; padding-left: calc(106 * var(--p)); font: 600 16px/1.4 'Open Sans', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
@media (max-width: 1023px) { #am-peace > .section-container { padding: 100px 24px; min-height: 0; } }
@media (max-width: 1023px) { #am-peace .ws-close-card { max-width: none; } }
@media (max-width: 1023px) { .am-cite { padding-left: 56px; } }
#am-peace .ws-eyebrow-w { color: #fff; font-size: 12px; }
#am-peace .ws-h2-w { margin: calc(14 * var(--p)) 0 calc(22 * var(--p)); color: #fff; font: 400 clamp(32px, calc(60 * var(--p)), 60px)/1.3 'Lora', serif; }
#am-peace .ws-lede-w { color: #fff; font: 400 18px/1.6 'Open Sans', sans-serif; margin: 0; }
#ws-tl-sec > .section-container, #ws-tiles-sec > .section-container, #ws-note > .section-container { max-width: none; width: 100%; box-sizing: border-box; align-items: center; padding: calc(110 * var(--p, 1px)) max(24px, calc(144 * var(--p, 1px))); }
.ws-tl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; width: min(100%, calc(1440 * var(--p, 1px))); margin: 0; padding: 0; list-style: none; counter-reset: tl; }
.ws-tl li { position: relative; padding: 26px 26px 20px; border-top: 3px solid #D91B5C; background: #fbf8f1; border-radius: 0 0 20px 20px; }
.ws-tl-k { display: block; margin-bottom: 8px; font: 700 13px/1 'Open Sans', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #D91B5C; }
.ws-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: min(100%, calc(1440 * var(--p, 1px))); margin: 0; padding: 0; list-style: none; }
.ws-tiles li { position: relative; min-height: 220px; padding: 30px; border-radius: 22px; overflow: hidden; }
.ws-tiles li:nth-child(4n+1) { background: #fdeef3; }
.ws-tiles li:nth-child(4n+2) { background: #e9f5fb; }
.ws-tiles li:nth-child(4n+3) { background: #fdf5d9; }
.ws-tiles li:nth-child(4n) { background: #f1ecf7; }
.ws-tile-n { position: absolute; right: 18px; bottom: 4px; font: 600 54px/1 'Noto Serif', serif; color: rgba(34, 46, 70, .1); }
.ws-note-p { max-width: 760px; margin: 0; text-align: center; font: 400 18px/1.7 'Open Sans', sans-serif; color: #222E46; }
@media (max-width: 1023px) { .ws-tl { grid-template-columns: minmax(0, 1fr) 1fr; } }
@media (max-width: 1023px) { .ws-tiles { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .ws-tl { grid-template-columns: minmax(0, 1fr); } }
body.page-id-238676 .ws-hero-card:not(:has(.ws-lede)) { max-width: max(360px, calc(500 * var(--p))); }
body.page-id-238676 .ws-hero-card .ws-h1 { margin-bottom: 0; }
body.page-id-238635 .ws-hero-card, body.blog .ws-hero-card, body.post-type-archive-product .ws-hero-card, body.tax-product_cat .ws-hero-card { position: relative; z-index: 2; background: #fff; backdrop-filter: none; box-shadow: 0 12px 40px rgba(34, 46, 70, 0.14); }
@media (min-width: 1024px) { body .om-det { width: 100%; max-width: calc(1664 * var(--p)); grid-template-columns: repeat(4, max(200px, calc(350 * var(--p)))); gap: 0 calc(66 * var(--p)); } }
