:root{
  --ivory:#F6F0E4; --ivory2:#EEE5D5; --charcoal:#35322B; --soft:#625D53;
  --gold:#9B7337; --terracotta:#C67F5E; --sage:#8E9580; --sand:#C6B49C;
  --ink:#27251F; --line:rgba(53,50,43,.15); --serif:"Italiana","Didot","Bodoni MT",Georgia,serif;
  --sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --max:1400px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased} img{max-width:100%;display:block} a{color:inherit;text-decoration:none} button,input{font:inherit}.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}
.paper-grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.12;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}
.announcement{height:34px;background:var(--charcoal);color:var(--ivory);display:flex;align-items:center;justify-content:center;gap:11px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.announcement span{color:var(--terracotta)}
.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);border-bottom:1px solid var(--line);position:relative;z-index:20;background:rgba(246,240,228,.92);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px}.brand-name{font-family:var(--serif);font-size:29px}.nav{display:flex;align-items:center;gap:29px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.nav a{position:relative}.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:right .3s}.nav a:hover::after{right:0}.nav-cta{border:1px solid var(--charcoal);border-radius:999px;padding:11px 17px}.nav-cta:hover{background:var(--charcoal);color:var(--ivory)}.nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px}.nav-toggle span{display:block;height:1px;background:var(--charcoal);margin:8px}
.section{padding-left:clamp(24px,5vw,80px);padding-right:clamp(24px,5vw,80px)}.eyebrow{margin:0 0 24px;color:var(--gold);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.text-link{display:inline-flex;gap:8px;padding-bottom:4px;border-bottom:1px solid rgba(53,50,43,.35);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 23px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.button-dark{background:var(--charcoal);color:var(--ivory);border:1px solid var(--charcoal)}.button-dark:hover{background:transparent;color:var(--charcoal)}
.hero{min-height:calc(100vh - 124px);display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;padding:clamp(70px,9vh,120px) clamp(24px,5vw,80px) clamp(80px,10vh,140px);position:relative;overflow:hidden}.hero::before{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(155,115,55,.12);border-radius:50%;left:-360px;bottom:-250px}.hero-copy{max-width:780px;position:relative;z-index:2}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(86px,10vw,168px);line-height:.78;letter-spacing:-.05em;margin:0}.hero h1 em{font-style:italic;color:var(--terracotta)}.hero-subhead{font-family:var(--serif);font-size:clamp(42px,5vw,74px);margin:18px 0 0;color:var(--sage);letter-spacing:-.03em}.hero-lede{max-width:650px;font-size:clamp(19px,1.65vw,27px);line-height:1.45;color:var(--soft);margin:34px 0 0}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:42px}
.hero-art{min-height:690px;position:relative;display:grid;place-items:center}.art-frame{width:min(590px,91%);aspect-ratio:.78;border:1px solid rgba(53,50,43,.2);position:relative;display:grid;place-items:center;background:linear-gradient(150deg,rgba(255,255,255,.28),rgba(238,229,213,.16));box-shadow:0 40px 80px rgba(53,50,43,.08)}.art-frame::before{content:"";position:absolute;inset:18px;border:1px solid rgba(155,115,55,.18)}.art-frame::after{content:"";position:absolute;inset:38px;border:1px solid rgba(142,149,128,.14)}.hero-icon{width:60%;position:relative;z-index:4;filter:drop-shadow(0 20px 25px rgba(53,50,43,.05))}.orbit{position:absolute;border-radius:50%;border:1px solid rgba(155,115,55,.26)}.orbit-1{width:72%;aspect-ratio:1}.orbit-2{width:50%;aspect-ratio:1;border-color:rgba(198,127,94,.28)}.orbit-3{width:88%;height:38%;border-radius:50%;transform:rotate(-16deg);border-color:rgba(142,149,128,.32)}.planet{position:absolute;border-radius:50%;z-index:3}.p-sage{width:82px;height:82px;background:var(--sage);right:8%;top:20%}.p-terra{width:58px;height:58px;background:var(--terracotta);left:12%;bottom:20%}.p-gold{width:24px;height:24px;background:var(--gold);right:24%;bottom:10%}.art-label{position:absolute;z-index:5;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}.art-label-top{top:30px;left:42px}.art-label-bottom{bottom:30px;right:42px}.vertical-note{position:absolute;right:-30px;top:50%;transform:translateY(-50%) rotate(90deg);font-size:8px;letter-spacing:.26em;text-transform:uppercase;color:var(--soft)}
.signal-strip{height:98px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;gap:18px;padding:0 4vw;font-family:var(--serif);font-size:clamp(18px,2.2vw,34px);white-space:nowrap;overflow:hidden}.signal-strip i{font-style:normal;color:var(--terracotta);font-size:13px}
.philosophy{padding-top:155px;padding-bottom:165px;display:grid;grid-template-columns:.25fr 1.75fr;gap:6vw;max-width:var(--max);margin:auto}.section-index{display:flex;gap:18px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding-top:10px}.section-index span{color:var(--gold)}.section-index p{margin:0}.philosophy-main{max-width:1120px}.statement{font-family:var(--serif);font-size:clamp(52px,6.3vw,98px);line-height:1.02;letter-spacing:-.035em;margin:0}.statement.accent{color:var(--terracotta);margin-top:7px}.philosophy-grid{margin-top:72px;padding-top:34px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.philosophy-grid p{margin:0;color:var(--soft);font-size:15px;line-height:1.78}
.lenses{display:grid;grid-template-columns:1fr 1fr}.lens{min-height:820px;padding:48px clamp(35px,6vw,95px) 68px;display:flex;flex-direction:column;position:relative;overflow:hidden}.lens-hd{background:var(--sage);color:#20241F}.lens-tcm{background:var(--terracotta);color:#30221E}.lens-meta{display:flex;justify-content:space-between;border-bottom:1px solid currentColor;padding-bottom:14px;opacity:.7;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.lens-visual{position:absolute;inset:90px 10% 260px;display:grid;place-items:center}.hd-ring{position:absolute;border:1px solid rgba(32,36,31,.38);border-radius:50%}.hd-ring.one{width:320px;height:320px}.hd-ring.two{width:470px;height:180px;transform:rotate(24deg)}.hd-ring.three{width:470px;height:180px;transform:rotate(-24deg)}.hd-axis{width:1px;height:420px;background:rgba(32,36,31,.42);position:absolute}.hd-dot{position:absolute;border-radius:50%;background:#F6F0E4}.d1{width:24px;height:24px;top:23%;left:35%}.d2{width:48px;height:48px;right:25%;bottom:26%;background:#C67F5E}.d3{width:14px;height:14px;left:31%;bottom:19%;background:#9B7337}.tcm-visual{transform:rotate(-8deg)}.petal{position:absolute;width:220px;height:120px;border-radius:50%;border:1px solid rgba(48,34,30,.42);transform-origin:center}.wood-petal{transform:translateY(-105px) rotate(0deg)}.fire-petal{transform:translate(110px,-15px) rotate(72deg)}.earth-petal{transform:translate(65px,105px) rotate(144deg)}.metal-petal{transform:translate(-65px,105px) rotate(216deg)}.water-petal{transform:translate(-110px,-15px) rotate(288deg)}.tcm-center{font-family:var(--serif);font-size:68px;position:absolute}.lens-copy{margin-top:auto;position:relative;z-index:3;max-width:640px}.lens h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5vw,79px);line-height:1.02;letter-spacing:-.03em;margin:0 0 30px}.lens p{font-size:16px;line-height:1.72;max-width:610px;margin:0;opacity:.78}
.method{padding-top:160px;padding-bottom:165px;background:var(--charcoal);color:var(--ivory)}.method-heading{max-width:1050px;margin:0 auto 86px;text-align:center}.method-heading .eyebrow{color:var(--sand)}.method-heading h2{font-family:var(--serif);font-size:clamp(58px,7vw,106px);font-weight:400;letter-spacing:-.04em;line-height:.98;margin:0}.method-heading>p:last-child{max-width:620px;margin:28px auto 0;color:rgba(246,240,228,.68);font-size:17px;line-height:1.7}.method-flow{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(5,1fr);position:relative}.method-flow::before{content:"";position:absolute;left:8%;right:8%;top:76px;height:1px;background:rgba(246,240,228,.2)}.method-flow article{position:relative;text-align:center;padding:0 22px}.method-flow article>span{font-size:9px;letter-spacing:.18em;color:var(--terracotta)}.step-orb{width:50px;height:50px;border-radius:50%;border:1px solid rgba(246,240,228,.45);background:var(--charcoal);margin:32px auto 50px;position:relative;z-index:2}.method-flow article:nth-child(2) .step-orb{background:var(--sage)}.method-flow article:nth-child(3) .step-orb{background:var(--terracotta)}.method-flow article:nth-child(4) .step-orb{background:var(--sand)}.method-flow article:nth-child(5) .step-orb{background:var(--gold)}.method-flow h3{font-family:var(--serif);font-size:39px;font-weight:400;margin:0 0 16px}.method-flow p{margin:0;color:rgba(246,240,228,.62);font-size:13px;line-height:1.65}
.elements{padding-top:160px;padding-bottom:170px}.elements-intro{display:grid;grid-template-columns:1.2fr 1fr;column-gap:8vw;align-items:end;margin:0 auto 72px;max-width:var(--max)}.elements-intro .eyebrow{grid-column:1/-1}.elements-intro h2{font-family:var(--serif);font-size:clamp(62px,7vw,108px);font-weight:400;line-height:.95;letter-spacing:-.04em;margin:0}.elements-intro>p:last-child{max-width:530px;font-size:17px;line-height:1.75;color:var(--soft);margin:0 0 8px}.elements-gallery{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.element-card{min-height:590px;border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s,box-shadow .35s}.element-card:hover{transform:translateY(-8px);box-shadow:0 24px 45px rgba(53,50,43,.08)}.element-art{height:300px;position:relative;overflow:hidden;display:grid;place-items:center}.element-art::before,.element-art::after,.element-art span{content:"";position:absolute}.wood .element-art{background:#D7D9CB}.wood .element-art::before{width:1px;height:210px;background:var(--charcoal);bottom:20px}.wood .element-art::after{width:140px;height:140px;border:1px solid var(--charcoal);border-radius:50% 50% 0 50%;transform:rotate(45deg);top:54px}.fire .element-art{background:#E6B29B}.fire .element-art::before{width:150px;height:210px;background:var(--terracotta);clip-path:polygon(50% 0,100% 64%,72% 100%,50% 74%,27% 100%,0 64%);filter:saturate(.7)}.fire .element-art::after{width:82px;height:120px;background:var(--ivory);clip-path:polygon(50% 0,100% 65%,67% 100%,50% 80%,32% 100%,0 65%);bottom:46px}.earth .element-art{background:#DED1BE}.earth .element-art::before{width:175px;height:175px;background:var(--sand);border-radius:50%}.earth .element-art::after{width:90px;height:90px;background:var(--ivory);border-radius:50%}.metal .element-art{background:#E7E3DA}.metal .element-art::before{width:185px;height:185px;border:1px solid var(--charcoal);border-radius:50%}.metal .element-art::after{width:1px;height:250px;background:var(--charcoal);transform:rotate(42deg)}.water .element-art{background:#C8CBC3}.water .element-art::before{width:180px;height:210px;border-radius:48% 52% 55% 45%;background:var(--sage);clip-path:polygon(50% 0,92% 54%,75% 100%,25% 100%,8% 54%)}.element-card>div:last-child{padding:22px 12px 16px}.element-card>div:last-child>p:first-child{font-size:9px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}.element-card h3{font-family:var(--serif);font-size:52px;font-weight:400;margin:8px 0 2px}.element-card h4{font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px}.element-card>div:last-child>p:last-child{font-size:12px;line-height:1.6;color:var(--soft);margin:0}
.quote-break{min-height:600px;background:var(--gold);color:#FFF7EA;display:grid;place-items:center;text-align:center;padding:80px 25px;position:relative;overflow:hidden}.quote-break::before,.quote-break::after{content:"";position:absolute;border:1px solid rgba(255,247,234,.2);border-radius:50%}.quote-break::before{width:620px;height:620px}.quote-break::after{width:410px;height:410px}.quote-mark{position:absolute;top:70px;font-family:var(--serif);font-size:180px;opacity:.2}.quote-break blockquote{position:relative;z-index:2;font-family:var(--serif);font-size:clamp(49px,6vw,90px);line-height:1.05;letter-spacing:-.03em;margin:0}.quote-break blockquote em{color:#E9CDB3}.quote-break>p{position:absolute;bottom:65px;z-index:2;font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.75}
.about{padding-top:150px;padding-bottom:150px;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center;max-width:var(--max);margin:auto}.about-portrait{display:grid;place-items:center}.portrait-card{width:min(500px,100%);aspect-ratio:.78;border:1px solid var(--line);position:relative;display:grid;place-items:center;background:var(--ivory2);overflow:hidden}.portrait-card::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;border:1px solid rgba(155,115,55,.22);top:80px}.portrait-ring{position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid rgba(198,127,94,.25);top:150px}.portrait-card img{width:66%;z-index:3}.portrait-caption{position:absolute;left:26px;right:26px;bottom:24px;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.about-copy h2{font-family:var(--serif);font-size:clamp(52px,5.8vw,88px);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:0 0 40px}.about-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--soft);max-width:680px}.about-copy em{font-family:var(--serif);font-size:1.15em;color:var(--charcoal)}.about-copy .text-link{margin-top:22px}
.journal{padding-top:155px;padding-bottom:165px;border-top:1px solid var(--line)}.journal-heading{max-width:var(--max);margin:0 auto 70px}.journal-heading h2{font-family:var(--serif);font-size:clamp(62px,7vw,108px);font-weight:400;line-height:.95;letter-spacing:-.04em;margin:0}.journal-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:18px}.journal-card{border:1px solid var(--line);padding:18px;min-height:590px;display:flex;flex-direction:column}.journal-art{height:250px;margin-bottom:28px;position:relative;overflow:hidden;background:var(--ivory2)}.journal-art span{position:absolute}.j1{background:#DDD8C9}.j1::before{content:"";position:absolute;width:240px;height:240px;border:1px solid var(--charcoal);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.j1::after{content:"";position:absolute;width:1px;height:100%;background:var(--charcoal);left:50%}.j1 span{width:70px;height:70px;border-radius:50%;background:var(--terracotta);left:calc(50% - 35px);top:calc(50% - 35px)}.j2{background:#C9CEC0}.j2::before{content:"";position:absolute;width:180px;height:180px;border:1px solid var(--charcoal);border-radius:50% 50% 0 50%;transform:rotate(45deg);left:50%;top:45%;margin:-90px}.j2 span{width:22px;height:22px;background:var(--gold);border-radius:50%;left:calc(50% - 11px);top:calc(45% - 11px)}.j3{background:#E4B39E}.j3::before,.j3::after{content:"";position:absolute;width:220px;height:90px;border:1px solid var(--charcoal);border-radius:50%;left:50%;top:50%;margin:-45px -110px}.j3::after{transform:rotate(90deg)}.journal-type{font-size:9px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin:0 0 20px}.journal-card h3{font-family:var(--serif);font-size:clamp(34px,3vw,48px);line-height:1.07;font-weight:400;margin:0 0 18px}.journal-card>p:not(.journal-type){font-size:13px;line-height:1.7;color:var(--soft);margin:0}.coming{margin-top:auto;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);padding-top:35px}
.join{min-height:650px;background:var(--terracotta);color:#2D211D;padding:90px clamp(24px,6vw,95px);display:grid;grid-template-columns:.7fr 1.1fr 1fr;gap:5vw;align-items:center}.join-symbol{display:grid;place-items:center}.join-symbol img{width:min(320px,80%);mix-blend-mode:multiply;opacity:.82}.join .eyebrow{color:#6F4737}.join h2{font-family:var(--serif);font-size:clamp(58px,7vw,105px);line-height:.94;font-weight:400;letter-spacing:-.04em;margin:0 0 28px}.join-copy>p:last-child{font-size:16px;line-height:1.7;max-width:520px}.signup-form{align-self:end;margin-bottom:45px}.input-row{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid rgba(45,33,29,.65)}.input-row input{border:0;outline:0;background:transparent;padding:20px 0;color:#2D211D;font-size:17px}.input-row input::placeholder{color:rgba(45,33,29,.58)}.input-row button{border:0;background:transparent;cursor:pointer;text-transform:uppercase;letter-spacing:.13em;font-size:10px;padding-left:20px;color:#2D211D}.form-note{font-size:10px;line-height:1.6;opacity:.63;margin-top:14px}
.site-footer{padding-top:65px;padding-bottom:38px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}.footer-brand{display:flex;gap:16px;align-items:center}.footer-brand img{width:64px;height:64px}.footer-brand p{margin:3px 0;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}.footer-brand .footer-name{font-family:var(--serif);font-size:31px;letter-spacing:0;text-transform:none;color:var(--charcoal)}.footer-links{display:flex;justify-content:flex-end;gap:28px;flex-wrap:wrap;padding-top:19px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.footer-legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:10px;line-height:1.6;color:var(--soft);max-width:760px;margin-top:10px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-art{min-height:600px}.philosophy{grid-template-columns:1fr}.philosophy-grid{grid-template-columns:1fr 1fr}.lenses{grid-template-columns:1fr}.method-flow{grid-template-columns:repeat(2,1fr);gap:55px 10px}.method-flow::before{display:none}.method-flow article:last-child{grid-column:1/-1}.elements-gallery{grid-template-columns:repeat(2,1fr)}.element-card:last-child{grid-column:1/-1;width:50%;justify-self:center}.about{grid-template-columns:1fr}.journal-grid{grid-template-columns:1fr 1fr}.journal-feature{grid-column:1/-1}.join{grid-template-columns:.65fr 1.2fr}.signup-form{grid-column:1/-1;margin-bottom:0;max-width:760px}.join-symbol{align-self:start}}
@media(max-width:760px){.announcement{font-size:7px;height:30px}.site-header{height:76px}.brand-mark{width:34px;height:34px}.brand-name{font-size:24px}.nav-toggle{display:block;position:relative;z-index:50}.nav{position:absolute;left:0;right:0;top:76px;background:var(--ivory);border-bottom:1px solid var(--line);padding:28px 24px 32px;flex-direction:column;align-items:flex-start;gap:22px;transform:translateY(-140%);transition:transform .3s;z-index:40}.nav.open{transform:none}.hero{padding-top:72px}.hero h1{font-size:clamp(75px,24vw,112px)}.hero-subhead{font-size:44px}.hero-art{min-height:490px}.art-frame{width:90%}.vertical-note{display:none}.signal-strip{height:72px;justify-content:flex-start;gap:25px;font-size:22px}.philosophy{padding-top:100px;padding-bottom:105px}.statement{font-size:52px}.philosophy-grid{grid-template-columns:1fr;margin-top:50px}.lens{min-height:680px;padding:38px 28px 52px}.lens-visual{inset:80px 6% 260px;transform:scale(.8)}.method{padding-top:105px;padding-bottom:110px}.method-flow{grid-template-columns:1fr}.method-flow article:last-child{grid-column:auto}.elements{padding-top:105px;padding-bottom:110px}.elements-intro{grid-template-columns:1fr;gap:28px}.elements-gallery{grid-template-columns:1fr}.element-card,.element-card:last-child{grid-column:auto;width:100%;min-height:520px}.quote-break{min-height:530px}.about{padding-top:105px;padding-bottom:105px}.journal{padding-top:105px;padding-bottom:110px}.journal-grid{grid-template-columns:1fr}.journal-feature{grid-column:auto}.journal-card{min-height:520px}.join{grid-template-columns:1fr;min-height:auto;padding:80px 28px}.join-symbol{display:none}.signup-form{grid-column:auto}.input-row{grid-template-columns:1fr}.input-row button{text-align:left;padding:10px 0 18px}.site-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-legal{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* --- TCM panel refresh: only this section changed --- */
.lens-tcm .tcm-visual{
  transform:none;
  inset:70px 7% 248px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lens-tcm .tcm-svg{
  width:min(100%, 560px);
  height:auto;
  overflow:visible;
  filter:drop-shadow(0 18px 40px rgba(48,34,30,.16));
}
.lens-tcm .lens-copy{
  max-width:660px;
}
.lens-tcm .lens-copy p{
  max-width:580px;
}


/* v5: corrected five-element ordering and colors only for the TCM panel */
.lens-tcm .tcm-visual { transform:none; inset:70px 7% 248px; display:flex; align-items:center; justify-content:center; }
.lens-tcm .tcm-svg { width:min(100%, 560px); height:auto; overflow:visible; filter:drop-shadow(0 18px 40px rgba(48,34,30,.16)); }


/* v6: add only the small labeled key under the Five Elements wheel */
.tcm-key{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  width:min(86%, 620px);
  text-align:center;
  font-size:11px;
  line-height:1.55;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(246,240,228,.88);
  z-index:4;
}
@media (max-width: 960px){
  .tcm-key{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:100%;
    margin-top:18px;
    padding:0 12px;
  }
  .lens-tcm .tcm-visual{
    inset:70px 7% 220px;
  }
}


/* v7: refresh only the Five Elements card iconography + align colors to TCM colors */
.wood .element-art{
  background:#D9E2D0;
}
.wood .element-art::before{
  width:7px;
  height:205px;
  background:#5E7B4D;
  border-radius:999px;
  bottom:20px;
}
.wood .element-art::after{
  width:146px;
  height:146px;
  border:2px solid #5E7B4D;
  border-radius:50% 50% 0 50%;
  transform:rotate(45deg);
  top:54px;
}
.wood .element-art span{
  width:12px;
  height:12px;
  background:#5E7B4D;
  border-radius:50%;
  top:54px;
  left:50%;
  transform:translateX(-50%);
}

.fire .element-art{
  background:#EBC6BE;
}
.fire .element-art::before{
  width:154px;
  height:212px;
  background:#B6443B;
  clip-path:polygon(50% 0,100% 64%,72% 100%,50% 74%,27% 100%,0 64%);
}
.fire .element-art::after{
  width:84px;
  height:122px;
  background:#F6F0E4;
  clip-path:polygon(50% 0,100% 65%,67% 100%,50% 80%,32% 100%,0 65%);
  bottom:46px;
}
.fire .element-art span{
  width:10px;
  height:10px;
  background:#B6443B;
  border-radius:50%;
  bottom:34px;
}

.earth .element-art{
  background:#E7DBC0;
}
.earth .element-art::before{
  width:176px;
  height:176px;
  background:#C5A55B;
  border-radius:50%;
}
.earth .element-art::after{
  width:90px;
  height:90px;
  background:#F6F0E4;
  border-radius:50%;
}
.earth .element-art span{
  width:214px;
  height:214px;
  border:1.5px solid rgba(155,115,55,.28);
  border-radius:50%;
}

.metal .element-art{
  background:#DAD9D3;
}
.metal .element-art::before{
  width:154px;
  height:154px;
  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;
  box-shadow:0 0 0 18px rgba(255,255,255,.18);
}
.metal .element-art::after{
  width:214px;
  height:214px;
  border:1.5px solid rgba(255,255,255,.44);
  border-radius:50%;
}
.metal .element-art span{
  width:48px;
  height:48px;
  background:#FBFAF7;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.78);
}

.water .element-art{
  background:#2F342E;
}
.water .element-art::before{
  width:180px;
  height:60px;
  border-top:4px solid #F6F0E4;
  border-radius:55% 55% 0 0;
  top:108px;
  left:50%;
  transform:translateX(-50%);
}
.water .element-art::after{
  width:210px;
  height:74px;
  border-bottom:4px solid #F6F0E4;
  border-radius:0 0 60% 60%;
  top:162px;
  left:50%;
  transform:translateX(-50%);
}
.water .element-art span{
  width:130px;
  height:44px;
  border-top:4px solid rgba(246,240,228,.72);
  border-radius:55% 55% 0 0;
  top:226px;
  left:50%;
  transform:translateX(-50%);
}

.element-card.wood h3,.element-card.wood h4{color:#4D6842}
.element-card.fire h3,.element-card.fire h4{color:#8F332C}
.element-card.earth h3,.element-card.earth h4{color:#8E6D2D}
.element-card.metal h3,.element-card.metal h4{color:#6F6D67}
.element-card.water h3,.element-card.water h4{color:#242924}


/* v8: refine only the Metal element card icon to feel more angular and sharp */
.metal .element-art{
  background:#DAD9D3;
}
.metal .element-art::before{
  width:190px;
  height:190px;
  background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,255,255,.35));
  clip-path:polygon(50% 2%, 82% 18%, 98% 50%, 82% 82%, 50% 98%, 18% 82%, 2% 50%, 18% 18%);
  box-shadow:0 0 0 2px rgba(255,255,255,.92) inset;
}
.metal .element-art::after{
  width:112px;
  height:112px;
  border:2px solid rgba(255,255,255,.92);
  clip-path:polygon(50% 2%, 82% 18%, 98% 50%, 82% 82%, 50% 98%, 18% 82%, 2% 50%, 18% 18%);
  background:transparent;
}
.metal .element-art span{
  width:170px;
  height:2px;
  background:rgba(255,255,255,.95);
  transform:rotate(-45deg);
  box-shadow:0 0 0 1px rgba(255,255,255,.12);
}


/* v10 — structural no-overlap fix for Five Elements lens ONLY */
.lens-tcm{
  min-height:900px;
}

/* Put the wheel in normal document flow instead of floating over the copy */
.lens-tcm .tcm-visual{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  width:100%;
  height:auto;
  min-height:360px;
  margin:46px auto 34px;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  place-items:unset !important;
  flex:0 0 auto;
}

/* Keep the wheel elegant but compact enough for the text below */
.lens-tcm .tcm-svg{
  display:block;
  width:min(100%, 330px) !important;
  height:auto !important;
  flex:0 0 auto;
  overflow:visible;
  filter:drop-shadow(0 14px 30px rgba(48,34,30,.12));
}

/* Put the explanatory key BELOW the wheel, never over the heading */
.lens-tcm .tcm-key{
  position:static !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:680px;
  margin:18px auto 0 !important;
  padding:0 12px;
  text-align:center;
  font-size:10px;
  line-height:1.55;
  letter-spacing:.07em;
  white-space:normal;
  color:rgba(246,240,228,.90);
}

/* Copy now follows the graphic naturally */
.lens-tcm .lens-copy{
  margin-top:0 !important;
  position:relative;
  z-index:3;
  max-width:680px;
  padding-top:0;
}

.lens-tcm .lens-copy h2{
  margin-top:0;
  margin-bottom:28px;
}

@media (max-width: 960px){
  .lens-tcm{
    min-height:auto;
  }
  .lens-tcm .tcm-visual{
    min-height:0;
    margin:38px auto 34px;
  }
  .lens-tcm .tcm-svg{
    width:min(82vw, 330px) !important;
  }
  .lens-tcm .tcm-key{
    font-size:9px;
  }
}
