/* ============================================
   CM Homepage v11 — Personal Identity Hub
   Christopher Millson — christophermillson.com
   Version: 4.0.0
   v2.3.0: F15 visual warmth — warmer card borders, gold name
           underline, refined avatar ring, header spacing.
   v2.2.0: Ecosystem bar polish (muted default, gold hover),
           avatar idle breathing pulse, reduced-motion respect.
   v3.0.0: Premium identity hub overhaul — announcement strip,
           status badge, expertise tags, credential bar, featured
           spotlight card, mini SoundCloud embed, methodology
           section, share button, scroll reveal, card sub-tags,
           GitHub social link, enhanced animations, glass morphism,
           gradient mesh background, refined typography hierarchy.
   v3.1.0: Animated radar background canvas (6-point polygon w/
           pulsing gold/orange glow). Ecosystem card copy expanded.
   v3.2.0: Brand-tinted card backgrounds (blue CMP, orange SLC,
           purple DW) — subtle gradient hue in resting state.
   v3.3.0: Methodology upgrade — individual step cards with hover lift,
           gold badge numbers, chevron connectors, detail text styling.
   v3.5.0: Wabi-Sabi card hover glow, section separator before Now Playing.
   v4.0.0: System status strip (glowing stats, green pulse), micro-credential
           proof points bar, dark mode toggle (charcoal + gold), status badge
           as mailto CTA.
   v4.1.0: S161 mobile premium — fluid typography (clamp() on h1/bio/p),
           branded ::selection, scroll-margin for anchor links, print
           stylesheet, reduced-data iframe deferral.
   v4.1.1: S162 polish — text-wrap balance on h1 + pretty on bio,
           tabular-nums on proof bar numbers.
   v4.2.0: S164 mobile polish round 2 — carousel swipe hint (edge fade
           gradients), scroll-to-top button (fixed, backdrop blur, dark mode),
           card tap ripple flash (touch devices), enhanced input focus glow
           (branded ring), typography refinements (line-height/letter-spacing),
           proof bar mobile readability (gap/padding/font-size).
   ============================================ */

/* ===== HIDE THEME CHROME ===== */
.site-header,.entry-header,.site-footer,#wrapper>header,header.banner,footer.content-info,
.wp-site-blocks>header,.wp-site-blocks>footer,.kt-inside-inner-wrap>header,.kadence-pro-mega-menu,
.site-header-wrap,.site-above-header-wrap,.site-main-header-wrap,.site-below-header-wrap,
.site-footer-wrap,.footer-widget-area,.site-bottom-footer-wrap,#colophon,.wah_container_outer,
[class*="header-desktop"],[class*="header-mobile"],.site-top-header-wrap{display:none!important;}
#wrapper,.site,.wp-site-blocks{display:none!important;}
#mobile-drawer,.popup-drawer{display:none!important;}
body{padding-top:0!important;margin-top:0!important;}
.site,.site-container,.content-area,.entry-content-wrap,.entry-content,article.page,
#inner-wrap,.site-inner,.site-main,main#main,.content-wrap{padding:0!important;margin:0 auto!important;max-width:100%!important;}
html{margin-top:0!important;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px;color-scheme:light;scrollbar-gutter:stable;overscroll-behavior:none;scrollbar-width:thin;scrollbar-color:var(--lt-gold) var(--lt-bg);interpolate-size:allow-keywords;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
a,button,input,select,textarea,.btn,.cm-card,.cm-social-link,.cm-methodology-step{touch-action:manipulation;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
img,video,iframe,embed,object{max-width:100%;height:auto;}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent;}

/* ===== §0. REGISTERED CUSTOM PROPERTIES ===== */
@property --lt-gold{syntax:"<color>";inherits:true;initial-value:#BD9A2A;}
@property --lt-gold-dim{syntax:"<color>";inherits:true;initial-value:#9E7E1D;}

/* ===== §1. DESIGN TOKENS ===== */
:root{
  /* Backgrounds */
  --lt-bg:#F8F7F4;
  --lt-bg-warm:#FAF9F6;
  --lt-card:#FFFFFF;
  --lt-card-hover:#FDFCFA;
  --lt-glass:rgba(255,255,255,0.72);
  --lt-glass-border:rgba(255,255,255,0.50);

  /* Text */
  --lt-text:#18181B;
  --lt-text-sec:#52524E;
  --lt-text-muted:#6E6E6A;
  --lt-text-faint:#A8A8A4;
  --lt-border:#E2E0DA;
  --lt-border-h:#CBC9C2;

  /* Gold accent */
  --lt-gold:#B8942A;
  --lt-gold-rich:#A6850F;
  --lt-gold-glow:rgba(184,148,42,0.18);
  --lt-gold-s:rgba(184,148,42,0.07);

  /* Brand colors */
  --lt-cmp:#2A5B8A;
  --lt-cmp-glow:rgba(42,91,138,0.20);
  --lt-cmp-s:rgba(42,91,138,0.07);
  --lt-orange:#A85D10;
  --lt-orange-glow:rgba(168,93,16,0.22);
  --lt-orange-s:rgba(168,93,16,0.07);
  --lt-purple:#7B5EA7;
  --lt-purple-glow:rgba(123,94,167,0.20);
  --lt-purple-s:rgba(123,94,167,0.07);

  /* Status */
  --lt-green:#22C55E;
  --lt-green-glow:rgba(34,197,94,0.20);

  /* Typography */
  --lt-serif:'Cormorant Garamond',Georgia,serif;
  --lt-sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;

  /* Geometry */
  --lt-radius:14px;
  --lt-radius-sm:10px;
  --lt-radius-xs:6px;

  /* Shadows */
  --lt-card-shadow:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.02);
  --lt-card-shadow-h:0 8px 30px rgba(0,0,0,0.08),0 2px 8px rgba(0,0,0,0.04);
  --lt-shadow-xl:0 20px 50px rgba(0,0,0,0.10),0 8px 20px rgba(0,0,0,0.05);

  /* Motion */
  --lt-ease:cubic-bezier(0.22,1,0.36,1);
  --lt-ease-spring:cubic-bezier(0.34,1.56,0.64,1);
}

/* ===== §2. BASE ===== */
html{scroll-behavior:smooth;background:var(--lt-bg)!important;color-scheme:light;scrollbar-gutter:stable;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  font-family:var(--lt-sans)!important;
  background:var(--lt-bg)!important;
  color:var(--lt-text)!important;
  font-size:16px!important;
  line-height:1.7!important;
  min-height:100vh!important;min-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
  font-size-adjust:0.52;
  position:relative;
}
/* Ambient gradient mesh behind everything */
body::before{
  content:'';
  position:fixed;
  inset:0;
  background:
    radial-gradient(ellipse at 20% 0%,rgba(184,148,42,0.04) 0%,transparent 50%),
    radial-gradient(ellipse at 80% 20%,rgba(42,91,138,0.025) 0%,transparent 40%),
    radial-gradient(ellipse at 50% 80%,rgba(168,93,16,0.02) 0%,transparent 50%);
  pointer-events:none;
  z-index:0;
}

/* ===== §3. ANNOUNCEMENT STRIP ===== */
.cm-announce{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:11px 24px;
  background:linear-gradient(135deg,#1a1a1f 0%,#252528 100%);
  color:rgba(255,255,255,0.85);
  font-size:14px;
  font-family:var(--lt-sans);
  letter-spacing:0.2px;
  position:relative;
  z-index:10;
  overflow:hidden;
}
.cm-announce::before{
  content:'';
  position:absolute;
  top:0;left:-100%;
  width:200%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(184,148,42,0.06),transparent);
  animation:cmAnnounceShimmer 6s ease-in-out infinite;
}
@keyframes cmAnnounceShimmer{
  0%,100%{transform:translateX(-25%);}
  50%{transform:translateX(25%);}
}
.cm-announce-dot{
  width:6px;height:6px;
  background:var(--lt-green);
  border-radius:50%;
  box-shadow:0 0 6px var(--lt-green-glow);
  animation:cmDotPulse 2s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes cmDotPulse{
  0%,100%{opacity:1;box-shadow:0 0 6px var(--lt-green-glow);}
  50%{opacity:0.6;box-shadow:0 0 12px var(--lt-green-glow);}
}
.cm-announce-text{font-weight:400;}
.cm-announce-cta{
  color:rgba(184,148,42,0.9)!important;
  text-decoration:none!important;
  font-weight:600;
  margin-left:4px;
  transition:color 0.3s;
}
.cm-announce-cta:hover{color:#d4b84a!important;}

/* ===== §4. LAYOUT ===== */
.cm-lt-main{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:60px 32px 40px;
  min-height:100vh;min-height:100dvh;
  position:relative;
  z-index:1;
}
.cm-lt-wrapper{max-width:600px;width:100%;position:relative;z-index:1;}

/* ===== §5. HEADER ===== */
.cm-lt-header{text-align:center;margin-bottom:36px;opacity:0;animation:cmltFade 0.8s 0.1s forwards;}

.cm-lt-avatar{
  width:100px;height:100px;border-radius:50%;margin:0 auto 24px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--lt-serif);font-size:36px;font-weight:500;
  color:var(--lt-gold);
  background:linear-gradient(135deg,rgba(184,148,42,0.06),rgba(184,148,42,0.14));
  border:1.5px solid rgba(184,148,42,0.22);
  letter-spacing:1px;
  box-shadow:0 0 0 6px rgba(184,148,42,0.05),0 4px 20px rgba(184,148,42,0.06);
  transition:box-shadow 0.4s,transform 0.4s;
  animation:cmAvatarPulse 4s ease-in-out infinite;
}
.cm-lt-avatar:hover{
  box-shadow:0 0 0 8px rgba(184,148,42,0.08),0 0 24px rgba(184,148,42,0.10);
  transform:scale(1.03);
  animation:none;
}
@keyframes cmAvatarPulse{
  0%,100%{box-shadow:0 0 0 6px rgba(184,148,42,0.05),0 4px 20px rgba(184,148,42,0.06);}
  50%{box-shadow:0 0 0 8px rgba(184,148,42,0.08),0 4px 24px rgba(184,148,42,0.10);}
}

.cm-lt-header h1{
  font-family:var(--lt-serif)!important;
  font-size:clamp(26px, 6vw, 42px)!important;
  font-weight:500!important;
  color:var(--lt-text)!important;
  letter-spacing:0.3px!important;
  margin-bottom:10px!important;
  line-height:1.2!important;
  position:relative;
  display:inline-block;
  text-wrap:balance;
}
.cm-lt-header h1::after{
  content:'';
  position:absolute;
  bottom:-4px;left:50%;
  transform:translateX(-50%);
  width:120px;height:2px;
  background:linear-gradient(90deg,transparent,var(--lt-gold),transparent);
  opacity:0.6;
}

/* Role label */
.cm-lt-role{
  font-family:var(--lt-sans)!important;
  font-size:13px!important;
  letter-spacing:2.5px!important;
  text-transform:uppercase;
  color:var(--lt-gold)!important;
  margin-bottom:12px!important;
  font-weight:500;
}

/* Status badge */
.cm-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 16px;
  background:rgba(34,197,94,0.06);
  border:1px solid rgba(34,197,94,0.15);
  border-radius:20px;
  margin-bottom:18px;
  text-decoration:none!important;
  cursor:pointer;
  transition:all 0.3s var(--lt-ease);
}
.cm-status:hover{
  background:rgba(34,197,94,0.12);
  border-color:rgba(34,197,94,0.30);
  box-shadow:0 0 16px rgba(34,197,94,0.15);
  transform:translateY(-1px);
}
.cm-status-dot{
  width:7px;height:7px;
  background:var(--lt-green);
  border-radius:50%;
  box-shadow:0 0 6px var(--lt-green-glow);
  animation:cmDotPulse 2s ease-in-out infinite;
}
.cm-status-text{
  font-size:13px;
  color:#16a34a;
  font-weight:500;
  letter-spacing:0.3px;
}

/* Bio */
.cm-lt-bio{
  font-size:clamp(14px, 2.5vw, 16px)!important;
  color:var(--lt-text-sec)!important;
  max-width:500px;
  margin:0 auto!important;
  line-height:1.8!important;
  letter-spacing:0.15px;
  text-wrap:pretty;
}
.cm-lt-header p{
  font-size:clamp(15px, 2.8vw, 17px)!important;
  color:var(--lt-text-sec)!important;
  max-width:420px;
  margin:0 auto!important;
  line-height:1.75!important;
  letter-spacing:0.1px;
}

/* ===== §6. EXPERTISE TAGS ===== */
.cm-tags{
  margin-bottom:28px;
  opacity:0;
  transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-tags.cm-revealed{opacity:1;transform:translateY(0);}
.cm-tags-label{
  font-size:11.5px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--lt-text-muted);
  margin-bottom:12px;
  font-weight:600;
  text-align:center;
}
.cm-tags-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}

.cm-tag{
  font-size:13px;
  font-weight:500;
  letter-spacing:0.5px;
  color:var(--lt-text-sec);
  padding:7px 16px;
  background:var(--lt-card);
  border:1px solid var(--lt-border);
  border-radius:20px;
  transition:all 0.3s var(--lt-ease);
  cursor:pointer;
  text-decoration:none!important;
}
.cm-tag:hover{
  color:var(--lt-gold);
  border-color:rgba(184,148,42,0.3);
  background:var(--lt-gold-s);
  box-shadow:0 2px 12px rgba(184,148,42,0.08);
  transform:translateY(-1px);
}

/* ===== §6.5. PHILOSOPHY BLOCK ===== */
.cm-philosophy{
  margin-bottom:32px;
  padding:44px 24px 24px 24px;
  background:var(--lt-card);
  border:1px solid var(--lt-border);
  border-radius:16px;
  border-top:2px solid var(--lt-gold);
  box-shadow:var(--lt-card-shadow);
  opacity:0;
  transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease),box-shadow 0.35s ease,border-color 0.35s ease,background 0.35s ease;
}
.cm-philosophy{
  position:relative;
  overflow:hidden;
}
/* Kintsugi crack — inline SVG with draw-on-hover animation */
.cm-philosophy>.cm-kintsugi-crack{
  position:absolute;
  top:10px;right:20px;
  width:90px;height:126px;
  pointer-events:none;
  z-index:0;
  filter:drop-shadow(0 0 4px rgba(184,148,42,0));
  transition:filter 0.6s ease;
}
.cm-crack-main{
  stroke-dasharray:400;
  stroke-dashoffset:400;
  transition:stroke-dashoffset 1.4s cubic-bezier(0.25,0.1,0.25,1),opacity 0.4s ease;
  opacity:0;
}
.cm-crack-branch{
  stroke-dasharray:250;
  stroke-dashoffset:250;
  transition:stroke-dashoffset 1.0s cubic-bezier(0.25,0.1,0.25,1) 0.5s,opacity 0.4s ease 0.4s;
  opacity:0;
}
.cm-crack-dust{
  stroke-dasharray:60;
  stroke-dashoffset:60;
  transition:stroke-dashoffset 0.5s ease 1.0s,opacity 0.3s ease 0.9s;
  opacity:0;
}
.cm-philosophy:hover .cm-crack-main{
  stroke-dashoffset:0;
  opacity:1;
}
.cm-philosophy:hover .cm-crack-branch{
  stroke-dashoffset:0;
  opacity:0.85;
}
.cm-philosophy:hover .cm-crack-dust{
  stroke-dashoffset:0;
  opacity:0.65;
}
.cm-philosophy:hover .cm-kintsugi-crack{
  filter:drop-shadow(0 0 20px rgba(212,170,60,0.70)) drop-shadow(0 0 6px rgba(212,170,60,0.90));
}
.cm-philosophy>*{position:relative;z-index:1;}
.cm-philosophy:hover{
  border-color:var(--lt-gold);
  border-top-color:var(--lt-gold);
  background:var(--lt-card-hover);
  box-shadow:0 0 24px rgba(184,148,42,0.25), 0 0 48px rgba(184,148,42,0.12), 0 8px 32px rgba(184,148,42,0.08);
  transform:translateY(-3px);
}
.cm-philosophy.cm-revealed{opacity:1;transform:translateY(0);}

.cm-phil-label{
  font-size:11.5px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--lt-text-muted);
  margin-bottom:6px;
  font-weight:600;
}
.cm-phil-title{
  font-family:var(--lt-serif);
  font-size:22px;
  font-weight:600;
  color:var(--lt-text);
  margin-bottom:12px;
}

.cm-phil-text{
  font-size:14px;
  color:var(--lt-text-sec);
  line-height:1.7;
}

/* ===== §7. CREDENTIAL BAR ===== */
.cm-credentials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:20px 24px;
  margin-bottom:32px;
  background:var(--lt-card);
  border:1px solid var(--lt-border);
  border-radius:var(--lt-radius);
  box-shadow:var(--lt-card-shadow);
  opacity:0;
  transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-credentials.cm-revealed{opacity:1;transform:translateY(0);}

.cm-cred-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  flex:1;
  padding:0 12px;
}
.cm-cred-value{
  font-family:var(--lt-serif);
  font-size:27px;
  font-weight:600;
  color:var(--lt-text);
  line-height:1.2;
}
.cm-cred-label{
  font-size:12px;
  letter-spacing:0.8px;
  text-transform:uppercase;
  color:var(--lt-text-muted);
  margin-top:2px;
  font-weight:500;
}
.cm-cred-sep{
  width:1px;
  height:36px;
  background:var(--lt-border);
  flex-shrink:0;
}

/* ===== §8. FEATURED SPOTLIGHT ===== */
.cm-spotlight{
  margin-bottom:36px;
  opacity:0;
  transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-spotlight.cm-revealed{opacity:1;transform:translateY(0);}

.cm-spotlight-label{
  font-size:11.5px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--lt-text-muted);
  margin-bottom:12px;
  font-weight:600;
  text-align:center;
}

.cm-spotlight-card{
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding:28px;
  background:linear-gradient(135deg,#FFFFFF 0%,#FEFDFB 50%,rgba(184,148,42,0.02) 100%);
  border:1px solid rgba(184,148,42,0.18);
  border-radius:var(--lt-radius);
  text-decoration:none!important;
  color:inherit!important;
  box-shadow:var(--lt-card-shadow),0 0 0 1px rgba(184,148,42,0.04);
  transition:transform 0.35s var(--lt-ease),box-shadow 0.35s var(--lt-ease),border-color 0.35s;
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
  will-change:transform,box-shadow;
}
/* Shimmer sweep on spotlight */
.cm-spotlight-card::before{
  content:'';
  position:absolute;
  top:0;left:-80%;
  width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(184,148,42,0.04),transparent);
  transform:skewX(-20deg);
  transition:left 0.8s var(--lt-ease);
  pointer-events:none;
}
.cm-spotlight-card:hover::before{left:130%;}
.cm-spotlight-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--lt-card-shadow-h),0 0 30px rgba(184,148,42,0.25),0 0 60px rgba(184,148,42,0.10);
  border-color:rgba(184,148,42,0.45);
}

.cm-spotlight-badge{
  padding:9px 16px;
  background:linear-gradient(135deg,var(--lt-gold),#d4b84a);
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.5px;
  border-radius:var(--lt-radius-xs);
  flex-shrink:0;
  box-shadow:0 2px 8px rgba(184,148,42,0.25);
  transition:box-shadow 0.3s;
}
.cm-spotlight-card:hover .cm-spotlight-badge{box-shadow:0 2px 12px rgba(184,148,42,0.40),0 0 20px rgba(184,148,42,0.20);}

.cm-spotlight-content{flex:1;min-width:0;}
.cm-spotlight-title{
  font-family:var(--lt-serif);
  font-size:22px;
  font-weight:600;
  color:var(--lt-text);
  margin-bottom:8px;
  line-height:1.3;
  transition:color 0.3s;
}
.cm-spotlight-card:hover .cm-spotlight-title{color:var(--lt-gold);}
.cm-spotlight-desc{
  font-size:15px;
  color:var(--lt-text-sec);
  line-height:1.7;
  margin-bottom:12px;
  transition:color 0.3s;
}
.cm-spotlight-card:hover .cm-spotlight-desc{color:var(--lt-text);}
.cm-spotlight-meta{display:flex;gap:6px;flex-wrap:wrap;}
.cm-spotlight-tag{
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.5px;
  text-transform:uppercase;
  color:var(--lt-gold);
  background:var(--lt-gold-s);
  border:1px solid rgba(184,148,42,0.15);
  padding:3px 10px;
  border-radius:12px;
  transition:background 0.3s,border-color 0.3s,box-shadow 0.3s;
}
.cm-spotlight-card:hover .cm-spotlight-tag{background:rgba(184,148,42,0.12);border-color:rgba(184,148,42,0.30);box-shadow:0 0 8px rgba(184,148,42,0.15);}

.cm-spotlight-card .cm-lt-arrow{
  font-size:22px;
  color:var(--lt-gold);
  opacity:0.4;
  transition:all 0.35s var(--lt-ease);
  align-self:center;
  flex-shrink:0;
}
.cm-spotlight-card:hover .cm-lt-arrow{
  opacity:1;
  transform:translateX(5px);
  text-shadow:0 0 12px rgba(184,148,42,0.4);
}
/* Mobile: show tap hint when arrow is hidden */
@media(max-width:600px){
  .cm-spotlight-card::after{
    content:'Tap to explore \2192';
    display:block;
    font-size:12px;
    font-family:var(--lt-sans);
    letter-spacing:0.5px;
    color:var(--lt-gold);
    text-align:center;
    margin-top:8px;
    opacity:0.7;
  }
}

/* ===== §9. BRAND CARDS ===== */
.cm-lt-cards{
  display:flex;flex-direction:column;gap:14px;margin-bottom:36px;
  opacity:0;transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-lt-cards.cm-revealed{opacity:1;transform:translateY(0);}

.cm-lt-card{
  display:flex;align-items:center;gap:20px;
  padding:24px 26px;
  background:linear-gradient(135deg,#FFFFFF 0%,#FDFCFA 100%);
  border:1px solid var(--lt-border);
  border-left:3px solid transparent;
  border-radius:var(--lt-radius);
  text-decoration:none!important;
  color:inherit!important;
  box-shadow:var(--lt-card-shadow);
  transition:transform 0.35s var(--lt-ease),
             box-shadow 0.35s var(--lt-ease),
             border-color 0.35s ease;
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
  will-change:transform,box-shadow;
}
/* Brand accents — border + subtle background hue */
.cm-lt-cmp{border-left-color:rgba(42,91,138,0.35);background:linear-gradient(135deg,rgba(42,91,138,0.06) 0%,rgba(42,91,138,0.02) 100%);}
.cm-lt-slc{border-left-color:rgba(168,93,16,0.35);background:linear-gradient(135deg,rgba(168,93,16,0.06) 0%,rgba(168,93,16,0.02) 100%);}
.cm-lt-dw{border-left-color:rgba(123,94,167,0.35);background:linear-gradient(135deg,rgba(123,94,167,0.06) 0%,rgba(123,94,167,0.02) 100%);}
.cm-lt-cmp:hover{border-left-color:var(--lt-cmp);}
.cm-lt-slc:hover{border-left-color:var(--lt-orange);}
.cm-lt-dw:hover{border-left-color:var(--lt-purple);}

/* Glow layer */
.cm-lt-card::before{
  content:'';position:absolute;inset:-1px;
  border-radius:var(--lt-radius);
  opacity:0;transition:opacity 0.4s;
  z-index:-1;pointer-events:none;
}
.cm-lt-cmp::before{background:linear-gradient(135deg,rgba(42,91,138,0.16),rgba(42,91,138,0.06));}
.cm-lt-slc::before{background:linear-gradient(135deg,rgba(168,93,16,0.16),rgba(168,93,16,0.06));}
.cm-lt-dw::before{background:linear-gradient(135deg,rgba(123,94,167,0.16),rgba(123,94,167,0.06));}
.cm-lt-card:hover::before{opacity:1;}

.cm-lt-card:hover{transform:translateY(-4px);box-shadow:var(--lt-card-shadow-h);}
.cm-lt-cmp:hover{border-color:rgba(42,91,138,0.40);box-shadow:var(--lt-card-shadow-h),0 0 30px rgba(42,91,138,0.25),0 0 60px rgba(42,91,138,0.10);}
.cm-lt-slc:hover{border-color:rgba(168,93,16,0.40);box-shadow:var(--lt-card-shadow-h),0 0 30px rgba(168,93,16,0.25),0 0 60px rgba(168,93,16,0.10);}
.cm-lt-dw:hover{border-color:rgba(123,94,167,0.40);box-shadow:var(--lt-card-shadow-h),0 0 30px rgba(123,94,167,0.25),0 0 60px rgba(123,94,167,0.10);}

.cm-lt-card.cm-tilt-active{
  transition:box-shadow 0.35s var(--lt-ease),border-color 0.35s;
}

/* Icon badges */
.cm-lt-icon{
  width:50px;height:50px;
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;flex-shrink:0;
  overflow:hidden;
  transition:transform 0.3s,box-shadow 0.3s;
  /* §Mobile-Upgrade: Aspect ratio for layout shift prevention */
  aspect-ratio:1;object-fit:contain;
}
.cm-lt-logo{
  width:100%;height:100%;
  object-fit:contain;
  display:block;
}
.cm-lt-cmp .cm-lt-icon{background:var(--lt-cmp-s);}
.cm-lt-slc .cm-lt-icon{background:var(--lt-orange-s);}
.cm-lt-dw .cm-lt-icon{background:var(--lt-purple-s);}
.cm-lt-card:hover .cm-lt-icon{transform:scale(1.08);}
.cm-lt-cmp:hover .cm-lt-icon{box-shadow:0 0 18px rgba(42,91,138,0.35);}
.cm-lt-slc:hover .cm-lt-icon{box-shadow:0 0 18px rgba(168,93,16,0.35);}
.cm-lt-dw:hover .cm-lt-icon{box-shadow:0 0 18px rgba(123,94,167,0.35);}

/* Card text */
.cm-lt-info{flex:1;min-width:0;}
.cm-lt-name{
  font-size:18px!important;font-weight:600!important;
  color:var(--lt-text)!important;margin-bottom:3px!important;
  letter-spacing:0.1px;
  transition:color 0.3s;
}
.cm-lt-desc{
  font-size:14.5px!important;color:var(--lt-text-sec)!important;
  line-height:1.6!important;letter-spacing:0.05px;
  margin-bottom:6px;
  transition:color 0.3s;
}
/* Text brightens on hover — brand-colored */
.cm-lt-cmp:hover .cm-lt-name{color:var(--lt-cmp)!important;}
.cm-lt-slc:hover .cm-lt-name{color:var(--lt-orange)!important;}
.cm-lt-dw:hover .cm-lt-name{color:var(--lt-purple)!important;}
.cm-lt-card:hover .cm-lt-desc{color:var(--lt-text)!important;}

/* Card sub-tags */
.cm-card-tags{display:flex;gap:5px;flex-wrap:wrap;}
.cm-card-tag{
  font-size:11px;
  font-weight:600;
  letter-spacing:0.4px;
  padding:2px 8px;
  border-radius:10px;
  text-transform:uppercase;
  transition:background 0.3s,border-color 0.3s,box-shadow 0.3s;
}
.cm-card-tag-cmp{color:var(--lt-cmp);background:var(--lt-cmp-s);border:1px solid rgba(42,91,138,0.12);}
.cm-card-tag-slc{color:var(--lt-orange);background:var(--lt-orange-s);border:1px solid rgba(168,93,16,0.12);}
.cm-card-tag-dw{color:var(--lt-purple);background:var(--lt-purple-s);border:1px solid rgba(123,94,167,0.12);}
/* Tags glow on card hover */
.cm-lt-cmp:hover .cm-card-tag-cmp{background:rgba(42,91,138,0.12);border-color:rgba(42,91,138,0.25);box-shadow:0 0 8px rgba(42,91,138,0.15);}
.cm-lt-slc:hover .cm-card-tag-slc{background:rgba(168,93,16,0.12);border-color:rgba(168,93,16,0.25);box-shadow:0 0 8px rgba(168,93,16,0.15);}
.cm-lt-dw:hover .cm-card-tag-dw{background:rgba(123,94,167,0.12);border-color:rgba(123,94,167,0.25);box-shadow:0 0 8px rgba(123,94,167,0.15);}

/* Arrow */
.cm-lt-arrow{
  font-size:20px;color:var(--lt-text-muted);
  transition:all 0.35s var(--lt-ease);
  flex-shrink:0;opacity:0.5;
}
.cm-lt-cmp:hover .cm-lt-arrow{color:var(--lt-cmp);transform:translateX(5px);opacity:1;}
.cm-lt-slc:hover .cm-lt-arrow{color:var(--lt-orange);transform:translateX(5px);opacity:1;}
.cm-lt-dw:hover .cm-lt-arrow{color:var(--lt-purple);transform:translateX(5px);opacity:1;}

/* ===== §9.5. SECTION SEPARATOR ===== */
.cm-section-sep{
  display:flex;
  align-items:center;
  gap:18px;
  margin:12px 0 32px;
  opacity:0;transform:translateY(10px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-section-sep.cm-revealed{opacity:1;transform:translateY(0);}
.cm-section-sep::before,.cm-section-sep::after{
  content:'';flex:1;height:1.5px;
  background:linear-gradient(90deg,transparent,var(--lt-gold),transparent);
  opacity:0.4;
}
.cm-section-sep-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--lt-gold);
  opacity:0.7;
  box-shadow:0 0 8px rgba(184,148,42,0.30);
}

/* ===== §10. NOW PLAYING ===== */
.cm-now-playing{
  margin-bottom:36px;
  opacity:0;transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-now-playing.cm-revealed{opacity:1;transform:translateY(0);}

.cm-np-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:11.5px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--lt-text-muted);
  margin-bottom:12px;
  font-weight:600;
}

/* Animated audio bars */
.cm-np-bars{
  display:inline-flex;
  align-items:flex-end;
  gap:2px;
  height:12px;
}
.cm-np-bars span{
  display:block;
  width:3px;
  background:var(--lt-gold);
  border-radius:1px;
  height:4px;
  transition:height 0.15s;
}
.cm-bars-active span:nth-child(1){animation:cmBar1 1.2s ease-in-out infinite;}
.cm-bars-active span:nth-child(2){animation:cmBar2 1.0s ease-in-out infinite 0.2s;}
.cm-bars-active span:nth-child(3){animation:cmBar3 1.4s ease-in-out infinite 0.1s;}
@keyframes cmBar1{0%,100%{height:4px;}50%{height:12px;}}
@keyframes cmBar2{0%,100%{height:6px;}50%{height:10px;}}
@keyframes cmBar3{0%,100%{height:3px;}50%{height:11px;}}

.cm-np-embed{
  background:var(--lt-card);
  border:1px solid var(--lt-border);
  border-radius:var(--lt-radius);
  overflow:hidden;
  box-shadow:var(--lt-card-shadow);
}
.cm-np-embed iframe{
  display:block;
  border:none;
  width:100%;
  height:166px;
}

/* ===== §11. DIVIDER ===== */
.cm-lt-divider{text-align:center;position:relative;margin-bottom:24px;margin-top:8px;opacity:0;animation:cmltFade 0.5s 0.5s forwards;}
.cm-lt-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--lt-border);}
.cm-lt-divider span{
  font-family:var(--lt-serif);
  font-size:22px;letter-spacing:3px;text-transform:uppercase;
  color:var(--lt-text);background:var(--lt-bg);
  padding:0 22px;position:relative;font-weight:600;
}

/* ===== §12. SOCIAL LINKS ===== */
.cm-lt-social{
  display:flex;gap:10px;margin-bottom:20px;
  opacity:0;transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-lt-social.cm-revealed{opacity:1;transform:translateY(0);}

.cm-lt-social-link{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 16px;
  background:linear-gradient(135deg,#FFFFFF 0%,#FDFCFA 100%);
  border:1px solid var(--lt-border);
  border-radius:var(--lt-radius-sm);
  text-decoration:none!important;
  font-size:14px!important;font-weight:500!important;
  letter-spacing:0.3px;
  color:var(--lt-text-sec)!important;
  box-shadow:var(--lt-card-shadow);
  transition:all 0.3s var(--lt-ease);
}
.cm-lt-social-link:hover{
  border-color:var(--lt-gold);
  color:var(--lt-text)!important;
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(184,148,42,0.12), 0 0 20px rgba(184,148,42,0.06);
  background:linear-gradient(135deg,#FFFFFF 0%,#FDF9EE 100%);
}
.cm-lt-social-link svg{width:16px;height:16px;fill:currentColor;opacity:0.65;transition:opacity 0.3s;}
.cm-lt-social-link:hover svg{opacity:1;color:var(--lt-gold-rich);}

/* ===== §13. CONTACT + SHARE ===== */
.cm-lt-contact{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:36px;
  opacity:0;transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-lt-contact.cm-revealed{opacity:1;transform:translateY(0);}

.cm-contact-primary{
  display:inline-flex;align-items:center;gap:8px;
  font-size:15.5px!important;font-weight:500!important;
  color:#fff!important;text-decoration:none!important;
  padding:14px 30px;
  background:linear-gradient(135deg,var(--lt-gold),#d4b84a);
  border:none;
  border-radius:var(--lt-radius-sm);
  box-shadow:0 2px 12px rgba(184,148,42,0.20);
  transition:all 0.35s var(--lt-ease);
  position:relative;
  overflow:hidden;
}
.cm-contact-primary::before{
  content:'';
  position:absolute;
  top:0;left:-80%;
  width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
  transform:skewX(-20deg);
  transition:left 0.6s var(--lt-ease);
}
.cm-contact-primary:hover::before{left:130%;}
.cm-contact-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(184,148,42,0.35), 0 0 32px rgba(184,148,42,0.15);
  background:linear-gradient(135deg,var(--lt-gold-rich),var(--lt-gold));
}
.cm-contact-primary svg{opacity:0.8;}

.cm-share-btn{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:500;
  color:var(--lt-text-sec);
  padding:13px 20px;
  background:var(--lt-card);
  border:1px solid var(--lt-border);
  border-radius:var(--lt-radius-sm);
  cursor:pointer;
  box-shadow:var(--lt-card-shadow);
  transition:all 0.3s var(--lt-ease);
  font-family:var(--lt-sans);
}
.cm-share-btn:hover{
  border-color:var(--lt-gold);
  color:var(--lt-gold-rich);
  transform:translateY(-1px);
  background:linear-gradient(135deg,#FFFFFF 0%,#FDF9EE 100%);
  box-shadow:0 4px 16px rgba(184,148,42,0.12), 0 0 20px rgba(184,148,42,0.06);
}
.cm-share-btn.cm-copied{
  color:var(--lt-green)!important;
  border-color:rgba(34,197,94,0.3);
  background:rgba(34,197,94,0.05);
}

/* ===== §14. METHODOLOGY ===== */
.cm-methodology{
  margin-bottom:36px;
  opacity:0;transform:translateY(16px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-methodology.cm-revealed{opacity:1;transform:translateY(0);}

.cm-meth-label{
  font-size:11.5px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--lt-text-muted);
  margin-bottom:16px;
  font-weight:600;
  text-align:center;
}

.cm-meth-steps{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:0;
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}

.cm-meth-step{
  flex:1;
  text-align:center;
  padding:24px 16px 20px;
  background:var(--lt-card);
  border:1px solid var(--lt-border);
  border-radius:var(--lt-radius);
  box-shadow:var(--lt-card-shadow);
  transition:transform 0.3s var(--lt-ease),box-shadow 0.3s var(--lt-ease),border-color 0.3s;
}
.cm-meth-step:hover{
  transform:translateY(-3px);
  box-shadow:var(--lt-card-shadow-h),0 0 20px rgba(184,148,42,0.10);
  border-color:rgba(184,148,42,0.25);
}
.cm-meth-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  /* §Mobile-Upgrade: Increased from 38px to 44px for better touch target */
  width:44px;height:44px;
  font-family:var(--lt-serif);
  font-size:16px;
  font-weight:700;
  color:var(--lt-gold);
  background:rgba(184,148,42,0.08);
  border:1px solid rgba(184,148,42,0.18);
  border-radius:10px;
  line-height:1;
  margin-bottom:12px;
  transition:background 0.3s,box-shadow 0.3s;
}
.cm-meth-step:hover .cm-meth-num{
  background:rgba(184,148,42,0.14);
  box-shadow:0 0 12px rgba(184,148,42,0.20);
}
.cm-meth-title{
  font-family:var(--lt-serif);
  font-size:20px;
  font-weight:600;
  color:var(--lt-text);
  margin-bottom:4px;
}
.cm-meth-sub{
  font-size:13px;
  color:var(--lt-gold);
  letter-spacing:0.3px;
  font-weight:600;
  margin-bottom:10px;
}
.cm-meth-detail{
  font-size:13px;
  line-height:1.6;
  color:var(--lt-text-sec);
  letter-spacing:0.05px;
}

.cm-meth-connector{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  flex-shrink:0;
  align-self:center;
}
.cm-meth-connector span{
  font-size:20px;
  color:var(--lt-gold);
  opacity:0.45;
  font-weight:300;
}

/* ===== §15. ECOSYSTEM BAR ===== */
.cm-lt-eco{
  text-align:center;padding:28px 20px;
  border-top:1px solid var(--lt-border);
  margin-top:0;
  position:relative;
  z-index:1;
}
.cm-lt-eco-label{
  font-family:var(--lt-sans)!important;
  font-size:12px!important;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--lt-text-sec)!important;
  display:block;
  margin-bottom:14px;
  font-weight:600;
}
.cm-lt-eco a{
  color:var(--lt-text-sec);text-decoration:none;
  font-size:13.5px;font-family:var(--lt-sans);
  letter-spacing:0.3px;transition:color 0.3s;
}
.cm-lt-eco a:hover{color:var(--lt-gold);}
.cm-lt-eco .cm-lt-eco-sep{color:var(--lt-text-muted);margin:0 10px;font-size:12px;}

/* ===== §16. FOOTER ===== */
.cm-lt-footer{
  padding:28px 32px;text-align:center;
  opacity:0;animation:cmltFade 0.5s 0.9s forwards;
  position:relative;z-index:1;
}
.cm-lt-footer p{font-size:13.5px!important;color:var(--lt-text-sec)!important;letter-spacing:0.3px;}
.cm-lt-footer a{color:var(--lt-text-sec)!important;text-decoration:none!important;transition:color 0.3s;}
.cm-lt-footer a:hover{color:var(--lt-gold)!important;}

/* ===== §17. ANIMATIONS ===== */
@keyframes cmltFade{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes cmltSlideUp{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}

/* ===== §18. RESPONSIVE ===== */

/* --- Tablet (768px) --- */
@media(max-width:768px){
  /* §Mobile-Upgrade: Fluid padding with clamp() for responsive scaling */
  .cm-lt-main{padding:clamp(44px,8vw,56px) clamp(18px,4vw,28px) 36px;}
  .cm-lt-wrapper{max-width:100%;}
  .cm-meth-steps{flex-direction:column;gap:14px;}
  .cm-meth-connector{width:1px;height:20px;margin:0 auto;}
  .cm-meth-connector span{transform:rotate(90deg);display:block;}
  .cm-lt-contact{flex-direction:column;}
  .cm-contact-primary,.cm-share-btn{width:100%;justify-content:center;min-height:48px;}
  .cm-lt-social{flex-direction:column;}
  .cm-spotlight-card{flex-direction:column;gap:14px;}
  .cm-spotlight-badge{align-self:flex-start;}
  /* Kintsugi SVG scaling */
  .cm-philosophy>.cm-kintsugi-crack{width:80px;height:112px;right:16px;top:8px;}

  /* §Mobile-Polish: carousel swipe hint — DISABLED: mask-image creates compositing
     layers that can interfere with scroll on some browsers. Replaced with CSS-only
     pulsing arrow indicator below. */
  /* §Mobile-Polish: swipe hint arrow */
  .cm-lt-grid{position:relative;}
  .cm-lt-grid::after{
    content:'\2192';position:absolute;right:4px;top:50%;transform:translateY(-50%);
    font-size:20px;color:var(--lt-gold,#bd9a1a);opacity:0;pointer-events:none;
    animation:cmSwipeHint 3s ease-in-out 1s 2;
  }
  @keyframes cmSwipeHint{0%,100%{opacity:0;transform:translateY(-50%) translateX(0);}30%{opacity:0.6;transform:translateY(-50%) translateX(-6px);}60%{opacity:0.6;transform:translateY(-50%) translateX(6px);}90%{opacity:0;}}

  /* §Mobile-Polish: typography refinements */
  .cm-lt-desc,.cm-lt-bio,.cm-spotlight-body{
    line-height:1.7;letter-spacing:0.01em;
  }
  .cm-lt-name,.cm-section-title{
    letter-spacing:0.02em;
  }

  /* §Mobile-Polish: enhanced mobile input focus glow */
  input:focus,textarea:focus,select:focus{
    border-color:rgba(189,154,26,0.4)!important;
    box-shadow:0 0 0 3px rgba(189,154,26,0.1),0 2px 8px rgba(189,154,26,0.06)!important;
    transition:border-color 0.2s ease,box-shadow 0.2s ease;
  }
}
@media(prefers-reduced-motion:reduce){
  .cm-lt-grid::after{animation:none!important;}
}

/* --- Mobile (600px) --- */
@media(max-width:600px){
  .cm-lt-main{padding:48px 20px 32px;}
  .cm-lt-bio{font-size:15px!important;}
  .cm-lt-card{padding:20px 18px;gap:14px;}
  .cm-lt-icon{width:44px;height:44px;}
  .cm-lt-name{font-size:16.5px!important;}
  .cm-lt-desc{font-size:13.5px!important;}
  .cm-lt-avatar{width:80px;height:80px;font-size:28px;}
  .cm-announce{font-size:13px;padding:10px 16px;flex-wrap:wrap;gap:6px;}
  .cm-credentials{flex-wrap:wrap;gap:12px;padding:16px;}
  .cm-cred-sep{display:none;}
  .cm-cred-item{min-width:40%;padding:6px 0;}
  .cm-spotlight-card .cm-lt-arrow{display:none;}
  .cm-tags-list{gap:6px;}
  .cm-tag{font-size:12px;padding:8px 14px;min-height:44px;display:inline-flex;align-items:center;}
  .cm-spotlight-desc{font-size:14px;}
  .cm-lt-eco-label{font-size:12px!important;}
  .cm-lt-eco a{font-size:13px;}
  .cm-lt-footer p{font-size:13px!important;}
  .cm-sys-inner{flex-wrap:wrap;gap:6px 10px;font-size:12px;}
  .cm-sys-strip{padding:7px 16px;}
  .cm-proof-bar{flex-wrap:wrap;gap:10px;padding:12px 16px;}
  .cm-proof-sep{display:none;}
  .cm-proof-item{min-width:40%;padding:4px 0;}
  .cm-proof-val{font-size:20px;}
  .cm-proof-label{font-size:11px;}
  .cm-dark-toggle{top:12px;right:12px;width:40px;height:40px;}
  /* §Mobile-Upgrade: Section separator tightening */
  .cm-lt-separator,.cm-section-sep{gap:12px;margin:20px 0;}
  /* §Mobile-Upgrade: Social link min-height */
  .cm-lt-social-link{min-height:44px;display:inline-flex;align-items:center;}
  /* Kintsugi SVG */
  .cm-philosophy>.cm-kintsugi-crack{width:70px;height:98px;right:14px;top:6px;}
  .cm-philosophy-group{padding:38px 20px 20px 20px;}
}

/* --- Small phones (480px) --- */
@media(max-width:480px){
  .cm-lt-main{padding:44px 18px 28px;}
  .cm-lt-card{padding:18px 16px;gap:13px;}
  .cm-lt-icon{width:44px;height:44px;}
  .cm-lt-avatar{width:75px;height:75px;font-size:26px;}

  /* §Mobile-Polish: typography refinements for 480px */
  .cm-lt-desc,.cm-lt-bio{line-height:1.75;}

  /* §Mobile-Polish: proof bar mobile readability */
  .cm-proof-bar,.cm-credentials{
    gap:10px;padding:12px 8px;
  }
  .cm-proof-stat,.cm-credential-item{
    font-size:12px;line-height:1.5;
  }

  .cm-proof-bar{flex-direction:row;flex-wrap:wrap;gap:8px;padding:10px 14px;}
  .cm-proof-item{flex:0 0 calc(50% - 5px);min-width:unset;padding:6px 0;}
  .cm-proof-val{font-size:18px;}
  .cm-proof-label{font-size:10px;}
  .cm-sys-strip{padding:6px 14px;}
  .cm-sys-inner{gap:5px 8px;font-size:11px;}
  /* §Mobile-Upgrade: Standard button min-height at 480px */
  .cm-contact-primary,.cm-share-btn{padding:12px 24px;font-size:14px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;}
  /* §Mobile-Upgrade: Text overflow safety */
  p,li,dd,figcaption,blockquote,.cm-lt-bio,.cm-lt-desc,.cm-spotlight-body{overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;}
  .cm-dark-toggle{width:40px;height:40px;top:10px;right:10px;}
  /* Kintsugi SVG */
  .cm-philosophy>.cm-kintsugi-crack{width:60px;height:84px;right:12px;top:5px;}
  .cm-philosophy-group{padding:34px 18px 18px 18px;}
  .cm-phil-title{font-size:19px!important;}
  .cm-phil-text{font-size:13px!important;}
}

/* --- Extra small (380px) --- */
@media(max-width:380px){
  /* §Mobile-Upgrade: Standardized 16px horizontal padding for safe text area */
  .cm-lt-main{padding:40px 16px 24px;}
  .cm-lt-header{margin-bottom:28px;}
  .cm-lt-card{padding:16px 14px;gap:12px;border-radius:12px;}
  .cm-lt-desc{word-break:break-word;overflow-wrap:break-word;}
  .cm-lt-icon{width:44px;height:44px;}
  .cm-lt-avatar{width:70px;height:70px;font-size:24px;}
  .cm-spotlight-card{padding:20px 14px;}
  .cm-tag{font-size:11px;padding:10px 12px;min-height:44px;display:inline-flex;align-items:center;}
  .cm-proof-bar{gap:6px;padding:8px 12px;}
  .cm-proof-item{flex:0 0 calc(50% - 4px);}
  .cm-proof-val{font-size:17px;}
  .cm-proof-label{font-size:11px;}
  .cm-sys-strip{padding:5px 10px;}
  .cm-sys-inner{gap:4px 6px;font-size:10px;max-width:100%;overflow:visible;}
  .cm-sys-item{white-space:normal;}
  .cm-dark-toggle{width:44px;height:44px;top:8px;right:8px;}
  .cm-contact-primary,.cm-share-btn{padding:12px 20px;font-size:13px;min-height:48px;}
  .cm-philosophy>.cm-kintsugi-crack{width:50px;height:70px;right:10px;top:4px;}
  .cm-philosophy-group{padding:30px 16px 16px 16px;}
  .cm-lt-social-link{min-width:44px;min-height:44px;}
  .cm-lt-footer a{font-size:12px;}
}

/* ===== §18.4. LANDSCAPE ORIENTATION (PHONES) ===== */
@media(max-width:900px) and (orientation:landscape){
  .cm-lt-main{padding:32px 24px 20px!important;}
  .cm-lt-bio{font-size:14px!important;}
  .cm-lt-cards{gap:14px;}
  .cm-lt-card{padding:14px 16px;}
  .cm-lt-avatar{width:60px;height:60px;font-size:20px;}
  .cm-spotlight-card{padding:20px 24px;}
  .cm-methodology{padding:32px 24px;}
}
@media(max-height:500px) and (orientation:landscape){
  .cm-lt-main{padding:24px 20px 16px!important;}
  .cm-lt-header{margin-bottom:16px;}
  .cm-lt-avatar{width:50px;height:50px;font-size:18px;}
}
/* §Mobile-Upgrade: Landscape card-specific handling */
@media(max-width:768px) and (orientation:landscape){
  .cm-lt-main{padding:32px 20px;}
  .cm-lt-cards{gap:10px;}
  .cm-lt-card{padding:14px 16px;}
  .cm-spotlight-card{padding:16px;}
}

/* ===== §18.5. TOUCH & FOCUS FEEDBACK ===== */
.cm-contact-primary,.cm-share-btn,.cm-dark-toggle,.cm-lt-social-link,.cm-lt-card,.cm-tag{touch-action:manipulation;}
.cm-contact-primary:active,
.cm-share-btn:active,
.cm-dark-toggle:active,
.cm-lt-social-link:active,
.cm-lt-card:active{opacity:0.85;transform:scale(0.98);}
/* §Mobile-Upgrade: Dark mode toggle enhanced touch feedback */
@media(hover:none){
  .cm-dark-toggle:active{transform:scale(0.9);}
}

/* §Mobile-Polish: card tap ripple flash */
@media(hover:none) and (pointer:coarse){
  .cm-lt-card:active::after,.cm-spotlight-card:active::after{
    content:'';position:absolute;inset:0;background:rgba(189,154,26,0.06);pointer-events:none;border-radius:inherit;animation:cmTapFlash 0.3s ease-out;
  }
  @keyframes cmTapFlash{0%{opacity:1;}100%{opacity:0;}}
}

.cm-contact-primary:focus-visible,
.cm-share-btn:focus-visible,
.cm-dark-toggle:focus-visible,
.cm-lt-social-link:focus-visible,
.cm-lt-card:focus-visible,
.cm-tag:focus-visible,
.cm-card-tag:focus-visible,
.cm-spotlight-tag:focus-visible,
.cm-announce-cta:focus-visible,
.cm-cred-item:focus-visible,
.cm-meth-step:focus-visible,
.cm-lt-eco a:focus-visible{outline:2px solid var(--lt-gold);outline-offset:2px;}

/* ===== §19. REDUCED MOTION ===== */
@media(prefers-reduced-motion:reduce){
  .cm-lt-header,.cm-lt-card,.cm-lt-divider,.cm-lt-social,.cm-lt-contact,
  .cm-lt-footer,.cm-lt-eco-label,.cm-lt-avatar,.cm-tags,.cm-philosophy,.cm-credentials,
  .cm-spotlight,.cm-now-playing,.cm-methodology,.cm-lt-cards,.cm-proof-bar{
    animation:none!important;opacity:1!important;transform:none!important;
  }
  .cm-lt-card:hover,.cm-lt-social-link:hover,.cm-contact-primary:hover,.cm-spotlight-card:hover{transform:none!important;}
  .cm-lt-card.cm-tilt-active{transform:none!important;}
  .cm-np-bars span{animation:none!important;}
  .cm-status-dot{animation:none!important;}
  .cm-sys-inner{animation:none!important;opacity:0.8!important;}
  .cm-sys-green{animation:none!important;}
  .cm-crack-main,.cm-crack-branch,.cm-crack-dust{transition:none!important;stroke-dashoffset:0!important;}
  .cm-philosophy:hover .cm-crack-main{opacity:0.40!important;}
  .cm-philosophy:hover .cm-crack-branch{opacity:0.30!important;}
  .cm-philosophy:hover .cm-crack-dust{opacity:0.20!important;}
}

/* ===== §19.5. SAFE AREA (NOTCHED PHONES) ===== */
@supports(padding-top:env(safe-area-inset-top)){
  .cm-lt-main{padding-top:calc(40px + env(safe-area-inset-top));}
  .cm-dark-toggle{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));}
  .cm-lt-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom));}
}

/* ===== §20. SYSTEM STATUS STRIP ===== */
.cm-sys-strip{
  background:linear-gradient(135deg,#0f1115 0%,#1a1c22 100%);
  padding:8px 24px;
  position:relative;
  z-index:10;
  border-bottom:1px solid rgba(184,148,42,0.10);
}
.cm-sys-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:12px;
  font-family:var(--lt-sans);
  letter-spacing:0.5px;
  color:rgba(255,255,255,0.55);
  animation:cmSysTextPulse 1.8s ease-in-out infinite;
}
.cm-sys-item{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.cm-sys-val{
  font-weight:700;
  color:rgba(255,255,255,0.95);
  font-variant-numeric:tabular-nums;
}
.cm-sys-inner .cm-sys-sep,
.cm-sys-inner .cm-sys-item{
  transition:opacity 0.3s;
}
.cm-sys-label{
  font-weight:700;
  color:rgba(212,170,60,1);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-right:4px;
  text-shadow:0 0 10px rgba(184,148,42,0.50),0 0 24px rgba(184,148,42,0.25);
}
.cm-sys-sep{
  color:rgba(255,255,255,0.20);
  font-size:10px;
}
@keyframes cmSysTextPulse{
  0%,100%{opacity:0.35;}
  50%{opacity:1;}
}
.cm-sys-green{
  color:rgba(34,197,94,1);
  text-shadow:0 0 6px rgba(34,197,94,0.40);
  animation:cmSysGreenGlow 2s ease-in-out infinite;
}
@keyframes cmSysGreenGlow{
  0%,100%{text-shadow:0 0 8px rgba(34,197,94,0.40);color:rgba(34,197,94,0.90);}
  50%{text-shadow:0 0 16px rgba(34,197,94,0.70),0 0 32px rgba(34,197,94,0.35);color:rgba(34,197,94,1);}
}
.cm-sys-check{
  font-weight:700;
  font-size:11px;
}

/* ===== §20.5. DARK MODE TOGGLE ===== */
.cm-dark-toggle{
  position:fixed;
  top:16px;
  right:16px;
  z-index:100;
  width:44px;height:44px;
  border-radius:50%;
  border:1.5px solid var(--lt-border-h);
  background:var(--lt-card);
  box-shadow:0 2px 10px rgba(0,0,0,0.08),0 0 0 1px rgba(0,0,0,0.03);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  transition:all 0.3s var(--lt-ease);
  color:var(--lt-gold);
}
.cm-dark-toggle:hover{
  border-color:var(--lt-gold);
  color:var(--lt-gold-rich);
  box-shadow:0 4px 16px rgba(184,148,42,0.20),0 0 0 1px rgba(184,148,42,0.15);
  transform:scale(1.10);
}
.cm-dark-icon-sun,
.cm-dark-icon-moon{
  font-size:22px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}
.cm-dark-icon-moon{display:none;}
body.cm-dark .cm-dark-icon-sun{display:none;}
body.cm-dark .cm-dark-icon-moon{display:flex;}

/* ===== §20.7. MICRO-CREDENTIAL PROOF BAR ===== */
.cm-proof-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:14px 20px;
  margin-bottom:28px;
  background:linear-gradient(135deg,rgba(184,148,42,0.04) 0%,rgba(184,148,42,0.01) 100%);
  border:1px solid rgba(184,148,42,0.12);
  border-radius:var(--lt-radius);
  opacity:0;
  transform:translateY(12px);
  transition:opacity 0.6s,transform 0.6s var(--lt-ease);
}
.cm-proof-bar.cm-revealed{opacity:1;transform:translateY(0);}
.cm-proof-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  flex:1;
  padding:0 8px;
}
.cm-proof-val{
  font-family:var(--lt-serif);
  font-size:24px;
  font-weight:700;
  color:var(--lt-gold);
  line-height:1.2;
  font-variant-numeric:tabular-nums;
}
.cm-proof-label{
  font-size:10px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--lt-text-muted);
  margin-top:2px;
  font-weight:500;
  text-align:center;
}
.cm-proof-sep{
  width:1px;
  height:28px;
  background:rgba(184,148,42,0.15);
  flex-shrink:0;
}

/* ===== §22. DARK MODE ===== */
body.cm-dark{
  --lt-bg:#111115;
  --lt-bg-warm:#151519;
  --lt-card:#1C1C22;
  --lt-card-hover:#222228;
  --lt-glass:rgba(28,28,34,0.85);
  --lt-glass-border:rgba(255,255,255,0.06);
  --lt-text:#E8E6E1;
  --lt-text-sec:#A0A09A;
  --lt-text-muted:#6B6B66;
  --lt-text-faint:#4A4A46;
  --lt-border:#2A2A30;
  --lt-border-h:#3A3A42;
  --lt-gold:#D4AA3C;
  --lt-gold-rich:#C49A2A;
  --lt-gold-glow:rgba(212,170,60,0.22);
  --lt-gold-s:rgba(212,170,60,0.10);
  --lt-cmp:#4A8BC4;
  --lt-cmp-glow:rgba(74,139,196,0.25);
  --lt-cmp-s:rgba(74,139,196,0.10);
  --lt-orange:#D08030;
  --lt-orange-glow:rgba(208,128,48,0.25);
  --lt-orange-s:rgba(208,128,48,0.10);
  --lt-purple:#9B7EC7;
  --lt-purple-glow:rgba(155,126,199,0.25);
  --lt-purple-s:rgba(155,126,199,0.10);
  --lt-green:#34D974;
  --lt-green-glow:rgba(52,217,116,0.25);
  --lt-card-shadow:0 1px 3px rgba(0,0,0,0.20),0 1px 2px rgba(0,0,0,0.15);
  --lt-card-shadow-h:0 8px 30px rgba(0,0,0,0.30),0 2px 8px rgba(0,0,0,0.20);
  --lt-shadow-xl:0 20px 50px rgba(0,0,0,0.35),0 8px 20px rgba(0,0,0,0.25);
}
body.cm-dark::before{
  background:
    radial-gradient(ellipse at 20% 0%,rgba(212,170,60,0.06) 0%,transparent 50%),
    radial-gradient(ellipse at 80% 20%,rgba(74,139,196,0.04) 0%,transparent 40%),
    radial-gradient(ellipse at 50% 80%,rgba(208,128,48,0.03) 0%,transparent 50%);
}
body.cm-dark .cm-sys-strip{
  background:linear-gradient(135deg,#080810 0%,#0e0e14 100%);
}
body.cm-dark .cm-lt-divider span{
  background:var(--lt-bg);
}
body.cm-dark .cm-dark-toggle{
  background:#1C1C22;
  border-color:#2A2A30;
  color:#A0A09A;
}
body.cm-dark .cm-dark-toggle:hover{
  color:var(--lt-gold);
  border-color:var(--lt-gold);
}
body.cm-dark .cm-status-text{color:var(--lt-green);}
body.cm-dark .cm-lt-header h1::after{
  background:linear-gradient(90deg,transparent,var(--lt-gold),transparent);
}
/* Dark mode brand cards */
body.cm-dark .cm-lt-cmp{background:linear-gradient(135deg,rgba(74,139,196,0.08) 0%,rgba(74,139,196,0.03) 100%);}
body.cm-dark .cm-lt-slc{background:linear-gradient(135deg,rgba(208,128,48,0.08) 0%,rgba(208,128,48,0.03) 100%);}
body.cm-dark .cm-lt-dw{background:linear-gradient(135deg,rgba(155,126,199,0.08) 0%,rgba(155,126,199,0.03) 100%);}
/* Logo visibility in dark mode */
body.cm-dark .cm-lt-cmp .cm-lt-logo{filter:brightness(1.4);}
body.cm-dark .cm-lt-slc .cm-lt-logo{filter:brightness(1.4);}
body.cm-dark .cm-lt-dw .cm-lt-logo{filter:invert(1) brightness(1.2);}
body.cm-dark .cm-spotlight-card{
  background:linear-gradient(135deg,#1C1C22 0%,#1F1F28 50%,rgba(212,170,60,0.04) 100%);
}
body.cm-dark .cm-lt-social-link{
  background:linear-gradient(135deg,#1C1C22 0%,#1F1F25 100%);
}
body.cm-dark .cm-lt-social-link:hover{
  background:linear-gradient(135deg,#1C1C22 0%,#252018 100%);
}
body.cm-dark .cm-contact-primary{
  background:linear-gradient(135deg,var(--lt-gold),var(--lt-gold-rich));
  color:#111!important;
}
body.cm-dark .cm-np-embed{background:#1C1C22;}
body.cm-dark .cm-meth-step{background:#1C1C22;}
body.cm-dark .cm-philosophy{background:#1C1C22;}
body.cm-dark .cm-philosophy:hover .cm-crack-main{opacity:1;}
body.cm-dark .cm-philosophy:hover .cm-crack-branch{opacity:0.90;}
body.cm-dark .cm-philosophy:hover .cm-crack-dust{opacity:0.70;}
body.cm-dark .cm-philosophy:hover .cm-kintsugi-crack{filter:drop-shadow(0 0 24px rgba(212,170,60,0.80)) drop-shadow(0 0 8px rgba(212,170,60,1));}
body.cm-dark .cm-philosophy:hover .cm-kintsugi-crack{filter:drop-shadow(0 0 18px rgba(212,170,60,0.50));}
body.cm-dark .cm-proof-bar{
  background:linear-gradient(135deg,rgba(212,170,60,0.06) 0%,rgba(212,170,60,0.02) 100%);
  border-color:rgba(212,170,60,0.15);
}
/* Dark scrollbar */
body.cm-dark ::-webkit-scrollbar-track{background:#111115;}
body.cm-dark ::-webkit-scrollbar-thumb{background:#2A2A30;}
body.cm-dark ::-webkit-scrollbar-thumb:hover{background:#3A3A42;}
/* ===== §21. SCROLLBAR ===== */
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--lt-bg);}
::-webkit-scrollbar-thumb{background:var(--lt-border);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--lt-border-h);}

/* ===== §22. HOVER → TOUCH FALLBACKS ===== */
/* Touch-device active states — replace hover lifts/glows with tap feedback */
@media (hover: none) {
    /* Cards: tap feedback instead of hover lift */
    .cm-lt-card:active,
    .cm-spotlight-card:active {
        transform: scale(0.98) !important;
        opacity: 0.90;
        transition: transform 0.1s ease, opacity 0.1s ease;
    }
    /* Kintsugi philosophy: show cracks on tap, not hover */
    .cm-philosophy:active .cm-crack-main { opacity: 0.50 !important; }
    .cm-philosophy:active .cm-crack-branch { opacity: 0.35 !important; }
    .cm-philosophy:active .cm-crack-dust { opacity: 0.25 !important; }
    .cm-philosophy:active .cm-kintsugi-crack {
        filter: drop-shadow(0 0 12px rgba(184,148,42,0.50));
    }
    /* Brand cards: show brand color on tap */
    .cm-lt-cmp:active { border-left-color: var(--lt-cmp) !important; }
    .cm-lt-slc:active { border-left-color: var(--lt-orange) !important; }
    .cm-lt-dw:active { border-left-color: var(--lt-purple) !important; }
    /* Methodology steps */
    .cm-meth-step:active {
        background: rgba(184,148,42,0.04) !important;
        border-color: rgba(184,148,42,0.20) !important;
    }
    /* Social links */
    .cm-lt-social-link:active {
        background: rgba(184,148,42,0.08);
        transform: scale(0.92);
    }
    /* Suppress hover transforms that fire on touch */
    .cm-lt-card:hover,
    .cm-spotlight-card:hover,
    .cm-lt-social-link:hover,
    .cm-contact-primary:hover {
        transform: none !important;
    }
}

/* ===== MOBILE PERFORMANCE LAYER ===== */
.cm-dark-toggle,.cm-share-btn,.cm-lt-footer{will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
.cm-lt-main{view-transition-name:cm-main;}
/* Typography optimization — kerning + ligatures on headings */
.cm-lt-header h1,.cm-lt-card-title,.cm-spotlight-card h3,.cm-philosophy h3{text-rendering:optimizeLegibility;font-variant-ligatures:common-ligatures;font-optical-sizing:auto;font-synthesis:none;hanging-punctuation:first allow-end last;}
/* Link typography — branded underlines */
a:not(.btn):not(.cm-lt-social-link):not(.cm-contact-primary){text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-skip-ink:auto;text-underline-position:under;}
.cm-lt-card,.cm-method-step,.cm-spotlight-card,.cm-proof-stat{contain:layout style;}
.cm-lt-section{content-visibility:auto;contain-intrinsic-size:auto 500px;isolation:isolate;}
@font-face{font-family:'Cormorant Garamond';font-display:swap;}
@font-face{font-family:'Inter';font-display:swap;}
@font-face{font-family:'JetBrains Mono';font-display:swap;}

/* ===== NETWORK-AWARE PERFORMANCE ===== */
body.slow-connection *{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0.05s!important;}
body.slow-connection .cm-np-embed iframe{display:none;}
body.slow-connection .cm-np-embed::after{content:'SoundCloud hidden on slow connection';display:block;text-align:center;padding:20px;font-size:12px;color:var(--lt-text-muted);}
body.cm-reduced-motion *{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0.05s!important;}
body.cm-tab-hidden *{animation-play-state:paused!important;}
body.cm-tab-hidden .cm-radar-canvas{display:none!important;}

/* ===== REDUCED DATA — hide decorative content on data-saver ===== */
@media(prefers-reduced-data:reduce){
  body::before,.cm-radar-canvas,.cm-np-embed iframe{display:none!important;}
  .cm-lt-card::before,.cm-spotlight-card::before{background-image:none!important;}
  *{background-image:none!important;box-shadow:none!important;}
}

/* ===== BUTTON PRESS DEPTH — tactile tap feel ===== */
.cm-contact-primary:active,.cm-share-btn:active,.cm-tag:active,.cm-spotlight-card:active,.cm-card-tag:active,.cm-spotlight-tag:active,.cm-announce-cta:active,.cm-cred-item:active{
  transform:scale(0.97)!important;box-shadow:0 1px 2px rgba(0,0,0,0.1)!important;transition:transform 0.08s ease,box-shadow 0.08s ease;
}

/* ===== MOBILE TEXT OVERFLOW SAFETY ===== */
@media(max-width:600px){
  p,li,dd,figcaption,blockquote,.cm-lt-desc,.cm-philosophy blockquote{overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;}
}

/* ===== OVERSCROLL & BOUNCE PREVENTION ===== */
/* html,body{overscroll-behavior:none;} — DISABLED: conflicts with html rule at line 48, breaks scroll chain */
/* RTL-ready logical properties (progressive enhancement) */
.cm-lt-main{padding-inline:clamp(16px,4vw,48px);}
.cm-lt-desc{margin-inline:auto;}

/* ===== LAYOUT SHIFT PREVENTION — aspect-ratio on embeds ===== */
.cm-np-embed iframe{aspect-ratio:16/5;}
img{height:auto;max-width:100%;}

/* ===== FORM ACCENT — branded checkboxes, radios, range sliders ===== */
input,select,textarea{accent-color:var(--lt-gold);caret-color:var(--lt-gold);}
textarea{field-sizing:content;min-height:100px;}
.cm-contact-primary,.cm-share-btn,.cm-dark-toggle,.cm-lt-social-link,.cm-tag{-webkit-user-select:none;user-select:none;}
::placeholder{color:var(--lt-text-sec);opacity:0.5;font-style:italic;}

/* ===== iOS INPUT ZOOM PREVENTION ===== */
@media(max-width:768px){
  input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea{font-size:16px!important;}
}

/* ===== AUTOFILL STYLING — match brand on Chrome/Safari autofill ===== */
input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{
  -webkit-box-shadow:0 0 0 40px var(--lt-bg-warm) inset!important;
  -webkit-text-fill-color:var(--lt-text)!important;
  transition:background-color 5000s ease-in-out 0s;
}

/* ===== SKIP-TO-CONTENT LINK — accessible keyboard nav ===== */
.cm-skip-link{position:absolute;top:-100px;left:16px;background:var(--lt-gold);color:var(--lt-text);padding:12px 24px;z-index:10000;font-family:var(--lt-sans);font-size:14px;font-weight:600;text-decoration:none;border-radius:0 0 4px 4px;transition:top 0.2s;}
.cm-skip-link:focus{top:0;outline:2px solid var(--lt-gold);outline-offset:2px;}

/* ===== TEXT SELECTION — branded highlight ===== */
a:visited{color:inherit;}
:any-link{color:inherit;}
::selection{background:rgba(184,148,42,0.18);color:var(--lt-text);}
::target-text{background:rgba(184,148,42,0.22);color:var(--lt-text);}
::-moz-selection{background:rgba(184,148,42,0.18);color:var(--lt-text);}

/* ===== SCROLL MARGIN — anchor links clear fixed nav ===== */
[id]{scroll-margin-top:80px;}

/* ===== TARGET HIGHLIGHT — flash when navigating to anchored section ===== */
@keyframes cm-target-flash{0%{outline-color:rgba(184,148,42,0.5);}100%{outline-color:transparent;}}
:target{animation:cm-target-flash 1.5s ease-out;}
@media(prefers-reduced-motion:reduce){:target{animation:none;}}

/* ===== HIGH CONTRAST MODE ===== */
@media(prefers-contrast:more){
  :root{--lt-gold:#a07a10;--lt-text:#000;--lt-text-sec:#1a1a18;--lt-border:#999;}
  .cm-contact-primary,.cm-lt-card,.cm-method-step,.cm-spotlight-card{border-width:2px;}
  .cm-lt-footer{border-top-width:2px;}
}
@media(forced-colors:active){
  .cm-contact-primary{border:2px solid ButtonText;color:ButtonText;background:ButtonFace;}
  .cm-lt-card,.cm-spotlight-card{border:1px solid ButtonText;}
  ::selection{background:Highlight;color:HighlightText;}
}

/* ===== INVERTED COLORS (iOS accessibility) ===== */
@media(inverted-colors:inverted){
  img,video,picture,svg:not([aria-hidden="true"]){filter:invert(1);}
  .cm-hero-bg,.cm-lt-card img,.cm-spotlight-card img{filter:invert(1);}
}
/* ===== TOUCH DEVICE — tap flash feedback on interactive cards ===== */
@media(hover:none) and (pointer:coarse){
  .cm-lt-card:active::after,.cm-spotlight-card:active::after,.cm-method-step:active::after{
    content:'';position:absolute;inset:0;background:rgba(184,148,42,0.06);pointer-events:none;animation:cmTapFlash 0.3s ease-out;
  }
  .cm-lt-card,.cm-spotlight-card,.cm-method-step{position:relative;overflow:hidden;}
  @keyframes cmTapFlash{0%{opacity:1;}100%{opacity:0;}}
  /* Touch device — always show link underlines (no hover to discover them) */
  a:not(.cm-contact-primary):not(.cm-lt-card):not(.cm-spotlight-card){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
}
/* ===== LANDSCAPE PHONE — reduce header height and section padding ===== */
@media(max-height:600px) and (orientation:landscape){
  .cm-lt-header{min-height:auto!important;padding-top:48px!important;padding-bottom:32px!important;}
  .cm-lt-header h1{font-size:clamp(28px,4vw,48px)!important;}
  .cm-lt-section{padding-top:32px!important;padding-bottom:32px!important;}
}

/* ===== FOCUS-VISIBLE ONLY — hide focus ring on mouse clicks ===== */
:focus:not(:focus-visible){outline:none;}

/* ===== REDUCED TRANSPARENCY ===== */
@media(prefers-reduced-transparency:reduce){
  .cm-lt-header,.cm-lt-footer,.cm-share-btn,.cm-dark-toggle{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
}

/* ===== NO-JS FALLBACK — ensure content visible without scripting ===== */
@media(scripting:none){
  .cm-lt-section,.cm-lt-card,.cm-lt-main{opacity:1!important;transform:none!important;visibility:visible!important;}
}

/* ===== LIST MARKERS — brand-colored bullets ===== */
::marker{color:var(--lt-gold);}

/* ===== P3 WIDE GAMUT — richer gold on HDR displays ===== */
@media(color-gamut:p3){
  :root{--lt-gold:color(display-p3 0.74 0.60 0.17);--lt-gold-dim:color(display-p3 0.62 0.50 0.12);}
}

/* ===== §R33 CONTENT-VISIBILITY — OFFSCREEN RENDERING OPTIMIZATION ===== */
.cm-lt-section:nth-child(n+3){
  content-visibility:auto;
  contain-intrinsic-size:auto 500px;
}
.cm-proof-bar,.cm-sys-strip,.cm-np-bar{
  content-visibility:auto;
  contain-intrinsic-size:auto 60px;
}
/* §R33 CONTAINER QUERIES — DISABLED on .cm-lt-card: container-type:inline-size
   creates containment that breaks flex layout. Kept for other card types only. */
/* §R33 BACKDROP-FILTER — GLASSMORPHISM CARD DEPTH */
.cm-lt-card{backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);}

/* ===== §R34 SCROLL-SNAP — MOBILE HORIZONTAL CARD SWIPING ===== */
@media(max-width:768px){
  .cm-lt-grid{
    display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:16px;padding-bottom:12px;margin:0 -20px;padding-left:20px;padding-right:20px;
    scrollbar-width:thin;scrollbar-color:var(--lt-gold,#bd9a1a) transparent;
  }
  .cm-lt-grid::-webkit-scrollbar{height:4px;}
  .cm-lt-grid::-webkit-scrollbar-track{background:transparent;}
  .cm-lt-grid::-webkit-scrollbar-thumb{background:var(--lt-gold,#bd9a1a);border-radius:4px;}
  .cm-lt-grid>*{flex:0 0 85%;scroll-snap-align:center;min-width:0;}
}

/* ===== §R35 WIDESCREEN DESKTOP — 1440px+ POLISH ===== */
@media(min-width:1440px){
  .cm-lt-main{max-width:1100px;margin-left:auto;margin-right:auto;}
  .cm-lt-grid{gap:2rem;}
  .cm-lt-section{padding:3rem 4rem;}
  body{font-size:1.0625rem;}
}
@media(min-width:1920px){
  .cm-lt-main{max-width:1300px;}
}

/* ===== §R36 FOCUS-VISIBLE — PREMIUM KEYBOARD NAV ===== */
:focus-visible{outline:2px solid var(--lt-gold,#bd9a1a);outline-offset:3px;border-radius:4px;}
.btn:focus-visible,.cm-lt-card:focus-visible,.cm-social-link:focus-visible{outline-color:var(--lt-gold,#bd9a1a);box-shadow:0 0 0 4px rgba(189,154,26,0.15);}
:focus:not(:focus-visible){outline:none;}

/* ===== §R37 VIEW TRANSITIONS — SMOOTH PAGE FEEL ===== */
@supports(view-transition-name:none){
  .cm-lt-hero{view-transition-name:cm-hero;}
  .cm-lt-main{view-transition-name:cm-main;}
  ::view-transition-old(*),::view-transition-new(*){animation-duration:0.25s;}
}

/* ===== §R38 :has() PREMIUM INTERACTIVITY ===== */
.cm-lt-card:has(a:hover){transform:translateY(-2px);box-shadow:0 8px 24px rgba(189,154,26,0.12);}
.cm-lt-section:has(.cm-lt-card:focus-within){background:rgba(189,154,26,0.02);}

/* ===== §R39 FINAL POLISH — ACCESSIBILITY + TYPOGRAPHY ===== */
@media(prefers-reduced-transparency:reduce){
  .cm-lt-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,0.97);}
}
h1,h2,h3,.cm-lt-name{text-wrap:balance;}
p,.cm-lt-card p,.cm-lt-bio{text-wrap:pretty;}

/* ===== §R41 COLOR-MIX + OKLCH WIDE-GAMUT ACCENTS ===== */
:root{
  --lt-gold-10:color-mix(in oklch,var(--lt-gold,#bd9a1a) 10%,transparent);
  --lt-gold-20:color-mix(in oklch,var(--lt-gold,#bd9a1a) 20%,transparent);
  --lt-gold-50:color-mix(in oklch,var(--lt-gold,#bd9a1a) 50%,transparent);
}
@supports(color:oklch(0.7 0.15 85)){
  :root{--lt-gold-vivid:oklch(0.75 0.13 85);}
  .btn:hover,.cm-lt-card:hover{border-color:var(--lt-gold-vivid);}
}

/* ===== §R42 SCROLL-DRIVEN ANIMATIONS ===== */
@supports(animation-timeline:scroll()){
  @keyframes cm-fade-up{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
  .cm-lt-card,.cm-lt-section:nth-child(n+2){
    animation:cm-fade-up linear both;
    animation-timeline:view();
    animation-range:entry 0% entry 30%;
  }
}

/* ===== §R43 LOGICAL PROPERTIES — RTL-SAFE LAYOUT ===== */
.cm-lt-section{padding-inline:clamp(1rem,5vw,3rem);padding-block:clamp(1.5rem,3vw,3rem);}
.cm-lt-card{padding-inline:1.25rem;padding-block:1.25rem;}
.btn{margin-inline:auto;padding-inline:1.5rem;padding-block:0.625rem;}

/* ===== §R44 LIGHT-DARK() THEME FUNCTION ===== */
@supports(color:light-dark(#000,#fff)){
  :root{color-scheme:light;}
  body{background:light-dark(var(--lt-bg,#f9f7f3),#1a1a18);color:light-dark(var(--lt-text,#2c2c2c),#e0e0e0);}
  .cm-lt-card{background:light-dark(rgba(255,255,255,0.7),rgba(40,40,40,0.7));}
}

/* ===== §R45 @STARTING-STYLE — ENTRANCE TRANSITIONS ===== */
@supports(selector(@starting-style)){
  .cm-lt-card{transition:opacity 0.4s ease,transform 0.4s ease;}
  @starting-style{.cm-lt-card{opacity:0;transform:translateY(12px);}}
}

/* ===== §R46 SUBGRID — DISABLED: overrides .cm-lt-card display:flex→grid, breaking
   the horizontal icon→text→arrow layout. Cards use flex row, not grid. ===== */

/* ===== §R47 FORM POLISH — ACCENT-COLOR + INTERACTIVE-WIDGET ===== */
input[type="checkbox"],input[type="radio"],input[type="range"],progress{accent-color:var(--lt-gold,#bd9a1a);}

/* ===== §R49 GPU COMPOSITING — WILL-CHANGE + CONTAIN ===== */
/* contain on cards only — hero/nav/toggle excluded (breaks fixed positioning + scroll) */
.cm-lt-card{contain:layout style;}

/* ===== §R50 INDIVIDUAL TRANSFORM PROPERTIES ===== */
@supports(translate:0){
  .cm-lt-card:hover{translate:0 -4px;scale:1.01;}
  .btn:hover{scale:1.03;}
  .btn:active{scale:0.97;}
  .cm-social-link:hover{scale:1.1;}
}

/* ===== §R51 IMAGE + FONT OPTIMIZATION ===== */
img{image-rendering:auto;}
.cm-lt-avatar{image-rendering:high-quality;}
@font-face{font-display:swap;size-adjust:100%;}

/* ===== §R52 OVERSCROLL — PULL-TO-REFRESH CONTROL ===== */
/* body{overscroll-behavior-y:contain;} — DISABLED: conflicts with html overscroll-behavior:none, breaks scroll chain */

/* ===== §R53 SCROLLBAR POLISH ===== */
*{scrollbar-width:thin;scrollbar-color:var(--lt-gold,#bd9a1a) var(--lt-bg,#f9f7f3);}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:var(--lt-bg,#f9f7f3);}
::-webkit-scrollbar-thumb{background:var(--lt-gold,#bd9a1a);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--lt-gold-dim,#a68416);}

/* ===== §R54 POPOVER + DIALOG BACKDROP ===== */
::backdrop{background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
[popover]{border:1px solid var(--lt-gold-20,rgba(189,154,26,0.2));border-radius:12px;padding:1.5rem;background:var(--lt-bg,#f9f7f3);color:var(--lt-text,#2c2c2c);}

/* ===== §R56 CSS MATH — PRECISION SPACING ===== */
@supports(width:round(nearest,1px,1px)){
  .cm-lt-section{padding-block:round(nearest,clamp(1.5rem,3vw,3rem),4px);}
  .cm-lt-grid{gap:round(nearest,clamp(1rem,2vw,2rem),4px);}
}

/* ===== §Mobile-Polish: SCROLL-TO-TOP BUTTON ===== */
.cm-scroll-top{
  position:fixed;bottom:80px;right:16px;z-index:997;
  width:44px;height:44px;border-radius:50%;
  background:var(--lt-surface,rgba(255,255,255,0.92));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid var(--lt-border,rgba(189,154,26,0.2));
  color:var(--lt-gold,#bd9a1a);font-size:18px;
  display:none;align-items:center;justify-content:center;
  opacity:0;transform:translateY(12px);
  transition:opacity 0.3s ease,transform 0.3s ease,background 0.2s ease;
  cursor:pointer;-webkit-user-select:none;user-select:none;
  touch-action:manipulation;
  box-shadow:0 2px 12px rgba(0,0,0,0.08);
}
.cm-scroll-top.cm-stt-visible{display:flex;opacity:1;transform:translateY(0);}
.cm-scroll-top:active{transform:scale(0.9);}
@supports(padding:env(safe-area-inset-bottom)){
  .cm-scroll-top{bottom:calc(80px + env(safe-area-inset-bottom));}
}
@media(max-width:768px){
  .cm-scroll-top{bottom:72px;right:12px;width:40px;height:40px;font-size:16px;}
}
/* Dark mode variant */
body.cm-dark .cm-scroll-top{
  background:rgba(30,30,30,0.92);border-color:rgba(189,154,26,0.25);
  box-shadow:0 2px 12px rgba(0,0,0,0.3);
}

/* ===== §Mobile-Upgrade: MOBILE STICKY CTA ===== */
.cm-sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:998;
  background:rgba(26,26,24,0.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-top:1px solid rgba(189,154,26,0.3);padding:12px 20px;text-align:center;
  transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.cm-sticky-cta.cm-cta-visible{transform:translateY(0);}
@media(max-width:768px){.cm-sticky-cta{display:block;}}
.cm-sticky-cta a{display:block;background:var(--lt-gold,#bd9a1a);color:#1a1a18;
  font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  text-decoration:none;padding:14px 24px;min-height:48px;border-radius:2px;
  touch-action:manipulation;transition:background 0.2s;
}
.cm-sticky-cta a:hover{background:var(--lt-gold-dim,#a68416);}
.cm-sticky-cta a:active{opacity:0.88;transform:scale(0.98);}
@supports(padding:env(safe-area-inset-bottom)){
  .cm-sticky-cta{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));}
}
body.cm-dark .cm-sticky-cta{background:rgba(18,18,18,0.96);border-top-color:rgba(212,175,55,0.3);}
body.cm-dark .cm-sticky-cta a{background:var(--dk-gold,#d4af37);color:#111;}
/* Adjust scroll-to-top when sticky CTA is visible */
.cm-sticky-cta.cm-cta-visible ~ .cm-scroll-top,.cm-cta-visible + .cm-scroll-top{bottom:calc(72px + 56px);}
@media(max-width:768px){
  .cm-scroll-top{transition:bottom 0.3s ease,opacity 0.3s ease,transform 0.3s ease;}
}

/* ===== §Mobile-Upgrade: SCROLL PROGRESS BAR ===== */
#cm-scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--lt-gold-dim,#a68416),var(--lt-gold,#bd9a1a));z-index:201;width:0%;pointer-events:none;box-shadow:0 0 6px rgba(189,154,26,0.4);transition:width 0.08s linear;}
body.cm-dark #cm-scroll-progress{background:linear-gradient(90deg,var(--dk-gold-dim,#8B7D2A),var(--dk-gold,#d4af37));box-shadow:0 0 6px rgba(212,175,55,0.4);}
@supports(animation-timeline:scroll()){
  #cm-scroll-progress{transition:none;width:100%;transform-origin:left;scale:0 1;animation:cm-scroll-progress linear;animation-timeline:scroll();}
  @keyframes cm-scroll-progress{from{scale:0 1;}to{scale:1 1;}}
}
@media print{#cm-scroll-progress{display:none!important;}}

/* ===== DISPATCH NEWSLETTER CAPTURE ===== */
.cm-dispatch{text-align:center;padding:8px 0 16px;}
.cm-dispatch-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--lt-charcoal);margin-bottom:6px;}
.cm-dispatch-sub{font-family:'Inter',sans-serif;font-size:13px;color:var(--lt-muted);line-height:1.7;margin-bottom:16px;max-width:400px;margin-left:auto;margin-right:auto;}
.cm-dispatch-form{display:flex;gap:8px;max-width:380px;margin:0 auto 10px;}
.cm-dispatch-input{flex:1;padding:10px 14px;font-family:'Inter',sans-serif;font-size:13px;background:#fff;border:1.5px solid rgba(184,148,42,0.2);border-radius:6px;color:var(--lt-charcoal);outline:none;transition:border-color 0.3s;}
.cm-dispatch-input::placeholder{color:var(--lt-muted);font-style:italic;}
.cm-dispatch-input:focus{border-color:var(--lt-gold);}
.cm-dispatch-btn{padding:10px 20px;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;background:var(--lt-gold);color:#fff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background 0.3s,transform 0.15s;}
.cm-dispatch-btn:hover{background:var(--lt-gold-rich);transform:translateY(-1px);}
.cm-dispatch-privacy{font-family:'Inter',sans-serif;font-size:10px;color:var(--lt-muted);opacity:0.5;}
.cm-dispatch-success{display:none;font-family:'Inter',sans-serif;font-size:14px;color:var(--lt-gold);line-height:1.7;padding:8px 0;}
.cm-dispatch.cm-dispatch-submitted .cm-dispatch-form{display:none;}
.cm-dispatch.cm-dispatch-submitted .cm-dispatch-sub{display:none;}
.cm-dispatch.cm-dispatch-submitted .cm-dispatch-privacy{display:none;}
.cm-dispatch.cm-dispatch-submitted .cm-dispatch-success{display:block;}
@media(max-width:600px){.cm-dispatch-form{flex-direction:column;}.cm-dispatch-btn{width:100%;}}
.cm-dark .cm-dispatch-input{background:rgba(255,255,255,0.06);border-color:rgba(184,148,42,0.3);color:#f4f1ea;}
.cm-dark .cm-dispatch-input::placeholder{color:rgba(244,241,234,0.4);}
.cm-dark .cm-dispatch-title{color:#f4f1ea;}
.cm-dark .cm-dispatch-sub{color:rgba(244,241,234,0.5);}

/* ===== PRINT STYLESHEET ===== */
@page{margin:1.8cm 1.5cm;size:auto;}
@page:first{margin-top:1cm;}
@media print{
  .cm-sys-strip,.cm-dark-toggle,.cm-share-btn,.cm-lt-social,.cm-np-bars,.cm-lt-eco,.cm-radar-canvas{display:none!important;}
  body{background:#fff!important;color:#1a1a18!important;font-size:12pt!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .cm-lt-main{padding:20px!important;min-height:auto!important;}
  .cm-lt-card{break-inside:avoid;border:1px solid #ccc!important;box-shadow:none!important;background:#fff!important;}
  .cm-spotlight-card{break-inside:avoid;border:1px solid #ccc!important;box-shadow:none!important;}
  .cm-philosophy{break-inside:avoid;}
  .cm-lt-header h1{font-size:28pt!important;color:#1a1a18!important;}
  a{color:var(--lt-gold-rich)!important;text-decoration:underline!important;}
  a[href]::after{content:" (" attr(href) ")";font-size:9pt;color:#666;}
  .cm-contact-primary[href]::after,a[href^="#"]::after,.cm-lt-footer a[href]::after{display:none!important;}
  *{animation:none!important;transition:none!important;}
  p,li,blockquote{orphans:3;widows:3;}
  h1,h2,h3,h4{break-after:avoid;page-break-after:avoid;}
}
