/* ===== the demo sites: themes, shared parts, eight industry designs (desktop + .m phone) ===== */
.site{position:absolute;left:0;right:0;bottom:0;top:30px;container-type:size;overflow:hidden;font-family:var(--sans);
  --bg:#0c0c10;--fg:#fff;--mut:#ffffffbd;--ln:#ffffff2b;--ln2:#ffffff73;--df:var(--serif);--dfs:italic;--dw:400;--dtt:none;--dls:-.02em;--card:#ffffff1a;--cardb:#ffffff33;
  background:var(--bg);color:var(--fg)}
.site.m{top:0;opacity:0}
.site *{box-sizing:border-box}
.site.morph,.site.morph *{transition:background-color .6s,color .6s,border-color .6s,filter .6s}

/* shared parts */
.dsp{font-family:var(--df);font-style:var(--dfs);font-weight:var(--dw);text-transform:var(--dtt);letter-spacing:var(--dls);line-height:.92}
.s-title{word-break:break-word}
.s-title .car{display:inline-block;width:.05em;height:.78em;background:currentColor;margin-left:.04em;vertical-align:-.04em;animation:blink 1s steps(1) infinite}
.s-kick{display:inline-flex;align-items:center;gap:.8cqw;font-size:1.05cqw;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--kc,var(--fg))}
.s-kick:before{content:"";width:3cqw;height:1px;background:currentColor}
.s-title{margin-top:1.6cqh}
.s-sub{font-size:1.4cqw;line-height:1.5;color:var(--mut);margin-top:2.4cqh;max-width:38cqw}
.s-btns{display:flex;gap:1.1cqw;margin-top:3.4cqh;flex-wrap:wrap}
.s-btn,.s-btn2{font-size:1.15cqw;font-weight:600;padding:1.15cqw 2.1cqw;border-radius:99px;white-space:nowrap}
.s-btn{background:var(--btn,var(--acc));color:var(--btnc,#fff)}
.s-btn2{border:1px solid var(--ln2);color:var(--fg)}
.s-nav{position:absolute;z-index:6;left:4.5cqw;right:4.5cqw;top:4cqh;display:flex;align-items:center;justify-content:space-between;gap:2cqw}
.s-logo{font-size:2.4cqw;line-height:1;white-space:nowrap}
.s-links{display:flex;gap:2.4cqw;font-size:1.1cqw;color:var(--mut)}
.s-links i{font-style:normal}
.t-full .s-links{padding:.8cqw 1.6cqw;border-radius:99px;background:var(--card);border:1px solid var(--cardb);backdrop-filter:blur(10px);color:var(--fg)}
.s-pill{font-size:1.05cqw;font-weight:600;padding:.85cqw 1.6cqw;border-radius:99px;border:1px solid var(--ln2);white-space:nowrap;background:var(--card)}
.burger{display:none;width:6.5cqw;height:2.2cqw;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.glass-c{background:var(--card);border:1px solid var(--cardb);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4)}
.s-media{position:absolute;overflow:hidden;background:#111}
.s-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tint{position:absolute;inset:0;background:var(--acc);mix-blend-mode:multiply;opacity:0;pointer-events:none}
.s-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#0009 0%,#0000 28%,#0000 46%,#000000d0 100%),linear-gradient(90deg,#0009,#0000 62%)}
.sh-light .s-shade{background:linear-gradient(90deg,var(--bg) 0 30%,color-mix(in srgb,var(--bg) 78%,transparent) 46%,transparent 72%)}
.sh-acc .s-shade{background:linear-gradient(90deg,var(--acc) 0 24%,color-mix(in srgb,var(--acc) 62%,transparent) 46%,transparent 76%)}
.mq{display:flex;width:max-content;animation:mq 24s linear infinite}
.mq span{white-space:nowrap;padding-right:2cqw}
@keyframes blink{50%{opacity:0}}
@keyframes kb{from{translate:0 0;scale:1}to{translate:-2% -1.5%;scale:1.1}}
@keyframes spin{to{rotate:360deg}}
@keyframes mq{to{translate:-50% 0}}
@keyframes mqr{from{translate:-50% 0}to{translate:0 0}}
@keyframes blob{0%,100%{border-radius:46% 54% 52% 48%/56% 44% 56% 44%}50%{border-radius:55% 45% 43% 57%/45% 57% 43% 55%}}
@keyframes breathe{0%,100%{scale:1;opacity:.5}50%{scale:1.14;opacity:.9}}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -1.4cqh}}
@keyframes ping{0%{box-shadow:0 0 0 0 #45d48399}80%,100%{box-shadow:0 0 0 .9cqw #45d48300}}
@keyframes twinkle{0%,100%{opacity:.25;scale:.75}50%{opacity:1;scale:1.15}}
@keyframes fill{from{scale:1 0}to{scale:1 1}}

/* phone: shared */
.m .s-nav{left:6cqw;right:6cqw;top:7.5cqh}
.m .s-logo{font-size:6cqw}
.m .s-links,.m .s-pill{display:none}
.m .burger{display:block}
.m .s-kick{font-size:2.7cqw}.m .s-kick:before{width:6cqw}
.m .s-sub{font-size:3.5cqw;max-width:none;margin-top:1.4cqh}
.m .s-btns{gap:2.2cqw;margin-top:2.2cqh}
.m .s-btn,.m .s-btn2{font-size:3.3cqw;padding:2.7cqw 4.4cqw}
.m .s-shade{background:linear-gradient(0deg,#000000d9 0%,#0000 58%),linear-gradient(180deg,#0008,#0000 22%)}
.m.sh-light .s-shade{background:linear-gradient(0deg,var(--bg) 0 40%,color-mix(in srgb,var(--bg) 60%,transparent) 55%,transparent 75%)}
.m.sh-acc .s-shade{background:linear-gradient(0deg,var(--acc) 0 36%,color-mix(in srgb,var(--acc) 55%,transparent) 52%,transparent 74%)}

/* ---- 1 restaurant: kitchen marquee ---- */
.rc-marquee .s-media{inset:0}
.rc-marquee .s-media video,.rc-luxe .s-media video{animation:kb 20s ease-in-out infinite alternate}
.r-copy{position:absolute;z-index:3;left:4.5cqw;bottom:19cqh;width:58cqw}
.sh-light .r-copy,.sh-acc .r-copy{width:42cqw}
.rc-marquee .s-title{font-size:9cqw}
.r-badge{position:absolute;z-index:3;right:5cqw;top:16cqh;width:14cqw;aspect-ratio:1;display:grid;place-items:center}
.r-badge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:spin 16s linear infinite}
.r-badge text{font:700 8.6px var(--sans);letter-spacing:2.1px;fill:#fff}
.r-badge b{width:44%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--btn,var(--acc));color:var(--btnc,#fff);font-size:2.4cqw;font-weight:500}
.marq{position:absolute;z-index:3;left:0;right:0;bottom:0;height:11cqh;display:flex;align-items:center;overflow:hidden;border-width:1px 0 0}
.marq span{font-family:var(--serif);font-style:italic;font-size:3.1cqw}
.m .r-copy{left:6cqw;right:6cqw;width:auto;bottom:13cqh}
.m.rc-marquee .s-title{font-size:14.5cqw}
.m .r-badge{width:25cqw;top:15cqh;right:6cqw}
.m .marq{height:8cqh}.m .marq span{font-size:6cqw}

/* ---- 2 clinic: calm booking ---- */
.c-blob{position:absolute;left:44cqw;right:-8cqw;top:2cqh;bottom:-12cqh;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 60%,transparent),transparent);filter:blur(2cqw);animation:breathe 7s ease-in-out infinite}
.c-copy{position:absolute;z-index:3;left:4.5cqw;top:25cqh;width:42cqw}
.rc-arch .s-title{font-size:6.8cqw}
.rc-arch .s-media{left:55cqw;right:5cqw;top:13cqh;bottom:7cqh;border-radius:22cqw 22cqw 2cqw 2cqw}
.c-card{position:absolute;z-index:4;left:43cqw;bottom:12cqh;padding:1.6cqw 1.9cqw;border-radius:1.6cqw;display:grid;gap:.6cqh;min-width:20cqw;color:var(--fg);animation:floaty 6s ease-in-out infinite;box-shadow:0 2cqw 4cqw -2cqw #0004}
.c-card small{font-size:.92cqw;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:.7cqw}
.c-card small i{width:.75cqw;height:.75cqw;border-radius:50%;background:#45d483;animation:ping 1.8s infinite}
.c-card b{font-size:1.9cqw;font-weight:600;letter-spacing:-.02em}
.c-card span{justify-self:start;margin-top:.6cqh;font-size:1cqw;font-weight:600;padding:.7cqw 1.4cqw;border-radius:99px;background:var(--btn,var(--acc));color:var(--btnc,#fff)}
.c-rate{position:absolute;z-index:4;right:7.5cqw;top:17cqh;font-size:1.05cqw;padding:.8cqw 1.3cqw;border-radius:99px;color:var(--fg)}
.c-rate em{font-style:normal;color:#f5b301;letter-spacing:.08em;margin-right:.6cqw}
.m .c-copy{left:6cqw;right:6cqw;width:auto;top:57cqh}
.m.rc-arch .s-title{font-size:11.5cqw}
.m.rc-arch .s-media{left:6cqw;right:6cqw;top:14cqh;bottom:46cqh;border-radius:40cqw 40cqw 3cqw 3cqw}
.m .c-blob{left:-14cqw;right:-14cqw;top:4cqh;bottom:38cqh}
.m .c-card{left:auto;right:9cqw;bottom:auto;top:41cqh;min-width:0;padding:2.6cqw 3.4cqw;border-radius:3cqw}
.m .c-card small{font-size:2.3cqw}.m .c-card b{font-size:4cqw}.m .c-card span,.m .c-rate{display:none}

/* ---- 3 real estate: quiet luxury ---- */
.rc-luxe .s-media{inset:0}
.e-line{position:absolute;z-index:3;left:4.5cqw;right:4.5cqw;top:11.5cqh;height:1px;background:var(--ln2)}
.e-copy{position:absolute;z-index:3;left:4.5cqw;bottom:11cqh;width:50cqw}
.sh-light .e-copy,.sh-acc .e-copy{width:40cqw}
.rc-luxe .s-title{font-size:8.4cqw}
.e-count{position:absolute;z-index:3;right:4.5cqw;top:22cqh;display:grid;gap:1.2cqh;justify-items:center;font-size:1cqw;letter-spacing:.14em;color:#fff}
.e-count b{font:400 2.4cqw/1 var(--serif);color:#fff}
.e-count i{position:relative;width:1px;height:14cqh;background:#ffffff59;overflow:hidden}
.e-count i:after{content:"";position:absolute;inset:0;background:#fff;transform-origin:top;animation:fill 6s linear infinite}
.e-card{position:absolute;z-index:4;right:4.5cqw;bottom:11cqh;width:28cqw;display:flex;gap:1.2cqw;padding:1cqw;border-radius:1.4cqw;color:var(--fg)}
.e-card img{width:9cqw;aspect-ratio:1;object-fit:cover;border-radius:.9cqw}
.e-card div{display:grid;align-content:center;gap:.5cqh}
.e-card small{font-size:.88cqw;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.e-card b{font:400 2cqw/1 var(--serif)}
.e-card span{font-size:1cqw;color:var(--mut)}
.m .e-line,.m .e-count{display:none}
.m .e-copy{left:6cqw;right:6cqw;width:auto;bottom:26cqh}
.m.rc-luxe .s-title{font-size:13.5cqw}
.m .e-card{left:6cqw;right:6cqw;width:auto;bottom:5cqh;padding:2.4cqw;border-radius:3cqw;gap:3cqw}
.m .e-card img{width:19cqw;border-radius:2cqw}
.m .e-card small{font-size:2.2cqw}.m .e-card b{font-size:4.6cqw}.m .e-card span{font-size:2.6cqw}

/* ---- 4 beauty: keyhole ---- */
.rc-keyhole .s-media{left:33cqw;right:33cqw;top:13cqh;bottom:9cqh;border-radius:50%;animation:blob 9s ease-in-out infinite}
.b-ttl{position:absolute;z-index:4;left:3cqw;right:3cqw;top:37cqh;text-align:center;pointer-events:none;mix-blend-mode:difference;color:#fff}
.sh-acc .b-ttl{mix-blend-mode:normal}
.rc-keyhole .s-title{font-size:11cqw;margin:0}

.spark{position:absolute;z-index:4;font-style:normal;font-size:2cqw;color:var(--acc);animation:twinkle 3.2s ease-in-out infinite}
.sh-acc .spark{color:#fff}
.spark.s1{left:29cqw;top:19cqh}.spark.s2{right:28cqw;top:31cqh;animation-delay:-1.1s}.spark.s3{left:36cqw;bottom:13cqh;animation-delay:-2.2s}
.b-left{position:absolute;z-index:3;left:4.5cqw;bottom:9cqh;width:25cqw}
.b-left .s-sub{max-width:none}
.b-right{position:absolute;z-index:3;right:4.5cqw;bottom:9cqh;width:22cqw;display:grid}
.b-right span{display:flex;justify-content:space-between;padding:1.2cqh 0;border-top:1px solid var(--ln);font-size:1.35cqw}
.b-right span:last-child{border-bottom:1px solid var(--ln)}
.b-right em{font-style:normal;color:var(--mut)}
.m.rc-keyhole .s-media{left:12cqw;right:12cqw;top:15cqh;bottom:43cqh}
.m .b-ttl{top:47cqh}
.m.rc-keyhole .s-title{font-size:15cqw}
.m .b-left{left:6cqw;right:6cqw;width:auto;bottom:5cqh}
.m .b-right{display:none}
.m .spark{font-size:5cqw}.m .spark.s1{left:7cqw;top:20cqh}.m .spark.s2{right:6cqw;top:30cqh}.m .spark.s3{left:14cqw;bottom:auto;top:52cqh}

/* ---- 5 construction: blueprint ---- */
.site.rc-blueprint{background-image:linear-gradient(var(--ln) 1px,transparent 1px),linear-gradient(90deg,var(--ln) 1px,transparent 1px);background-size:5cqw 5cqw}
.k-cut{position:absolute;left:46cqw;right:0;top:0;bottom:13cqh;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}
.rc-blueprint .s-media{inset:0}
.k-copy{position:absolute;z-index:3;left:4.5cqw;top:18cqh;width:46cqw}
.rc-blueprint .s-title{font-size:7.4cqw}
.k-stats{position:absolute;z-index:3;left:4.5cqw;bottom:18cqh;display:flex;gap:3cqw}
.k-stats div{display:grid;gap:.5cqh;border-left:2px solid var(--acc);padding-left:1cqw}
.sh-acc .k-stats div{border-color:#fff}
.k-stats b{font-size:2.6cqw;font-weight:700;letter-spacing:-.03em}
.k-stats span{font-size:.92cqw;color:var(--mut);text-transform:uppercase;letter-spacing:.12em}
.k-tape{position:absolute;z-index:3;left:0;right:0;bottom:0;height:13cqh;background:var(--acc);color:#fff;display:flex;align-items:center;overflow:hidden}
.sh-acc .k-tape{background:#111}
.k-tape span{font-weight:800;font-size:3cqw;letter-spacing:-.02em;text-transform:uppercase}
.m .k-cut{left:0;top:13cqh;bottom:53cqh;clip-path:polygon(0 0,100% 0,100% 86%,0 100%)}
.m .k-copy{left:6cqw;right:6cqw;width:auto;top:50cqh}
.m.rc-blueprint .s-title{font-size:11cqw}
.m.rc-blueprint .s-sub{display:none}
.m .k-stats{left:6cqw;right:6cqw;bottom:11cqh;gap:4cqw}
.m .k-stats b{font-size:5cqw}.m .k-stats span{font-size:2.1cqw}
.m .k-tape{height:7cqh}.m .k-tape span{font-size:5.4cqw}

/* ---- 6 law: broadsheet ---- */
.l-mast{position:absolute;z-index:3;left:4.5cqw;right:4.5cqw;top:12cqh;display:flex;justify-content:space-between;padding:1cqh 0;border-top:1.5px solid var(--fg);border-bottom:1px solid var(--ln);font-size:.95cqw;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.l-ttl{position:absolute;z-index:3;left:4.5cqw;right:4.5cqw;top:19cqh}
.rc-broadsheet .s-title{font-size:9.4cqw;margin:0}
.l-cols{position:absolute;z-index:3;left:4.5cqw;right:4.5cqw;top:47cqh;bottom:6cqh;display:grid;grid-template-columns:1fr 1.05fr 1fr}
.l-cols>*{position:relative;padding:0 2cqw;border-left:1px solid var(--ln)}
.l-cols>*:first-child{padding-left:0;border-left:0}
.rc-broadsheet .s-media{left:2cqw;right:2cqw;top:0;bottom:0;border-radius:.4cqw}
.l-c3 small{display:block;font-size:.95cqw;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:1.2cqh}
.l-c3 span{display:flex;gap:1.4cqw;padding:1.3cqh 0;border-top:1px solid var(--ln);font-size:1.5cqw}
.l-c3 span em{font-style:normal;color:var(--kc,var(--mut));font-size:1cqw;padding-top:.35cqw}
.m .l-mast{left:6cqw;right:6cqw;top:13cqh;font-size:2.1cqw}
.m .l-ttl{left:6cqw;right:6cqw;top:19cqh}
.m.rc-broadsheet .s-title{font-size:14cqw}
.m .l-cols{left:6cqw;right:6cqw;top:41cqh;bottom:4cqh;grid-template-columns:1fr;grid-template-rows:1fr auto}
.m .l-c2{order:-1;padding:0;border:0}
.m.rc-broadsheet .s-media{left:0;right:0}
.m .l-c1{padding:2cqh 0 0;border:0}
.m .l-c3{display:none}

/* ---- 7 fitness: kinetic ---- */
.rc-kinetic .s-media{inset:0}
.rc-kinetic.th-noir .s-media video{filter:contrast(1.15) saturate(1.1)}
.f-rows{position:absolute;z-index:2;left:0;right:0;top:15cqh;display:grid;pointer-events:none}
.f-row{display:flex;width:max-content;animation:mq 30s linear infinite}
.f-row.rev{animation-name:mqr}
.f-row span{font:800 11.5cqw/1 var(--sans);text-transform:uppercase;letter-spacing:-.04em;white-space:nowrap;padding-right:3cqw;color:transparent;-webkit-text-stroke:1.5px var(--fg);opacity:.5}
.f-copy{position:absolute;z-index:3;left:4.5cqw;bottom:9cqh;width:56cqw}
.sh-light .f-copy,.sh-acc .f-copy{width:42cqw}
.rc-kinetic .s-title{font-size:8.6cqw}
.f-cd{position:absolute;z-index:4;right:4.5cqw;bottom:9cqh;padding:1.2cqw 1.7cqw;border-radius:1.2cqw;display:grid;gap:.5cqh;color:var(--fg)}
.f-cd small{font-size:.92cqw;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.f-cd b{font:600 2.6cqw/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.m .f-rows{top:15cqh}
.m .f-row span{font-size:19cqw}
.m .f-copy{left:6cqw;right:6cqw;width:auto;bottom:15cqh}
.m.rc-kinetic .s-title{font-size:14cqw}
.m .f-cd{left:6cqw;right:auto;bottom:5cqh;padding:2.2cqw 3.2cqw;border-radius:2.6cqw;display:flex;align-items:center;gap:3cqw}
.m .f-cd small{font-size:2.2cqw}.m .f-cd b{font-size:4.6cqw}

/* ---- 8 everything else: bento ---- */
.o-grid{position:absolute;z-index:3;left:4.5cqw;right:4.5cqw;top:12cqh;bottom:5cqh;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr .7fr;gap:1.2cqw}
.o-t{position:relative;overflow:hidden;border-radius:1.6cqw;padding:2cqw;background:var(--card);border:1px solid var(--cardb)}
.o-a{grid-column:1/3;grid-row:1/3;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.o-a .s-sub{max-width:none}
.rc-bento .s-title{font-size:6.2cqw}
.o-b{grid-column:3/5;grid-row:1/3;padding:0}
.rc-bento .s-media{inset:0}
.o-c b{display:block;font-size:4cqw;font-weight:300;letter-spacing:-.05em;line-height:1}
.o-c span,.o-d span{font-size:1cqw;color:var(--mut)}
.o-d p{font-family:var(--serif);font-style:italic;font-size:1.7cqw;line-height:1.2;margin-bottom:.8cqh}
.o-e{grid-column:3/5;background:var(--btn,var(--acc));color:var(--btnc,#fff);border:0;display:flex;align-items:flex-end;justify-content:space-between}
.o-e b{font-size:2.6cqw;font-weight:500;letter-spacing:-.03em}
.o-e i{font-style:normal;font-size:3.4cqw;line-height:1}
.m .o-grid{left:5cqw;right:5cqw;top:14cqh;bottom:4cqh;grid-template-columns:1fr 1fr;grid-template-rows:1.3fr 1fr .5fr .38fr;gap:2.4cqw}
.m .o-a{grid-column:1/3;grid-row:1}.m .o-b{grid-column:1/3;grid-row:2}
.m .o-c{grid-column:1;grid-row:3}.m .o-d{grid-column:2;grid-row:3}.m .o-e{grid-column:1/3;grid-row:4}
.m .o-t{border-radius:3cqw;padding:3.4cqw}
.m.rc-bento .s-title{font-size:10.5cqw}
.m.rc-bento .s-sub{display:none}
.m .o-c b{font-size:7cqw}.m .o-c span,.m .o-d span{font-size:2.2cqw}.m .o-d p{font-size:3.2cqw}
.m .o-e b{font-size:5cqw}.m .o-e i{font-size:6cqw}


/* ---- theme worlds ---- */
.th-paper{--bg:#f3eee6;--fg:#1d1b18;--mut:#5d584f;--ln:#1d1b1824;--ln2:#1d1b1847;--dfs:normal;--card:#ffffffc7;--cardb:#1d1b1814;--kc:var(--acc)}
.th-paper .s-media video{filter:saturate(.85) sepia(.14)}
.th-brand{--bg:var(--acc);--fg:#fff;--mut:#ffffffd9;--ln:#ffffff40;--ln2:#ffffff8c;--df:var(--sans);--dfs:normal;--dw:800;--dtt:uppercase;--dls:-.055em;--card:#ffffff2e;--cardb:#ffffff59;--btn:#fff;--btnc:var(--acc)}
.th-brand .s-media video{filter:grayscale(1) contrast(1.2) brightness(1.08)}.th-brand .tint{opacity:.8}
.th-white{--bg:#fafaf8;--fg:#121212;--mut:#6a6a6a;--ln:#1212121a;--ln2:#12121238;--df:var(--sans);--dfs:normal;--dw:300;--dls:-.055em;--card:#ffffffe0;--cardb:#12121214;--btn:#121212;--btnc:#fff;--kc:#8a8a8a}
.th-white .s-media video{filter:saturate(.72) brightness(1.05)}
.th-gold{--bg:#0f0d0b;--fg:#efe6d6;--mut:#efe6d6a6;--ln:#efe6d61f;--ln2:#c8a96a80;--dfs:normal;--dtt:uppercase;--dls:.03em;--card:#1a1612cc;--cardb:#c8a96a40;--btn:#c8a96a;--btnc:#0f0d0b;--kc:#c8a96a}
.th-gold .s-media video{filter:sepia(.28) saturate(.8) brightness(.88)}.th-gold .dsp{line-height:1}
.th-sage{--bg:#eef2ec;--fg:#1f2b25;--mut:#55625a;--ln:#1f2b2522;--ln2:#1f2b2547;--card:#ffffffcc;--cardb:#1f2b2514;--btn:#2f6b55;--kc:#2f6b55}
.th-sage .s-media video{filter:saturate(.82) brightness(1.04)}
.th-blush{--bg:#f7ebe7;--fg:#2b1c1f;--mut:#7a5f63;--ln:#2b1c1f1f;--ln2:#2b1c1f40;--card:#ffffffc7;--cardb:#2b1c1f14;--btn:#b4577a;--kc:#b4577a}
.th-blush .s-media video{filter:saturate(.85) brightness(1.04) sepia(.08)}
.th-acid{--bg:#0d0d0d;--fg:#f4f4f0;--mut:#f4f4f0a6;--ln:#ffffff26;--ln2:#ffffff66;--df:var(--sans);--dfs:normal;--dw:800;--dtt:uppercase;--dls:-.055em;--card:#1b1b1bd9;--cardb:#d4ff3a55;--btn:#d4ff3a;--btnc:#0d0d0d;--kc:#d4ff3a}
.th-acid .s-media video{filter:grayscale(1) contrast(1.3)}
.th-glam{--bg:#0b0709;--fg:#fff;--mut:#ffffffb3;--ln:#ffffff26;--ln2:#ff3d8b99;--card:#1a0f14d9;--cardb:#ff3d8b55;--btn:#ff3d8b;--btnc:#fff;--kc:#ff3d8b}
.th-glam .s-media video{filter:contrast(1.12) saturate(1.2)}
.th-yellow{--bg:#ffd23f;--fg:#111;--mut:#111111b3;--ln:#11111126;--ln2:#11111166;--df:var(--sans);--dfs:normal;--dw:800;--dtt:uppercase;--dls:-.055em;--card:#fff3c4;--cardb:#11111133;--btn:#111;--btnc:#ffd23f;--kc:#111}
.th-yellow .s-media video{filter:grayscale(1) contrast(1.2)}
.th-concrete{--bg:#dcd8d1;--fg:#1b1b1b;--mut:#555;--ln:#1b1b1b1f;--ln2:#1b1b1b44;--df:var(--sans);--dfs:normal;--dw:500;--dls:-.05em;--card:#ecebe7d9;--cardb:#1b1b1b1a;--btn:#1b1b1b;--btnc:#fff}
.th-concrete .s-media video{filter:grayscale(.6) contrast(1.05)}
.th-sand{--bg:#efe4d2;--fg:#213a44;--mut:#4f6670;--ln:#213a4422;--ln2:#213a4444;--card:#faf4ead9;--cardb:#213a4414;--btn:#213a44;--btnc:#efe4d2;--kc:#2a7a8c}
.th-sand .s-media video{filter:saturate(.9) sepia(.1)}
.th-navy{--bg:#0f1c2e;--fg:#eef2f8;--mut:#eef2f8a6;--ln:#ffffff1f;--ln2:#ffffff55;--df:var(--sans);--dfs:normal;--dw:600;--dls:-.045em;--card:#16263bd9;--cardb:#c9a24b40;--btn:#c9a24b;--btnc:#0f1c2e;--kc:#c9a24b}
.th-navy .s-media video{filter:saturate(.85)}
.th-pastel{--bg:#fdf1e4;--fg:#3a2a1e;--mut:#7a6655;--ln:#3a2a1e1f;--ln2:#3a2a1e40;--df:var(--sans);--dfs:normal;--dw:700;--dls:-.05em;--card:#ffffffcc;--cardb:#3a2a1e14;--kc:#e08a5a}
.th-pastel .s-media video{filter:saturate(1.05) brightness(1.03)}
.site.swap{animation:swapin .55s var(--ease)}
@keyframes swapin{from{opacity:.2;filter:blur(10px)}}

/* ---- 9 neo-brutalism ---- */
.u-copy{position:absolute;z-index:3;left:4.5cqw;top:14cqh;width:50cqw;padding:2.4cqw;border:2px solid var(--fg);background:var(--bg);box-shadow:.7cqw .7cqw 0 var(--fg);border-radius:.6cqw}
.rc-brutal .s-title{font-size:6.2cqw}
.rc-brutal .s-media{left:58cqw;right:4.5cqw;top:14cqh;bottom:25cqh;border:2px solid var(--fg);box-shadow:.7cqw .7cqw 0 var(--fg);border-radius:.6cqw}
.rc-brutal .s-btn,.rc-brutal .s-btn2{border:2px solid var(--fg);border-radius:.5cqw;box-shadow:.35cqw .35cqw 0 var(--fg)}
.rc-brutal .s-btn2{background:var(--bg)}
.rc-brutal .s-pill{border:2px solid var(--fg);border-radius:.5cqw;background:var(--bg)}
.u-stick{position:absolute;z-index:5;left:52cqw;top:9cqh;width:11cqw;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;padding:1cqw;
  background:var(--btn,var(--acc));color:var(--btnc,#fff);border:2px solid var(--fg);font:800 1.25cqw/1.05 var(--sans);text-transform:uppercase;animation:wob 3s ease-in-out infinite}
@keyframes wob{0%,100%{rotate:-12deg}50%{rotate:9deg}}
.u-stats{position:absolute;z-index:3;left:58cqw;bottom:13cqh;display:flex;gap:1cqw}
.u-stats div{border:2px solid var(--fg);border-radius:.5cqw;padding:.7cqw 1.1cqw;background:var(--card);box-shadow:.35cqw .35cqw 0 var(--fg)}
.u-stats b{display:block;font-size:1.8cqw;font-weight:800;letter-spacing:-.03em}
.u-stats span{font-size:.85cqw;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}
.u-tape{position:absolute;z-index:4;left:-2cqw;right:-2cqw;bottom:2cqh;height:9cqh;border-block:2px solid var(--fg);background:var(--btn,var(--acc));color:var(--btnc,#fff);display:flex;align-items:center;overflow:hidden;rotate:-1.5deg}
.u-tape span{font-weight:800;font-size:2.6cqw;text-transform:uppercase;letter-spacing:-.02em}
.m .u-copy{left:5cqw;right:5cqw;width:auto;top:50cqh;padding:4cqw;box-shadow:1.4cqw 1.4cqw 0 var(--fg)}
.m.rc-brutal .s-title{font-size:10.5cqw}
.m.rc-brutal .s-sub{display:none}
.m.rc-brutal .s-media{left:5cqw;right:5cqw;top:14cqh;bottom:54cqh;box-shadow:1.4cqw 1.4cqw 0 var(--fg)}
.m .u-stick{left:auto;right:3cqw;top:40cqh;width:22cqw;font-size:2.6cqw}
.m .u-stats{display:none}
.m .u-tape{height:5.5cqh;bottom:3cqh}.m .u-tape span{font-size:5cqw}

/* ---- 10 card stack ---- */
.st-copy{position:absolute;z-index:3;left:4.5cqw;top:25cqh;width:42cqw}
.rc-stack .s-title{font-size:6.8cqw}
.st-deck{position:absolute;z-index:2;left:50cqw;right:4cqw;top:12cqh;bottom:7cqh}
.st-deck>*{position:absolute;border-radius:1.4cqw;overflow:hidden;box-shadow:0 2cqw 4cqw -1.6cqw #0006}
.st-c1{left:2cqw;top:9cqh;width:21cqw;height:58cqh;rotate:-9deg;animation:sway 7s ease-in-out infinite}
.st-c1 img{width:100%;height:100%;object-fit:cover;display:block}
.rc-stack .s-media{left:13cqw;top:1cqh;width:25cqw;height:70cqh;rotate:3deg;animation:sway 8s ease-in-out infinite reverse}
.st-c3{right:-1cqw;bottom:2cqh;width:19cqw;padding:1.5cqw;rotate:6deg;display:grid;gap:.5cqh;color:var(--fg);animation:sway 6s ease-in-out infinite;overflow:visible}
.st-c3 small{font-size:.9cqw;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.st-c3 b{font-size:1.9cqw;font-weight:600;letter-spacing:-.02em}
.st-c3 span{font-size:1cqw;color:var(--mut)}
@keyframes sway{0%,100%{translate:0 0}50%{translate:0 -1.6cqh}}
.m .st-copy{left:6cqw;right:6cqw;width:auto;top:57cqh}
.m.rc-stack .s-title{font-size:11.5cqw}
.m .st-deck{left:6cqw;right:6cqw;top:13cqh;bottom:46cqh}
.m .st-c1{left:-2cqw;top:4cqh;width:42cqw;height:30cqh;border-radius:3cqw}
.m.rc-stack .s-media{left:26cqw;top:0;width:52cqw;height:36cqh;border-radius:3cqw}
.m .st-c3{right:-3cqw;bottom:-3cqh;width:48cqw;padding:3cqw;border-radius:3cqw}
.m .st-c3 small{font-size:2.2cqw}.m .st-c3 b{font-size:4cqw}.m .st-c3 span{font-size:2.4cqw}


/* ===== signature details per style ===== */
/* letterbox: cinematic bars, coordinates */
.sx-letterbox .lb{position:absolute;left:0;right:0;z-index:5;height:7cqh;background:#000}
.sx-letterbox .lb-t{top:0}.sx-letterbox .lb-b{bottom:0}
.sx-letterbox .s-nav{top:9.5cqh}.sx-letterbox .e-line{top:17cqh}
.sx-letterbox .e-copy,.sx-letterbox .e-card{bottom:13cqh}
.sx-letterbox .dsp{font-family:var(--serif);font-style:normal;text-transform:uppercase;letter-spacing:.06em;font-weight:400}
.sx-letterbox.rc-luxe .s-title{font-size:6.4cqw;line-height:1.02}
.fx-geo{position:absolute;z-index:6;left:4.5cqw;right:4.5cqw;bottom:2.2cqh;display:flex;justify-content:space-between;font-size:.9cqw;letter-spacing:.24em;text-transform:uppercase;color:#ffffffa6}
.m.sx-letterbox .lb{height:6cqh}.m.sx-letterbox .s-nav{top:9cqh}.m .fx-geo{font-size:2cqw;letter-spacing:.14em}.m .fx-geo span:last-child{display:none}
.m.sx-letterbox .e-card{bottom:9cqh}.m.sx-letterbox .e-copy{bottom:30cqh}.m.sx-letterbox.rc-luxe .s-title{font-size:10cqw}
/* dims: technical drawing over the film */
.fx-dims{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none;overflow:visible}
.fx-dims path{fill:none;stroke:#fff;stroke-width:1}
.fx-dims .dash{stroke-dasharray:4 5;opacity:.7;animation:march 2s linear infinite}
@keyframes march{to{stroke-dashoffset:-18}}
.fx-dim{position:absolute;z-index:5;font:600 .9cqw/1 var(--sans);letter-spacing:.14em;color:#fff;background:#1b1b1bcc;padding:.4cqw .7cqw}
.fx-dim.d1{left:73cqw;top:14.4cqh}.fx-dim.d2{left:47cqw;top:46cqh;rotate:-90deg}.fx-dim.d3{right:4.5cqw;top:82cqh}
.fx-x{position:absolute;z-index:5;width:1.6cqw;height:1.6cqw;background:linear-gradient(#fff,#fff) center/100% 1px no-repeat,linear-gradient(#fff,#fff) center/1px 100% no-repeat}
.fx-x.x1{left:62cqw;top:28.5cqh}.fx-x.x2{left:86cqw;top:61cqh}.fx-x.x3{left:74cqw;top:44cqh}
.m .fx-dims,.m .fx-dim.d2,.m .fx-x{display:none}.m .fx-dim.d1{left:auto;right:6cqw;top:15cqh;font-size:2cqw}.m .fx-dim.d3{display:none}
.sx-dims .k-stats div{border-left-color:var(--fg)}
/* tide: sun, waves, conditions chip */
.fx-sun{position:absolute;z-index:1;right:30cqw;top:7cqh;width:16cqw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f6c27a,#f3a65a 60%,#f3a65a00 72%);animation:breathe 8s ease-in-out infinite}
.fx-waves{position:absolute;z-index:1;left:0;right:0;bottom:3cqh;width:100%;height:6cqh;overflow:visible}
.fx-waves path{fill:none;stroke:var(--kc);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.45;animation:wave 6s linear infinite}
.fx-waves path+path{opacity:.25;animation-duration:9s}
@keyframes wave{from{translate:0 0}to{translate:-25% 0}}
.fx-chip{position:absolute;z-index:4;left:4.5cqw;bottom:10cqh;padding:.9cqw 1.4cqw;border-radius:99px;font-size:1.05cqw;color:var(--fg)}
.m .fx-sun{right:6cqw;top:10cqh;width:30cqw}.m .fx-chip{left:6cqw;bottom:auto;top:52cqh;font-size:2.4cqw;padding:1.8cqw 3cqw}.m.sx-tide .st-copy{top:59cqh}
/* issue: magazine furniture */
.fx-issue{position:absolute;z-index:4;left:4.5cqw;top:9cqh;font:400 1.1cqw/1 var(--serif);font-style:italic;color:var(--mut)}
.sx-issue .l-mast{top:13.5cqh}.sx-issue .l-ttl{top:20.5cqh}
.fx-vert{position:absolute;z-index:4;right:1.4cqw;top:50%;writing-mode:vertical-rl;translate:0 -50%;font-size:.85cqw;letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.fx-page{position:absolute;z-index:4;right:4.5cqw;bottom:2.4cqh;font:italic 1cqw var(--serif);color:var(--mut)}
.sx-issue .s-title::first-letter{color:var(--acc)}
.m .fx-issue{left:6cqw;top:10.5cqh;font-size:2.4cqw}.m.sx-issue .l-mast{top:14cqh}.m.sx-issue .l-ttl{top:20cqh}.m .fx-vert{display:none}.m .fx-page{font-size:2.4cqw;right:6cqw;bottom:1.4cqh}
/* breathe: calming guide */
.fx-breath{position:absolute;z-index:5;left:4.5cqw;top:76cqh;width:10cqw;aspect-ratio:1;display:grid;place-items:center}
.fx-breath:after{content:"a calm visit, start to finish";position:absolute;left:12cqw;white-space:nowrap;font-size:1cqw;color:var(--mut)}
.fx-breath i{position:absolute;inset:0;border-radius:50%;border:1px solid var(--kc);background:color-mix(in srgb,var(--kc) 12%,transparent);animation:inhale 8s ease-in-out infinite}
.fx-breath span{grid-area:1/1;font:italic 1.25cqw var(--serif);color:var(--fg);animation:say 8s ease-in-out infinite}
.fx-breath .out{animation-delay:-4s}
@keyframes inhale{0%,100%{scale:.62}50%{scale:1}}
@keyframes say{0%,8%{opacity:0}15%,40%{opacity:1}48%,100%{opacity:0}}
.m .fx-breath{display:none}.m .fx-breath span{font-size:2.8cqw}
/* scan: clinical sweep + tech tags */
.sx-scan .o-b:after{content:"";position:absolute;left:0;right:0;top:0;height:22%;background:linear-gradient(180deg,transparent,#7fe3ff40 80%,#bdf3ff 100%);border-bottom:1px solid #d9f8ff;animation:scan 3.6s cubic-bezier(.45,0,.55,1) infinite;mix-blend-mode:screen;pointer-events:none}
@keyframes scan{0%{translate:0 -100%}100%{translate:0 460%}}
.fx-scan{display:none}
.fx-tags{position:absolute;z-index:5;right:6.5cqw;top:15cqh;display:grid;gap:.6cqw;justify-items:end}
.fx-tags span{font-size:.95cqw;font-weight:600;padding:.6cqw 1cqw;border-radius:99px;background:#ffffffe6;color:#121212;box-shadow:0 .6cqw 1.6cqw -.6cqw #0003}
.m .fx-tags{right:8cqw;top:auto;bottom:35cqh}.m .fx-tags span{font-size:2.2cqw;padding:1.2cqw 2cqw}
/* cosmetic: a light glint sweeps across the smile, shade guide pill */
.fx-ba{position:absolute;z-index:3;left:33cqw;right:33cqw;top:13cqh;bottom:9cqh;border-radius:50%;overflow:hidden;animation:blob 9s ease-in-out infinite;pointer-events:none}
.fx-ba .shine{position:absolute;top:-20%;bottom:-20%;width:30%;left:0;background:linear-gradient(100deg,transparent,#ffffff8c 50%,transparent);mix-blend-mode:soft-light;animation:glint 4.5s cubic-bezier(.45,0,.55,1) infinite}
@keyframes glint{0%{translate:-120% 0}60%,100%{translate:420% 0}}
.fx-shade-pill{position:absolute;z-index:5;left:50%;bottom:4cqh;translate:-50% 0;display:flex;align-items:center;gap:.4cqw;padding:.6cqw .9cqw .6cqw .7cqw;border-radius:99px;background:#ffffffd9;box-shadow:0 .8cqw 2cqw -1cqw #0003;color:#2b1c1f;font-size:1cqw;white-space:nowrap}
.fx-shade-pill i{width:1.5cqw;height:1.5cqw;border-radius:50%;box-shadow:inset 0 0 0 1px #0001}
.fx-shade-pill span{margin-left:.6cqw;font-weight:600}
.m .fx-ba{left:12cqw;right:12cqw;top:15cqh;bottom:43cqh}.m .fx-shade-pill{bottom:auto;top:58cqh;font-size:2.3cqw;padding:1.2cqw 2cqw}.m .fx-shade-pill i{width:3cqw;height:3cqw}
.m.sx-beforeafter .b-ttl{top:44cqh}
/* play: friendly floating shapes + sticker */
.fx-sh{position:absolute;z-index:1;border-radius:50%;animation:floaty 5s ease-in-out infinite}
.fx-sh.s1{left:44cqw;top:12cqh;width:7cqw;aspect-ratio:1;background:#ffcf6b}
.fx-sh.s2{right:3cqw;top:58cqh;width:5cqw;aspect-ratio:1;background:#8fd3c8;animation-delay:-2s}
.fx-sh.s3{left:52cqw;bottom:6cqh;width:9cqw;height:4cqw;border-radius:99px;background:#f7a8b8;animation-delay:-3.5s;rotate:-12deg}
.fx-kid{position:absolute;z-index:5;left:47cqw;top:62cqh;width:11cqw;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;background:#ffcf6b;color:#3a2a1e;font:700 1.25cqw/1.1 var(--sans);rotate:-10deg;animation:wob 3.4s ease-in-out infinite;box-shadow:0 1cqw 2cqw -1cqw #0003}
.m .fx-sh.s1{left:auto;right:8cqw;top:9cqh;width:12cqw}.m .fx-sh.s3{display:none}.m .fx-kid{left:auto;right:4cqw;top:46cqh;width:24cqw;font-size:2.7cqw}

/* wireframe, drawn before the real thing */
.wf{position:absolute;inset:0;z-index:9;pointer-events:none;background:#f4f3f8}
.wf .bar{position:absolute;height:1.3cqh;border-radius:99px;background:#2b2f6a1f;transform-origin:left;transform:scaleX(0)}
.wf svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wf rect,.wf line{fill:none;stroke:#2b2f6a3d;stroke-width:1.5;stroke-dasharray:1}
@media (prefers-reduced-motion:reduce){.site *{animation:none!important}}
/* heavy capitals: never split a word, scale down instead */
.s-title{word-break:normal;overflow-wrap:normal}
.rc-kinetic.th-yellow .s-title,.rc-kinetic.th-brand .s-title,.rc-kinetic.th-acid .s-title{font-size:6.6cqw}
.rc-marquee.th-brand .s-title{font-size:7.6cqw}
.m.rc-kinetic.th-yellow .s-title,.m.rc-kinetic.th-brand .s-title,.m.rc-kinetic.th-acid .s-title{font-size:11cqw}
/* cosmetic: the name sits behind the portrait */
.sx-beforeafter .s-media{z-index:2}
.sx-beforeafter .fx-ba{z-index:3}
.sx-beforeafter .b-ttl{z-index:1;mix-blend-mode:normal;color:var(--fg)}
.sx-beforeafter.rc-keyhole .s-title{font-size:12.5cqw}
.m.sx-beforeafter.rc-keyhole .s-title{font-size:16cqw}
.m.sx-beforeafter .b-ttl{top:30cqh;z-index:3;color:#fff;text-shadow:0 1cqw 4cqw #0006}

/* kinetic headline: the last word rolls */
.fx-rot{position:absolute;z-index:6;left:4.5cqw;font:400 3.4cqw/1.1 var(--serif);font-style:italic;color:var(--fg);display:flex;gap:.6cqw;white-space:nowrap}
.rw{display:inline-block;height:1.1em;overflow:hidden;vertical-align:top}
.rw b{display:block;font-weight:400;color:var(--kc,var(--acc));animation:roll 8s cubic-bezier(.7,0,.2,1) infinite}
@keyframes roll{0%,20%{translate:0 0}25%,45%{translate:0 -100%}50%,70%{translate:0 -200%}75%,95%{translate:0 -300%}100%{translate:0 -400%}}
.sx-rotator .fx-rot{top:auto;bottom:47cqh;color:#fff;font-size:3.8cqw}
.sx-rotator .rw b{color:#bfe8d6}
.sx-rotator.rc-marquee .s-title{font-size:7.4cqw}
.sx-rotator .r-copy{bottom:16cqh}
.sx-rotator .s-shade{background:linear-gradient(90deg,#0f2a20d9 0%,#0f2a2066 45%,#0000 70%),linear-gradient(0deg,#0f2a20b3,#0000 40%)}
.sx-rotator .s-nav,.sx-rotator .r-copy{color:#fff}.sx-rotator .s-sub{color:#ffffffd0}.sx-rotator .s-btn2{color:#fff;border-color:#ffffff8c}
.sx-rotator .s-kick{color:#bfe8d6}.sx-rotator .s-links{color:#fff}
.sx-rotator .marq span{color:#fff}
.sx-cosmo .fx-rot{top:15cqh;font-size:2.6cqw}
.fx-rev{position:absolute;z-index:6;left:0;right:0;bottom:0;height:8cqh;display:flex;align-items:center;overflow:hidden;background:var(--fg);color:var(--bg)}
.fx-rev span{font:italic 1.6cqw var(--serif)}
.sx-cosmo .b-left,.sx-cosmo .b-right{bottom:12cqh}
.sx-cosmo .fx-ba{bottom:10cqh}
.sx-cosmo .s-media{z-index:2;bottom:10cqh}.sx-cosmo .fx-ba{z-index:3}
.sx-cosmo .b-ttl{z-index:1;mix-blend-mode:normal;color:var(--fg)}
.sx-cosmo.rc-keyhole .s-title{font-size:12.5cqw}
.m .fx-rot{left:6cqw;font-size:6.4cqw}
.m.sx-rotator .fx-rot{bottom:45cqh}
.m.sx-cosmo .fx-rot{top:11cqh;font-size:5cqw}
.m .fx-rev{height:5cqh}.m .fx-rev span{font-size:3.4cqw}
.m.sx-cosmo .s-media{bottom:43cqh}.m.sx-cosmo .b-ttl{top:30cqh;z-index:3;color:#fff;text-shadow:0 1cqw 4cqw #0006}
.m.sx-cosmo .b-left{bottom:8cqh}
.sx-rotator .fx-rot{bottom:auto;top:17cqh}
.sx-rotator .marq{background:#0f2a20e0;border-color:#ffffff22}
.m.sx-rotator .fx-rot{bottom:auto;top:16cqh}
.sx-rotator .s-links,.sx-rotator .s-pill{background:#0f2a2059;border-color:#ffffff40;color:#fff}

/* cosmetic v3: name fully readable on the left, centred portrait oval on the right */
.sx-cosmo .s-media{left:54cqw;right:7cqw;top:12cqh;bottom:12cqh;z-index:2;background:#c3c9c7}
.sx-cosmo .s-media video{top:9%;height:91%;object-position:50% 100%;-webkit-mask:linear-gradient(transparent,#000 14%);mask:linear-gradient(transparent,#000 14%)}
.sx-cosmo .fx-ba{left:54cqw;right:7cqw;top:12cqh;bottom:12cqh}
.sx-cosmo .b-ttl{left:4.5cqw;right:auto;top:31cqh;width:48cqw;text-align:left;z-index:4;color:var(--fg)}
.sx-cosmo.rc-keyhole .s-title{font-size:7.6cqw;line-height:.95}
.sx-cosmo .fx-rot{top:20cqh}
.sx-cosmo .b-left{bottom:15cqh;width:40cqw}
.sx-cosmo .b-right{display:none}
.sx-cosmo .spark.s1{left:50cqw;top:16cqh}.sx-cosmo .spark.s2{right:5cqw;top:24cqh}.sx-cosmo .spark.s3{left:55cqw;bottom:14cqh}
.m.sx-cosmo .s-media,.m.sx-cosmo .fx-ba{left:14cqw;right:14cqw;top:17cqh;bottom:47cqh}
.m.sx-cosmo .b-ttl{left:6cqw;right:6cqw;width:auto;top:56cqh;color:var(--fg);text-shadow:none}
.m.sx-cosmo.rc-keyhole .s-title{font-size:12cqw}
.m.sx-cosmo .fx-rot{top:11.5cqh;font-size:4.6cqw}
.m.sx-cosmo .b-left{bottom:8cqh;left:6cqw;right:6cqw;width:auto}
.m.sx-cosmo .b-left .s-kick,.m.sx-cosmo .b-left .s-sub{display:none}
.m .fx-ba .shine{display:none}
.m.sx-cosmo .b-left{bottom:auto;top:70cqh}

/* AI portrait has its own headroom and backdrop */
.sx-cosmo .s-media{background:#e9cfcb}
.sx-cosmo .s-media video{top:0;height:100%;object-position:50% 40%;-webkit-mask:none;mask:none}

/* one clinic film everywhere: keep her face in the oval */
.sx-cosmo .s-media video{object-position:36% 40%}

/* ===== juicy themes (2026-10-18): saturated colour worlds that match the B2Brain look ===== */
.th-tomato{--bg:#ff5b3a;--fg:#1a0905;--mut:#1a0905c7;--ln:#1a090526;--ln2:#1a090566;--df:var(--sans);--dfs:normal;--dw:800;--dtt:uppercase;--dls:-.055em;--card:#ffe4dbe6;--cardb:#1a090526;--btn:#1a0905;--btnc:#ffd84a;--kc:#ffd84a}
.th-plum{--bg:#2b0d3f;--fg:#fff1e3;--mut:#fff1e3b8;--ln:#ffffff22;--ln2:#ffb54799;--card:#3d1757e0;--cardb:#ffb54755;--btn:#ffb547;--btnc:#2b0d3f;--kc:#ffb547}
.th-aqua{--bg:#bff5e8;--fg:#05302a;--mut:#05302abf;--ln:#05302a22;--ln2:#05302a55;--df:var(--sans);--dfs:normal;--dw:700;--dls:-.05em;--card:#ffffffd9;--cardb:#05302a1a;--btn:#ff4f7b;--btnc:#fff;--kc:#ff4f7b}
.th-cobalt{--bg:#2340ff;--fg:#fff;--mut:#ffffffd1;--ln:#ffffff33;--ln2:#ffffff80;--df:var(--sans);--dfs:normal;--dw:700;--dls:-.05em;--card:#ffffff2b;--cardb:#ffffff4d;--btn:#c6ff1a;--btnc:#0d1033;--kc:#c6ff1a}
.th-peach{--bg:#ffd3c4;--fg:#3a0b1d;--mut:#3a0b1dc4;--ln:#3a0b1d1f;--ln2:#3a0b1d4d;--card:#fff1ebe0;--cardb:#3a0b1d1a;--btn:#ff2e7e;--btnc:#fff;--kc:#ff2e7e}
.th-ocean{--bg:#04323b;--fg:#f4fffd;--mut:#f4fffdb8;--ln:#ffffff22;--ln2:#ff8a5c99;--card:#0a4752e0;--cardb:#ff8a5c55;--btn:#ff8a5c;--btnc:#04323b;--kc:#ffb38a}
.th-sunset{--bg:#ffbf9b;--fg:#2a0f3a;--mut:#2a0f3ac4;--ln:#2a0f3a1f;--ln2:#2a0f3a4d;--df:var(--sans);--dfs:normal;--dw:700;--dls:-.05em;--card:#fff0e6e0;--cardb:#2a0f3a1a;--btn:#6a3dff;--btnc:#fff;--kc:#6a3dff}
.th-lilac{--bg:#e4d9ff;--fg:#1d0e3e;--mut:#1d0e3ec4;--ln:#1d0e3e1f;--ln2:#1d0e3e4d;--card:#f6f1ffe0;--cardb:#1d0e3e1a;--btn:#ff3d8b;--btnc:#fff;--kc:#6a3dff}
.th-bubble{--bg:#ff4fa3;--fg:#1f0012;--mut:#1f0012c7;--ln:#1f001226;--ln2:#1f001266;--df:var(--sans);--dfs:normal;--dw:800;--dtt:uppercase;--dls:-.055em;--card:#ffd6eae0;--cardb:#1f001226;--btn:#1f0012;--btnc:#ffe14a;--kc:#ffe14a}
.th-safety{--bg:#ff6a13;--fg:#111;--mut:#111111c4;--ln:#11111126;--ln2:#11111166;--df:var(--sans);--dfs:normal;--dw:800;--dtt:uppercase;--dls:-.055em;--card:#ffd9c2;--cardb:#11111133;--btn:#111;--btnc:#ff6a13;--kc:#111}
.th-emerald{--bg:#04392b;--fg:#f0ffe0;--mut:#f0ffe0b8;--ln:#ffffff22;--ln2:#c6ff1a80;--dfs:normal;--dtt:uppercase;--dls:.02em;--card:#0a4d3be0;--cardb:#c6ff1a40;--btn:#c6ff1a;--btnc:#04392b;--kc:#c6ff1a}
.th-violet{--bg:#24104f;--fg:#fff;--mut:#ffffffbd;--ln:#ffffff26;--ln2:#c6ff1a80;--df:var(--sans);--dfs:normal;--dw:800;--dtt:uppercase;--dls:-.055em;--card:#341a6be0;--cardb:#c6ff1a55;--btn:#c6ff1a;--btnc:#24104f;--kc:#c6ff1a}
.th-lime{--bg:#eaffb8;--fg:#14121f;--mut:#14121fbf;--ln:#14121f1f;--ln2:#14121f4d;--df:var(--sans);--dfs:normal;--dw:700;--dls:-.055em;--card:#ffffffe0;--cardb:#14121f1a;--btn:#6a3dff;--btnc:#fff;--kc:#6a3dff}
.th-electric{--bg:#0a2bff;--fg:#fff;--mut:#ffffffd1;--ln:#ffffff33;--ln2:#ffffff80;--df:var(--sans);--dfs:normal;--dw:800;--dtt:uppercase;--dls:-.055em;--card:#ffffff2b;--cardb:#ffffff4d;--btn:#ff2e63;--btnc:#fff;--kc:#c6ff1a}
/* the colour washes over the film instead of a black shade */
.th-aqua.sx-rotator .s-shade{background:linear-gradient(90deg,var(--bg) 0 30%,color-mix(in srgb,var(--bg) 78%,transparent) 46%,transparent 72%)}
.m.th-aqua.sx-rotator .s-shade{background:linear-gradient(0deg,var(--bg) 0 40%,color-mix(in srgb,var(--bg) 60%,transparent) 55%,transparent 75%)}
.th-tomato .s-media video,.th-cobalt .s-media video,.th-electric .s-media video,.th-bubble .s-media video,.th-sunset .s-media video{filter:saturate(1.25) contrast(1.08)}
.rc-kinetic.th-electric .s-title,.rc-kinetic.th-violet .s-title{font-size:6.6cqw}
.m.rc-kinetic.th-electric .s-title,.m.rc-kinetic.th-violet .s-title{font-size:11cqw}
/* calm care on aqua: dark ink text over the aqua wash, not the old white-on-green */
.th-aqua.sx-rotator .s-nav,.th-aqua.sx-rotator .r-copy,.th-aqua.sx-rotator .s-links,.th-aqua.sx-rotator .fx-rot,.th-aqua.sx-rotator .marq span{color:var(--fg)}
.th-aqua.sx-rotator .s-sub{color:var(--mut)}.th-aqua.sx-rotator .s-btn2{color:var(--fg);border-color:var(--ln2)}
.th-aqua.sx-rotator .s-kick,.th-aqua.sx-rotator .rw b{color:var(--kc)}
/* cinematic juicy themes fade into their own colour instead of black */
.th-plum .s-shade,.th-ocean .s-shade,.th-emerald .s-shade,.th-violet .s-shade{background:linear-gradient(90deg,var(--bg) 0 16%,color-mix(in srgb,var(--bg) 72%,transparent) 40%,transparent 70%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 85%,transparent),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 60%,transparent),transparent 25%)}
.m.th-plum .s-shade,.m.th-ocean .s-shade,.m.th-emerald .s-shade,.m.th-violet .s-shade{background:linear-gradient(0deg,var(--bg) 0 34%,color-mix(in srgb,var(--bg) 60%,transparent) 52%,transparent 74%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 60%,transparent),transparent 22%)}
.th-plum .s-media video,.th-ocean .s-media video,.th-emerald .s-media video,.th-violet .s-media video{filter:saturate(1.2) contrast(1.05)}
/* clinical: confident medical blue with white, no lime */
.th-medblue{--bg:#1f4fff;--fg:#fff;--mut:#ffffffd6;--ln:#ffffff33;--ln2:#ffffff80;--df:var(--sans);--dfs:normal;--dw:600;--dls:-.05em;--card:#ffffff26;--cardb:#ffffff4d;--btn:#fff;--btnc:#1f4fff;--kc:#bfe0ff}
/* calm care: clean solid layout, no glow blob or colour wash */
.rc-arch.th-aqua .c-blob{display:none}
.rc-arch.th-aqua .s-media video{filter:none}
/* dental themes (research-based): warm base, one confident accent, serif identity, real photo, proof chips */
.th-dcream{--bg:#f6f1ea;--fg:#14302c;--mut:#4f625e;--ln:#14302c1f;--ln2:#14302c47;--dfs:normal;--dw:400;--dls:-.025em;--card:#fffffff2;--cardb:#14302c14;--btn:#0f5e57;--btnc:#fff;--kc:#0f5e57}
.th-dnavy{--bg:#f3f6f9;--fg:#0f2440;--mut:#52627a;--ln:#0f24401a;--ln2:#0f244040;--df:var(--sans);--dfs:normal;--dw:600;--dls:-.05em;--card:#ffffff;--cardb:#0f244014;--btn:#0f2440;--btnc:#fff;--kc:#2a7de1}
.th-dforest{--bg:#f4ede4;--fg:#1d3a2e;--mut:#5b6b62;--ln:#1d3a2e1f;--ln2:#1d3a2e47;--dfs:italic;--dw:400;--dls:-.02em;--card:#fffaf3f2;--cardb:#1d3a2e14;--btn:#1d3a2e;--btnc:#f4ede4;--kc:#b08d57}
.rc-arch.th-dcream .c-blob{display:none}
.th-dcream .c-card,.th-dcream .c-rate{box-shadow:0 24px 50px -24px #14302c55}
.th-dnavy .o-t{box-shadow:0 1px 0 #0f244010,0 20px 40px -30px #0f244040}
.th-dforest .fx-rev{background:#1d3a2e;color:#f4ede4}

/* ===== split recipe (award-winning dental pattern): sharp edges, no rounding, no gradients ===== */
.rc-split .sp-film{position:absolute;top:0;bottom:0;left:34cqw;right:0;overflow:hidden}
.rc-split .sp-film .s-media{inset:0}
.rc-split .sp-film video{filter:brightness(.8) contrast(1.05)}
.rc-split .s-nav{justify-content:flex-start}.rc-split .s-links{margin-left:4cqw;color:var(--fg)}.rc-split .s-pill{margin-left:auto;background:#fff;color:#14151d;border-color:#fff}
.rc-split .sp-proof{position:absolute;z-index:4;left:4.5cqw;top:17cqh;display:grid;gap:.6cqh}
.rc-split .sp-proof b{font:400 3cqw/1 var(--serif);color:var(--fg)}.rc-split .sp-proof span{font-size:1cqw;color:var(--mut)}
.rc-split .sp-ttl{position:absolute;z-index:4;left:38cqw;right:3.5cqw;top:30cqh;color:#fff}
.rc-split .s-title{font-size:8.4cqw;line-height:.9;margin-top:0}
.rc-split .sp-l{position:absolute;z-index:4;left:4.5cqw;width:25cqw;bottom:13cqh}
.rc-split .s-sub{max-width:25cqw;font-size:1.25cqw}
.rc-split .s-btn,.rc-split .s-btn2{border-radius:99px}
.rc-split .sp-meta{position:absolute;z-index:4;left:4.5cqw;bottom:4cqh;display:grid;gap:.3cqh;font-size:.95cqw}
.rc-split .sp-meta small{font-size:.85cqw;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.rc-split .sp-meta span{color:var(--fg);font-weight:600}
.rc-split .sp-svc{position:absolute;z-index:4;left:38cqw;right:3.5cqw;bottom:5cqh;display:flex;justify-content:space-between;gap:2cqw;padding-top:1.8cqh;border-top:1px solid #ffffff66;color:#fff;font-size:1.05cqw;font-weight:600}
.th-dgrey{--bg:#eae8e8;--fg:#14151d;--mut:#5a5b63;--ln:#14151d1f;--ln2:#14151d47;--dfs:normal;--dw:400;--dls:-.035em;--card:#ffffff;--cardb:#14151d14;--btn:#14151d;--btnc:#fff;--kc:#14151d}
.th-dgreen{--bg:#031c14;--fg:#e8f0ea;--mut:#aabeaf;--ln:#ffffff1f;--ln2:#aabeaf66;--df:var(--sans);--dfs:normal;--dw:500;--dls:-.035em;--card:#0a2a1f;--cardb:#aabeaf33;--btn:#d6e6da;--btnc:#031c14;--kc:#aabeaf}
/* studio: name sits in the dark panel in a clean sans, film is a framed rectangle */
.th-dgreen.rc-split .sp-film{left:38cqw;top:13cqh;bottom:7cqh;right:4.5cqw}
.th-dgreen.rc-split .sp-film video{filter:none}
.th-dgreen.rc-split .sp-ttl{left:4.5cqw;right:auto;width:30cqw;top:24cqh;color:var(--fg)}
.th-dgreen.rc-split .s-title{font-size:4.6cqw;line-height:1}
.th-dgreen.rc-split .sp-proof{top:auto;bottom:4cqh;left:auto;right:4.5cqw;display:none}
.th-dgreen.rc-split .sp-svc{left:40cqw;right:6.5cqw;bottom:10cqh}
.th-dgreen.rc-split .s-pill{background:transparent;color:var(--fg);border-color:var(--ln2)}
/* clinical: sharp-edged tiles */
.th-dnavy .o-t{border-radius:0}
/* phone */
.m.rc-split .sp-film{left:0;right:0;top:0;bottom:auto;height:56cqh}
.m.rc-split .s-nav{color:#fff}.m.rc-split .s-logo{color:#fff}
.m.rc-split .sp-ttl{left:6cqw;right:6cqw;top:26cqh}.m.rc-split .s-title{font-size:13.5cqw}
.m.rc-split .sp-svc{left:6cqw;right:6cqw;bottom:auto;top:49cqh;font-size:2.5cqw}
.m.rc-split .sp-l{left:6cqw;right:6cqw;width:auto;top:60cqh;bottom:auto}.m.rc-split .s-sub{max-width:none;font-size:3.5cqw}
.m.rc-split .sp-proof{display:none}.m.rc-split .sp-meta{left:6cqw;bottom:3cqh;font-size:2.6cqw}.m.rc-split .sp-meta small{font-size:2.2cqw}
.m.th-dgreen.rc-split .sp-film{left:6cqw;right:6cqw;top:36cqh;height:30cqh}
.m.th-dgreen.rc-split .s-nav,.m.th-dgreen.rc-split .s-logo{color:var(--fg)}
.m.th-dgreen.rc-split .sp-ttl{top:14cqh;width:auto;right:6cqw}.m.th-dgreen.rc-split .s-title{font-size:9cqw}
.m.th-dgreen.rc-split .sp-svc{top:60cqh;left:9cqw;right:9cqw}
.m.th-dgreen.rc-split .sp-l{top:70cqh}
.rc-split .s-links{position:absolute;left:33.5cqw;margin:0;color:#fff}
.th-dgreen.rc-split .s-links{position:static;margin-left:4cqw;color:var(--fg)}
.m.rc-split .s-links{display:none}
.rc-split .burger{margin-left:auto}
