:root{
  --cct-app-bg:#050505;
  --cct-app-panel:#0b0b0e;
  --cct-app-panel-2:#111114;
  --cct-app-text:#f4f1ea;
  --cct-app-muted:#a7a29a;
  --cct-app-line:rgba(255,255,255,.12);
  --cct-app-soft:rgba(255,255,255,.06);
  --cct-app-accent:#d8c7a1;
  --cct-app-accent-2:#e6d7b8;
}

.lsc-saved-charts {
  max-width: 1080px;
  margin: 48px auto;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background: rgba(12,12,24,.72);
}
.lsc-saved-chart {
  display: grid;
  gap: 14px;
  padding: 18px;
  margin-bottom: 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.045);
}
.lsc-saved-name {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(5,5,12,.78);
  color: #fff;
}
.lsc-saved-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lsc-saved-actions button,
.cct-compat-dimensions span {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: #f8f3df;
}
.lsc-saved-actions button {
  min-height: 42px;
  padding: 0 18px;
}
.cct-compat-dimensions {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin: 18px 0;
}
.cct-compat-dimensions span {
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
@media(max-width:640px) {
  .cct-compat-dimensions {
    grid-template-columns: 1fr;
  }
}

.cct-natal-tool{position:relative;margin:30px auto;overflow:hidden}
.cct-natal-tool>div{position:relative;z-index:1}
.cct-natal-tool>div:first-child{min-width:0}
.cct-natal-form.astro-search{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;max-width:720px}
.cct-natal-form .field{min-width:0}
.cct-natal-form .field input{min-width:0;width:100%}
.cct-natal-form button{position:relative;grid-column:1/-1;width:100%;min-width:0;overflow:hidden}
.cct-natal-form button:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-120%);transition:transform .55s ease}
.cct-natal-form button:hover:after{transform:translateX(120%)}
.cct-loading{display:inline-block;width:18px;height:18px;margin-right:9px;border:1px solid rgba(244,241,234,.25);border-top-color:var(--cct-app-accent);border-radius:999px;vertical-align:-4px;animation:cctSpin .75s linear infinite}

.cct-natal-pro{position:relative;margin-top:34px;border:1px solid rgba(231,198,120,.16);border-radius:34px;background:#07070c;color:var(--cct-app-text);overflow:hidden;box-shadow:0 34px 110px rgba(0,0,0,.44);animation:cctResultIn .62s cubic-bezier(.2,.8,.2,1) both}
.cct-natal-pro:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.11) .6px,transparent .8px);background-size:42px 42px;opacity:.12;mask-image:linear-gradient(#000,transparent 74%)}
.cct-natal-pro:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 77% 15%,rgba(167,139,250,.12),transparent 34%),radial-gradient(circle at 18% 5%,rgba(231,198,120,.1),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.045),transparent 30%)}

.cct-result-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);gap:44px;align-items:center;padding:56px 58px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#060609 0%,#0c0c13 58%,#13110e 100%)}
.cct-result-hero-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(42px,5.8vw,74px);font-weight:700;line-height:.96;letter-spacing:-.01em;margin:18px 0 24px;max-width:760px;background:linear-gradient(180deg,#fffaf1,#c7c0b5);-webkit-background-clip:text;background-clip:text;color:transparent}
.cct-result-hero .mini-label,.cct-section-title span{display:block;color:var(--cct-app-accent);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.cct-result-meta{display:flex;flex-wrap:wrap;gap:9px;margin:0;color:var(--cct-app-muted);font-size:13px;line-height:1.7}
.cct-result-meta span{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid var(--cct-app-line);border-radius:999px;background:rgba(255,255,255,.035)}
.cct-result-chart{display:grid;place-items:center;min-width:0;position:relative}
.cct-result-chart:before{content:"";position:absolute;width:min(520px,92%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(231,198,120,.12),transparent 60%);filter:blur(18px);opacity:.9}
.cct-chart-fallback{display:grid;place-items:center;width:min(420px,100%);aspect-ratio:1;border:1px solid var(--cct-app-line);border-radius:999px;color:var(--cct-app-accent);font-size:52px}

.cct-result-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;padding:42px 64px 24px}
.cct-result-main,.cct-result-side{min-width:0}
.cct-result-side{display:flex;flex-direction:column;gap:18px}
.cct-section-title{margin:0 0 18px}
.cct-section-title h3{margin:7px 0 0;color:var(--cct-app-text);font-family:"Playfair Display",Cinzel,Georgia,serif;font-size:clamp(25px,3vw,38px);font-weight:650;letter-spacing:.01em}

.cct-core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:34px}
.cct-core-card{position:relative;min-height:220px;padding:24px;border:1px solid var(--cct-app-line);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));transition:transform .24s ease,border-color .24s ease,background .24s ease}
.cct-core-card:hover{transform:translateY(-3px);border-color:rgba(230,215,184,.38);background:rgba(255,255,255,.075)}
.cct-core-glyph{font-family:Georgia,serif;font-size:48px;line-height:1;color:var(--cct-app-accent);margin-bottom:30px}
.cct-core-card small{display:block;color:var(--cct-app-muted);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.cct-core-card strong{display:block;margin:10px 0 7px;color:var(--cct-app-text);font-family:"Playfair Display",Georgia,serif;font-size:31px;font-weight:650;line-height:1.08}
.cct-core-card p{margin:0;color:var(--cct-app-muted);font-size:14px}
.cct-core-card em{position:absolute;left:24px;bottom:22px;color:var(--cct-app-accent-2);font-style:normal;font-size:13px}

.cct-interpretation,.cct-energy-card,.cct-share-card{border:1px solid var(--cct-app-line);background:var(--cct-app-panel)}
.cct-interpretation{padding:28px;margin-bottom:34px}
.cct-interpretation article{padding:22px 0;border-top:1px solid var(--cct-app-line)}
.cct-interpretation article:first-of-type{border-top:0}
.cct-interpretation b{display:block;margin-bottom:8px;color:var(--cct-app-accent);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.cct-interpretation p{margin:0;color:#d8d3ca;line-height:1.78;font-size:15px}
.cct-interpretation small{display:block;margin-top:8px;color:var(--cct-app-muted);line-height:1.6}

.cct-planetary-breakdown{margin-bottom:16px}
.cct-planet-grid{display:grid;grid-template-columns:1fr;gap:8px}
.cct-planet-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:14px;align-items:center;min-height:74px;padding:14px 16px;border:1px solid var(--cct-app-line);background:rgba(255,255,255,.025);transition:background .22s ease,border-color .22s ease,transform .22s ease}
.cct-planet-card:hover{transform:translateX(3px);border-color:rgba(230,215,184,.34);background:rgba(255,255,255,.06)}
.cct-planet-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--cct-app-line);border-radius:999px;color:var(--cct-app-accent);font-family:Georgia,serif;font-size:22px}
.cct-planet-name strong{display:block;color:var(--cct-app-text);font-size:15px;font-weight:700}
.cct-planet-name small{display:block;margin-top:2px;color:var(--cct-app-muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.cct-planet-sign{text-align:right}
.cct-planet-sign span{display:block;color:var(--cct-app-text);font-weight:700}
.cct-planet-sign em{display:block;margin-top:3px;color:var(--cct-app-muted);font-style:normal;font-size:12px}
.cct-retro-badge{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(216,199,161,.46);border-radius:999px;color:var(--cct-app-accent);font-size:11px;font-weight:900}

.cct-energy-card{position:sticky;top:22px;padding:24px}
.cct-energy-card .cct-section-title h3{font-size:28px}
.cct-energy-row{margin-top:20px}
.cct-energy-row div{display:flex;justify-content:space-between;gap:16px;margin-bottom:9px;color:var(--cct-app-muted);font-size:13px}
.cct-energy-row strong{color:var(--cct-app-text)}
.cct-energy-row i{display:block;height:4px;background:rgba(255,255,255,.1);overflow:hidden}
.cct-energy-row b{display:block;height:100%;background:linear-gradient(90deg,#f4f1ea,var(--cct-app-accent));animation:cctFill 1.05s cubic-bezier(.2,.8,.2,1) both}
.cct-share-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
.cct-share-card button{min-height:42px;border:1px solid var(--cct-app-line);background:transparent;color:var(--cct-app-text);font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease}
.cct-share-card button:hover{background:var(--cct-app-text);color:var(--cct-app-bg)}

.cct-natal-wheel{position:relative;z-index:1;width:min(460px,100%);height:auto;overflow:visible;filter:drop-shadow(0 26px 60px rgba(0,0,0,.55))}
.cct-natal-wheel > circle:nth-of-type(1){fill:rgba(0,0,0,.24);stroke:rgba(244,241,234,.3);stroke-width:.8}
.cct-natal-wheel > circle:nth-of-type(2){fill:none;stroke:rgba(231,198,120,.22);stroke-width:.8}
.cct-natal-wheel > circle:nth-of-type(3){fill:rgba(231,198,120,.1);stroke:rgba(231,198,120,.36);stroke-width:.8}
.cct-natal-wheel .cct-house-line{stroke:rgba(244,241,234,.11);stroke-width:.65}
.cct-natal-wheel .cct-aspect-line{stroke:rgba(231,198,120,.22);stroke-width:.65;opacity:.62}
.cct-natal-wheel .cct-aspect-square,.cct-natal-wheel .cct-aspect-opposition{stroke:rgba(188,166,255,.3)}
.cct-natal-wheel .cct-wheel-point circle{fill:rgba(231,198,120,.12);stroke:rgba(231,198,120,.5);stroke-width:.9}
.cct-natal-wheel .cct-wheel-point text{fill:#fffaf1;font:800 12px "Be Vietnam Pro",Inter,Arial,sans-serif;letter-spacing:0;text-shadow:0 1px 8px rgba(0,0,0,.85)}
.cct-natal-wheel .cct-wheel-midheaven text,.cct-natal-wheel .cct-wheel-ascendant text{font-size:15px}
.cct-natal-wheel .cct-wheel-point{transition:opacity .2s ease,transform .2s ease}
.cct-natal-wheel .cct-wheel-point:hover{opacity:1;transform:scale(1.05);transform-box:fill-box;transform-origin:center}

.cct-natal-warning{margin:16px 0 0;padding:13px 15px;border:1px solid rgba(216,199,161,.34);background:rgba(216,199,161,.08);color:var(--cct-app-accent-2);line-height:1.6}
.cct-natal-cta{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;padding:6px 64px 58px}
.cct-cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid rgba(231,198,120,.24);border-radius:999px;background:rgba(255,255,255,.035);color:#fffaf1;font-weight:800;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.cct-cta-button:hover{transform:translateY(-2px);background:linear-gradient(135deg,#ffe0a0,#bca6ff);border-color:transparent;color:#130f12}

body.light .cct-natal-pro{background:#050505;color:var(--cct-app-text)}
body.light .cct-natal-wheel text{fill:var(--cct-app-text)}

@keyframes cctResultIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes cctSpin{to{transform:rotate(360deg)}}
@keyframes cctFill{from{width:0}}
@keyframes cctPulse{0%,100%{opacity:.72}50%{opacity:1}}

@media(max-width:1100px){
  .cct-result-hero,.cct-result-shell{grid-template-columns:1fr}
  .cct-result-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}
  .cct-energy-card{position:relative;top:auto}
}

@media(max-width:860px){
  .cct-natal-form.astro-search{grid-template-columns:1fr;max-width:none}
  .cct-result-hero,.cct-result-shell,.cct-natal-cta{padding-left:28px;padding-right:28px}
  .cct-core-grid{grid-template-columns:1fr}
  .cct-result-side{grid-template-columns:1fr}
  .cct-result-hero-copy h2{font-size:clamp(38px,12vw,62px)}
}

@media(max-width:560px){
  .cct-result-hero{gap:30px;padding-top:38px;padding-bottom:34px}
  .cct-result-shell{padding-top:30px}
  .cct-result-meta{display:grid}
  .cct-core-card{min-height:176px}
  .cct-planet-card{grid-template-columns:38px minmax(0,1fr);align-items:start}
  .cct-planet-icon{width:36px;height:36px;font-size:19px}
  .cct-planet-sign{text-align:left;grid-column:2}
  .cct-retro-badge{position:absolute;right:14px;top:14px}
  .cct-natal-cta{flex-direction:column}
  .cct-cta-button{width:100%}
}

/* Homepage hero form: keep the location field readable on desktop. */
.hero-copy #zodiacForm.astro-search{
  width:min(100%,860px);
  padding:18px;
  grid-template-columns:minmax(160px,1fr) minmax(140px,.86fr) minmax(230px,1.35fr);
  gap:14px;
}
.hero-copy #zodiacForm .field label{
  font-size:13px;
  margin-bottom:8px;
}
.hero-copy #zodiacForm .field input{
  height:58px;
  border-radius:17px;
  font-size:15px;
  padding:0 18px;
}
.hero-copy #zodiacForm button{
  grid-column:1/-1;
  width:100%;
  height:58px;
  border-radius:17px;
  font-size:16px;
}
@media(min-width:1800px){
  .hero-copy #zodiacForm.astro-search{
    grid-template-columns:minmax(175px,1fr) minmax(150px,.9fr) minmax(255px,1.4fr) auto;
  }
  .hero-copy #zodiacForm button{
    grid-column:auto;
    width:auto;
    min-width:230px;
  }
}
@media(max-width:767px){
  .hero-copy #zodiacForm.astro-search{
    grid-template-columns:1fr;
    width:100%;
  }
}

/* Homepage quick chart form uses the same compact class, but needs full input width. */
.tools-section .cct-chart-tool.astro-search{
  grid-column:1/-1;
  width:100%;
  padding:18px;
  grid-template-columns:minmax(170px,1fr) minmax(150px,.9fr) minmax(260px,1.35fr);
  gap:14px;
}
.tools-section .cct-chart-tool .field input{
  height:58px;
  border-radius:17px;
  font-size:15px;
  padding:0 18px;
}
.tools-section .cct-chart-tool button{
  grid-column:1/-1;
  width:100%;
  height:58px;
  border-radius:17px;
  font-size:16px;
}
@media(min-width:1800px){
  .tools-section .cct-chart-tool.astro-search{
    grid-template-columns:minmax(180px,1fr) minmax(155px,.9fr) minmax(280px,1.4fr) auto;
  }
  .tools-section .cct-chart-tool button{
    grid-column:auto;
    width:auto;
    min-width:230px;
  }
}
@media(max-width:767px){
  .tools-section .cct-chart-tool.astro-search{
    grid-template-columns:1fr;
  }
}

/* Homepage tool split: quick Sun lookup vs full natal chart. */
.tools-section .cct-tool-action-panel{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:18px;
  align-items:stretch;
  width:100%;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.04));
  box-shadow:0 24px 70px rgba(0,0,0,.26);
}
.tools-section .cct-sun-lookup{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin:0;
}
.tools-section .cct-sun-lookup .field{
  min-width:0;
}
.tools-section .cct-sun-lookup .field label{
  display:block;
  margin:0 0 8px;
  color:#c9c2e5;
  font-size:14px;
  font-weight:800;
}
.tools-section .cct-sun-lookup .field input{
  width:100%;
  height:58px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:#090918;
  color:#fff;
  font-size:16px;
  font-weight:800;
  outline:none;
}
.tools-section .cct-sun-lookup .field input:focus{
  border-color:rgba(167,139,250,.72);
  box-shadow:0 0 0 4px rgba(167,139,250,.14);
}
.tools-section .cct-sun-lookup button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:auto;
  min-width:220px;
  height:58px;
  padding:0 22px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#6c5ce7,#9b8cff);
  color:#fff;
  font-size:16px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.tools-section .cct-tool-separator{
  display:grid;
  place-items:end center;
  min-width:62px;
}
.tools-section .cct-tool-separator span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  height:34px;
  margin-bottom:12px;
  border:1px solid rgba(255,224,138,.24);
  border-radius:999px;
  color:#ffe08a;
  background:rgba(255,224,138,.06);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.tools-section .cct-chart-cta{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:"icon title" "icon desc";
  column-gap:14px;
  row-gap:4px;
  align-content:center;
  min-height:86px;
  padding:18px 20px;
  border:1px solid rgba(255,224,138,.28);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,224,138,.1),rgba(167,139,250,.08));
  color:#fff;
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.tools-section .cct-chart-cta:hover{
  transform:translateY(-2px);
  border-color:rgba(255,224,138,.52);
  background:linear-gradient(135deg,rgba(255,224,138,.16),rgba(167,139,250,.12));
}
.tools-section .cct-chart-cta i{
  grid-area:icon;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  color:#ffe08a;
  font-size:18px;
}
.tools-section .cct-chart-cta strong{
  grid-area:title;
  color:#fff;
  font-size:18px;
  line-height:1.25;
}
.tools-section .cct-chart-cta span{
  grid-area:desc;
  color:#cfc9e9;
  font-size:14px;
  line-height:1.45;
}
.tools-section .cct-chart-result{
  grid-column:1/-1;
  max-width:720px;
  margin-top:0;
}
@media(max-width:991px){
  .tools-section .cct-tool-action-panel{
    grid-template-columns:1fr;
    gap:14px;
  }
  .tools-section .cct-tool-separator{
    place-items:center;
    min-width:0;
  }
  .tools-section .cct-tool-separator span{
    margin:0;
  }
}
@media(max-width:640px){
  .tools-section .cct-tool-action-panel{
    padding:14px;
    border-radius:20px;
  }
  .tools-section .cct-sun-lookup{
    grid-template-columns:1fr;
  }
  .tools-section .cct-sun-lookup button{
    width:100%;
    min-width:0;
  }
  .tools-section .cct-chart-cta{
    grid-template-columns:1fr;
    grid-template-areas:"icon" "title" "desc";
  }
}

.cct-seo-page{background:#090918;color:var(--text)}
.cct-seo-hero{position:relative;overflow:hidden;padding:148px 0 76px;background:radial-gradient(circle at 72% 22%,rgba(108,92,231,.25),transparent 32%),linear-gradient(135deg,#080815,#10102a 58%,#070713)}
.cct-seo-hero>.container{position:relative;z-index:2}
.cct-seo-hero h1{font-family:Cinzel,serif;font-size:clamp(44px,6vw,84px);line-height:1.04;margin:12px 0 18px;color:#fff}
.cct-seo-hero p{max-width:820px;color:#d6d0ee;line-height:1.85;font-size:18px}
.cct-breadcrumb{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px;color:#bdb7d8;font-size:14px}
.cct-breadcrumb a{color:#ffe08a}.cct-breadcrumb strong{color:#fff}
.cct-seo-section{padding:70px 0;position:relative}
.cct-seo-section h2{font-family:Cinzel,serif;color:#fff;font-size:clamp(30px,4vw,48px);margin:0 0 20px}
.cct-zodiac-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cct-zodiac-card,.cct-info-grid article,.cct-empty-state,.cct-seo-cta,.cct-side-card,.cct-fact-grid div,.cct-compat-box,.cct-faq-list article{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.cct-zodiac-card{padding:26px;display:flex;flex-direction:column;min-height:290px}
.cct-zodiac-glyph{font-size:46px;color:var(--gold);line-height:1;margin-bottom:18px}
.cct-zodiac-card h2{font-size:24px;margin-bottom:8px}.cct-zodiac-card p{color:#cfc9e9;line-height:1.7}.cct-card-meta{color:#ffe08a!important;font-weight:700}
.cct-outline-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;padding:0 16px;border:1px solid rgba(255,224,138,.32);border-radius:999px;color:#ffe08a;font-weight:800}
.cct-outline-link:hover{background:#ffe08a;color:#121020}
.cct-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cct-info-grid article{padding:26px}.cct-info-grid h3,.cct-info-grid h2{font-family:Cinzel,serif;font-size:26px;margin:0 0 12px;color:#fff}.cct-info-grid p{color:#cfc9e9;line-height:1.8}.cct-info-grid a{color:#ffe08a;margin-right:10px}
.cct-elements-band{background:radial-gradient(circle at 15% 20%,rgba(255,224,138,.12),transparent 35%),#0d0d22}
.cct-seo-cta{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:34px}.cct-seo-cta p{color:#cfc9e9;line-height:1.8;max-width:760px}
.cct-zodiac-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}.cct-zodiac-symbol{font-size:clamp(120px,18vw,240px);line-height:1;color:#ffe08a;text-shadow:0 0 80px rgba(255,224,138,.28)}
.cct-hero-links,.cct-chip-row,.cct-internal-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.cct-hero-links a,.cct-chip-row a,.cct-internal-links a{padding:10px 14px;border:1px solid var(--border);border-radius:999px;color:#fff;background:rgba(255,255,255,.06)}
.cct-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.cct-main-content{min-width:0}.cct-main-content section{margin-bottom:34px}.cct-main-content p,.cct-main-content li{color:#d6d0ee;line-height:1.85}.cct-main-content h2{font-size:34px}
.cct-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:34px}.cct-fact-grid div{padding:18px}.cct-fact-grid span{display:block;color:#bdb7d8;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.cct-fact-grid strong{display:block;color:#fff;margin-top:6px}
.cct-two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cct-sidebar{display:flex;flex-direction:column;gap:16px}.cct-side-card{padding:22px;position:sticky;top:100px}.cct-side-card+ .cct-side-card{position:static}.cct-side-card h3{color:#fff}.cct-side-card a{display:block;color:#d6d0ee;margin:9px 0}.cct-side-card p{color:#bdb7d8;line-height:1.7}
.cct-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cct-faq-list article{padding:24px}.cct-faq-list h3{color:#fff;font-size:20px}.cct-faq-list p{color:#cfc9e9;line-height:1.75}
.cct-compat-box{padding:26px}.cct-compat-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.cct-compat-form label{display:grid;gap:8px;color:#bdb7d8;font-weight:700}.cct-compat-form select{height:54px;border:1px solid var(--border);border-radius:16px;background:#101026;color:#fff;padding:0 14px}.cct-compat-form button{height:54px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:900;padding:0 20px}.cct-compat-result{margin-top:18px;padding:18px;border:1px solid rgba(255,224,138,.24);border-radius:18px;color:#f7e7a6;background:rgba(255,224,138,.08)}.cct-compat-score{display:flex;gap:12px;align-items:baseline}.cct-compat-score strong{font-size:46px;color:#fff}.cct-compat-score span{text-transform:uppercase;letter-spacing:.12em;font-weight:900}
@media(max-width:991px){.cct-zodiac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cct-info-grid,.cct-content-layout,.cct-zodiac-hero-grid,.cct-seo-cta,.cct-compat-form{grid-template-columns:1fr}.cct-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cct-sidebar{display:grid;grid-template-columns:1fr 1fr}.cct-side-card{position:static}.cct-faq-list{grid-template-columns:1fr}}
@media(max-width:575px){.cct-seo-hero{padding-top:118px}.cct-zodiac-grid,.cct-fact-grid,.cct-two-col,.cct-sidebar{grid-template-columns:1fr}.cct-zodiac-symbol{font-size:110px}.cct-seo-section{padding:48px 0}}

.cct-static-page .cct-seo-hero{padding:132px 0 54px;background:radial-gradient(circle at 82% 12%,rgba(255,224,138,.12),transparent 28%),linear-gradient(135deg,#080815,#0d0d22 62%,#070713)}
.cct-static-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;max-width:980px}
.cct-static-hero-grid h1{max-width:900px}
.cct-static-signal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:900px}
.cct-static-signal .cct-zodiac-glyph{display:none}
.cct-static-signal span{display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.055);color:#efeaff;font-size:13px;font-weight:800}
.cct-static-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(280px,340px);gap:28px;align-items:start;justify-content:center}
.cct-static-content{min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.045);box-shadow:0 22px 70px rgba(0,0,0,.24);overflow:hidden}
.cct-static-copy{padding:42px 46px}
.cct-static-copy p{color:#ded8f2;line-height:1.95;font-size:17px;margin:0 0 20px}
.cct-static-copy p:first-child{font-size:19px;color:#fff}
.cct-static-copy h2,.cct-static-copy h3{font-family:"Noto Serif",Georgia,serif;color:#fff;margin:34px 0 14px;line-height:1.25}
.cct-static-copy h2{font-size:34px}
.cct-static-copy h3{font-size:25px}
.cct-static-copy a{color:#ffe08a;font-weight:800}
.cct-static-copy ul,.cct-static-copy ol{color:#d8d2ee;line-height:1.85;padding-left:22px}
.cct-static-aside{display:flex;flex-direction:column;gap:16px;min-width:0}
.cct-static-page .cct-side-card{position:relative;top:auto;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.22);overflow:hidden}
.cct-static-page .cct-side-card h3{font-family:"Noto Serif",Georgia,serif;font-size:24px;margin-bottom:16px}
.cct-static-page .cct-side-card a:not(.cct-outline-link){padding:10px 0;border-top:1px solid rgba(255,255,255,.08);font-weight:700}
.cct-static-page .cct-outline-link{width:100%;margin-top:12px}
.cct-static-band{padding-top:28px;background:transparent}
.cct-static-band .cct-info-grid article{box-shadow:0 18px 55px rgba(0,0,0,.18)}
@media(max-width:991px){
  .cct-static-layout{grid-template-columns:1fr}
  .cct-static-aside{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:575px){
  .cct-static-page .cct-seo-hero{padding-top:112px}
  .cct-static-signal{grid-template-columns:1fr}
  .cct-static-copy{padding:28px 22px}
  .cct-static-copy p{font-size:16px}
  .cct-static-aside{grid-template-columns:1fr}
}

.cct-article-hero{padding-bottom:70px}
.cct-article-hero-inner{max-width:940px}
.cct-article-hero h1{max-width:980px;font-size:clamp(38px,5.5vw,72px)}
.cct-article-hero p{max-width:820px}
.cct-article-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.cct-article-meta span{padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.06);color:#d8d2ee;font-size:13px;font-weight:700}
.cct-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.cct-article-card{min-width:0;border:1px solid var(--border);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.04));box-shadow:var(--shadow);overflow:hidden}
.cct-article-cover{margin:0;border-bottom:1px solid var(--border)}
.cct-article-cover img{width:100%;max-height:430px;object-fit:cover}
.cct-article-content{padding:42px 48px}
.cct-article-content h2,.cct-article-content h3{font-family:"Noto Serif",Georgia,serif;color:#fff;line-height:1.25;margin:34px 0 14px}
.cct-article-content h2{font-size:clamp(28px,3vw,42px)}
.cct-article-content h3{font-size:25px}
.cct-article-content p{color:#d8d2ee;font-size:17px;line-height:1.95;margin:0 0 22px}
.cct-article-content a{color:#ffe08a;font-weight:800}
.cct-article-content ul,.cct-article-content ol{color:#d8d2ee;line-height:1.9;padding-left:24px}
.cct-article-content blockquote{margin:30px 0;padding:22px 26px;border-left:3px solid #ffe08a;background:rgba(255,224,138,.08);color:#fff;border-radius:18px}
.cct-article-actions{display:flex;gap:12px;flex-wrap:wrap;padding:0 48px 42px}
.cct-article-sidebar{display:flex;flex-direction:column;gap:16px}
.cct-article-related{background:radial-gradient(circle at 86% 15%,rgba(255,224,138,.1),transparent 34%),#0d0d22}
.cct-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cct-related-card{padding:24px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:var(--shadow);min-height:240px;display:flex;flex-direction:column}
.cct-related-card span{color:#ffe08a;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.cct-related-card h3{font-family:"Noto Serif",Georgia,serif;font-size:24px;line-height:1.25;margin:14px 0;color:#fff}
.cct-related-card p{color:#cfc9e9;line-height:1.75;margin:auto 0 0}
@media(max-width:991px){
  .cct-article-layout{grid-template-columns:1fr}
  .cct-article-sidebar{display:grid;grid-template-columns:1fr 1fr}
  .cct-related-grid{grid-template-columns:1fr}
}
@media(max-width:575px){
  .cct-article-content{padding:28px 22px}
  .cct-article-actions{padding:0 22px 28px}
  .cct-article-sidebar{grid-template-columns:1fr}
}

/* Vietnamese-safe typography refresh. */
body,
button,
input,
select,
textarea,
.main-nav a,
.hero-desc,
.cct-seo-page,
.cct-natal-pro{
  font-family:"Be Vietnam Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.brand-text,
.hero-copy h1,
.section-head h2,
.chart-box h2,
.newsletter h2,
.cct-result-hero-copy h2,
.cct-section-title h3,
.cct-core-card strong,
.cct-seo-hero h1,
.cct-seo-section h2,
.cct-info-grid h2,
.cct-info-grid h3,
.cct-main-content h2{
  font-family:"Noto Serif",Georgia,"Times New Roman",serif;
  letter-spacing:0;
}
.hero-copy h1,
.cct-seo-hero h1,
.cct-result-hero-copy h2{
  font-weight:800;
}

/* Header navigation: shorter, user-focused, no awkward line breaks. */
.header-inner{
  gap:18px;
}
.brand-text{
  font-size:clamp(20px,1.7vw,25px);
  white-space:nowrap;
}
.main-nav{
  flex:1 1 auto;
  justify-content:center;
  gap:clamp(12px,1.45vw,22px);
  min-width:0;
}
.main-nav a{
  white-space:nowrap;
  font-size:14px;
  line-height:1;
}
.header-actions{
  flex:0 0 auto;
  gap:10px;
}
.header-actions .btn-glow{
  padding:13px 18px;
  white-space:nowrap;
}
@media(max-width:1180px){
  .header-actions .btn-glow{
    display:none;
  }
  .main-nav{
    gap:14px;
  }
}
@media(max-width:991px){
  .main-nav{
    justify-content:flex-start;
    gap:18px;
  }
  .main-nav a{
    white-space:normal;
    line-height:1.35;
  }
}

/* Static pages: richer editorial/legal content. */
.cct-static-page .cct-seo-hero h1{
  font-size:clamp(40px,5vw,76px);
  line-height:1.05;
}
.cct-static-copy .cct-static-updated{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  margin:0 0 24px;
  border:1px solid rgba(255,224,138,.24);
  border-radius:999px;
  background:rgba(255,224,138,.075);
  color:#ffe08a;
  font-size:13px;
  font-weight:800;
}
.cct-static-copy > h2{
  position:relative;
  padding-top:30px;
  margin-top:34px;
}
.cct-static-copy > h2:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,rgba(255,224,138,.42),rgba(255,255,255,.08),transparent);
}
.cct-static-copy > h2:first-of-type{
  margin-top:12px;
}
.cct-static-copy > h2:first-of-type:before{
  display:none;
}
.cct-static-copy li{
  margin-bottom:10px;
}
.cct-static-copy ul{
  list-style:none;
  padding-left:0;
  display:grid;
  gap:10px;
  margin:18px 0 24px;
}
.cct-static-copy ul li{
  position:relative;
  padding:13px 16px 13px 42px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  color:#ded8f2;
}
.cct-static-copy ul li:before{
  content:"";
  position:absolute;
  left:18px;
  top:22px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ffe08a;
  box-shadow:0 0 18px rgba(255,224,138,.35);
}
.cct-static-page .cct-faq{
  padding-top:18px;
  background:radial-gradient(circle at 15% 10%,rgba(255,224,138,.08),transparent 34%),#090918;
}
.cct-static-page .cct-faq h2{
  font-family:"Noto Serif",Georgia,serif;
}
.cct-static-page .cct-faq-list article{
  border-radius:18px;
}
.cct-static-page .site-footer .footer-grid{
  grid-template-columns:1.25fr .8fr .95fr 1fr;
}
@media(max-width:991px){
  .cct-static-page .site-footer .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:575px){
  .cct-static-page .cct-seo-hero h1{
    font-size:clamp(34px,13vw,52px);
  }
  .cct-static-copy > h2{
    font-size:28px;
  }
  .cct-static-page .site-footer .footer-grid{
    grid-template-columns:1fr;
  }
}

/* Knowledge article upgrade. */
.cct-knowledge-single .cct-article-hero{
  padding:132px 0 64px;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,224,138,.1),transparent 28%),
    radial-gradient(circle at 12% 30%,rgba(108,92,231,.2),transparent 32%),
    linear-gradient(135deg,#070713,#0c0c20 64%,#05050f);
}
.cct-knowledge-single .cct-article-hero-inner{
  max-width:1040px;
}
.cct-knowledge-single .cct-article-hero h1{
  max-width:980px;
  font-size:clamp(38px,5vw,74px);
  line-height:1.08;
  margin-top:14px;
}
.cct-knowledge-single .cct-article-hero p{
  max-width:760px;
  font-size:18px;
  color:#d8d2ee;
}
.cct-article-shell{
  padding-top:56px;
}
.cct-knowledge-single .cct-article-layout{
  grid-template-columns:minmax(0,820px) 300px;
  gap:36px;
  align-items:start;
}
.cct-knowledge-single .cct-article-card{
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}
.cct-article-body{
  padding:0;
}
.cct-article-kicker{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:34px 42px 0;
}
.cct-article-kicker span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,224,138,.26);
  border-radius:999px;
  background:rgba(255,224,138,.07);
  color:#ffe08a;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.cct-knowledge-single .cct-article-content{
  max-width:760px;
  margin:0 auto;
  padding:28px 42px 42px;
}
.cct-knowledge-single .cct-article-content p{
  font-size:18px;
  line-height:2;
  color:#e3def4;
}
.cct-knowledge-single .cct-article-content > p:first-of-type{
  font-size:20px;
  color:#fff;
}
.cct-knowledge-single .cct-article-content h2{
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:clamp(30px,3.4vw,44px);
}
.cct-knowledge-single .cct-article-content h3{
  font-size:26px;
}
.cct-knowledge-single .cct-toc{
  margin:0 0 34px;
  padding:20px 22px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
}
.cct-knowledge-single .cct-toc strong{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-family:"Noto Serif",Georgia,serif;
  font-size:22px;
}
.cct-knowledge-single .cct-toc ol{
  margin:0;
  padding-left:20px;
}
.cct-knowledge-single .cct-toc li{
  margin:8px 0;
}
.cct-knowledge-single .cct-article-actions{
  padding:0 42px 42px;
  justify-content:flex-start;
}
.cct-knowledge-single .cct-article-sidebar{
  gap:18px;
}
.cct-knowledge-single .cct-side-card{
  position:relative;
  top:auto;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
}
.cct-knowledge-single .cct-side-card + .cct-side-card{
  position:relative;
}
.cct-article-page .cct-article-sidebar .cct-side-card{
  position:static !important;
  top:auto !important;
  z-index:auto;
}
.cct-knowledge-single .cct-side-card h3{
  font-family:"Noto Serif",Georgia,serif;
  font-size:25px;
}
.cct-knowledge-single .cct-side-card a:not(.cct-outline-link){
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.08);
  font-weight:800;
}
.cct-knowledge-single .cct-article-related{
  background:radial-gradient(circle at 10% 12%,rgba(255,224,138,.08),transparent 34%),#090918;
}
.cct-knowledge-single .cct-related-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.cct-knowledge-single .cct-related-card{
  min-height:0;
  padding:28px;
  border-radius:20px;
}
.cct-knowledge-single .cct-related-card h3{
  font-size:clamp(22px,2vw,30px);
  line-height:1.22;
  word-break:normal;
  overflow-wrap:anywhere;
}
.cct-knowledge-single .cct-related-card p{
  margin-top:10px;
}
@media(max-width:1199px){
  .cct-knowledge-single .cct-article-layout{
    grid-template-columns:minmax(0,1fr) 280px;
  }
}
@media(max-width:991px){
  .cct-knowledge-single .cct-article-layout{
    grid-template-columns:1fr;
  }
  .cct-knowledge-single .cct-article-sidebar{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .cct-knowledge-single .cct-side-card{
    position:static;
  }
  .cct-knowledge-single .cct-related-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:575px){
  .cct-knowledge-single .cct-article-hero{
    padding-top:112px;
  }
  .cct-article-kicker,
  .cct-knowledge-single .cct-article-content,
  .cct-knowledge-single .cct-article-actions{
    padding-left:22px;
    padding-right:22px;
  }
  .cct-knowledge-single .cct-article-content p{
    font-size:16.5px;
    line-height:1.9;
  }
  .cct-knowledge-single .cct-article-sidebar{
    grid-template-columns:1fr;
  }
}

/* FAQ page: help-center layout. */
.cct-faq-page{
  background:#080815;
}
.cct-faq-hero{
  padding:136px 0 70px;
  background:
    radial-gradient(circle at 80% 18%,rgba(255,224,138,.12),transparent 30%),
    radial-gradient(circle at 16% 34%,rgba(108,92,231,.22),transparent 34%),
    linear-gradient(135deg,#070713,#101026 64%,#070713);
}
.cct-faq-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:38px;
  align-items:end;
}
.cct-faq-hero h1{
  font-size:clamp(42px,6vw,84px);
  line-height:1.04;
  max-width:880px;
}
.cct-faq-hero p{
  max-width:780px;
}
.cct-faq-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
.cct-faq-actions .cct-outline-link{
  margin-top:0;
  min-height:54px;
  padding:0 24px;
}
.cct-faq-quick-card{
  padding:28px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.045));
  box-shadow:0 22px 70px rgba(0,0,0,.26);
}
.cct-faq-quick-card span{
  color:#ffe08a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cct-faq-quick-card strong{
  display:block;
  margin:14px 0;
  color:#fff;
  font-family:"Noto Serif",Georgia,serif;
  font-size:28px;
  line-height:1.25;
}
.cct-faq-quick-card p{
  margin:0;
  color:#cfc9e9;
  font-size:15px;
}
.cct-section-intro{
  max-width:760px;
  margin-bottom:28px;
}
.cct-section-intro h2{
  font-family:"Noto Serif",Georgia,serif;
  font-size:clamp(30px,4vw,50px);
}
.cct-faq-topics{
  padding-bottom:32px;
}
.cct-faq-topic-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.cct-faq-topic-grid a{
  min-height:190px;
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  box-shadow:0 18px 55px rgba(0,0,0,.18);
  transition:transform .22s ease,border-color .22s ease;
}
.cct-faq-topic-grid a:hover{
  transform:translateY(-4px);
  border-color:rgba(255,224,138,.42);
}
.cct-faq-topic-grid span{
  color:#ffe08a;
  font-weight:900;
}
.cct-faq-topic-grid strong{
  display:block;
  margin:20px 0 10px;
  color:#fff;
  font-family:"Noto Serif",Georgia,serif;
  font-size:26px;
}
.cct-faq-topic-grid em{
  display:block;
  color:#cfc9e9;
  font-style:normal;
  line-height:1.65;
}
.cct-faq-answer-section{
  padding-top:34px;
}
.cct-faq-answer-layout{
  display:grid;
  grid-template-columns:minmax(0,820px) 320px;
  gap:32px;
  align-items:start;
}
.cct-faq-answer-main{
  display:grid;
  gap:24px;
}
.cct-faq-group{
  padding:30px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));
}
.cct-faq-group h2{
  margin-bottom:20px;
  font-size:clamp(28px,3vw,42px);
}
.cct-faq-accordion{
  display:grid;
  gap:12px;
}
.cct-faq-accordion details{
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  overflow:hidden;
}
.cct-faq-accordion summary{
  cursor:pointer;
  padding:18px 22px;
  color:#fff;
  font-weight:900;
  line-height:1.45;
  list-style:none;
}
.cct-faq-accordion summary::-webkit-details-marker{
  display:none;
}
.cct-faq-accordion summary:after{
  content:"+";
  float:right;
  color:#ffe08a;
  font-size:22px;
  line-height:1;
}
.cct-faq-accordion details[open] summary:after{
  content:"-";
}
.cct-faq-accordion p{
  margin:0;
  padding:0 22px 20px;
  color:#d8d2ee;
  line-height:1.85;
}
.cct-faq-side{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.cct-faq-side .cct-side-card{
  position:static;
  border-radius:22px;
}
@media(max-width:991px){
  .cct-faq-hero-grid,
  .cct-faq-answer-layout{
    grid-template-columns:1fr;
  }
  .cct-faq-topic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cct-faq-side{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:575px){
  .cct-faq-hero{
    padding-top:112px;
  }
  .cct-faq-topic-grid,
  .cct-faq-side{
    grid-template-columns:1fr;
  }
  .cct-faq-group{
    padding:22px;
  }
  .cct-faq-accordion summary{
    padding:16px 18px;
  }
  .cct-faq-accordion p{
    padding:0 18px 18px;
  }
}

/* FAQ final polish: compact, no overlay, no fake empty gaps. */
.cct-faq-page .site-header{
  z-index:100;
}
.cct-faq-topics{
  padding:54px 0 26px !important;
}
.cct-faq-topics .cct-section-intro{
  display:grid;
  gap:10px;
  margin:0 0 20px !important;
}
.cct-faq-topics .cct-section-intro h2{
  margin:0 !important;
  font-size:clamp(30px,4vw,54px);
}
.cct-faq-topic-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:stretch;
  margin:0 !important;
}
.cct-faq-topic-grid a{
  display:grid !important;
  grid-template-columns:auto 1fr;
  grid-template-areas:"num title" "num desc";
  column-gap:14px;
  row-gap:3px;
  min-height:0 !important;
  height:auto !important;
  padding:18px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:none !important;
  color:#fff !important;
  overflow:hidden;
}
.cct-faq-topic-grid a span{
  grid-area:num;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,224,138,.1);
  color:#ffe08a;
}
.cct-faq-topic-grid a strong{
  grid-area:title;
  display:block !important;
  margin:0 !important;
  font-family:"Be Vietnam Pro",system-ui,sans-serif !important;
  font-size:16px !important;
  line-height:1.25;
  color:#fff;
}
.cct-faq-topic-grid a em{
  grid-area:desc;
  display:block !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:#bdb7d8 !important;
}
.cct-faq-answer-section{
  padding-top:24px !important;
}
.cct-faq-group{
  scroll-margin-top:120px;
}
@media(max-width:991px){
  .cct-faq-topic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:575px){
  .cct-faq-topic-grid{
    grid-template-columns:1fr !important;
  }
  .cct-faq-topic-grid a{
    padding:16px !important;
  }
}

/* Homepage knowledge cards from real CPT posts. */
.cct-home-knowledge-grid .post-card{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.cct-home-knowledge-grid .cct-post-thumb{
  display:block;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cct-home-knowledge-grid .cct-post-thumb img{
  width:100%;
  height:170px;
  object-fit:cover;
  transition:transform .35s ease;
}
.cct-home-knowledge-grid .post-card:hover .cct-post-thumb img{
  transform:scale(1.04);
}
.cct-home-knowledge-grid .post-card div{
  display:flex;
  flex-direction:column;
  flex:1;
}
.cct-home-knowledge-grid .post-card h3{
  font-size:21px;
  line-height:1.28;
}
.cct-home-knowledge-grid .post-card p{
  margin-bottom:18px;
}
.cct-home-knowledge-grid .cct-read-more{
  margin-top:auto;
  color:#ffe08a;
  font-weight:900;
}

/* Hero quick links and stats: make the cluster feel intentional and even. */
.hero-copy .hot-tags{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  width:min(100%,720px);
  margin:20px 0 18px;
}
.hero-copy .hot-tags a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.045));
  color:#f7f3ff;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.hero-copy .hot-tags a:hover{
  transform:translateY(-2px);
  border-color:rgba(255,224,138,.42);
  background:rgba(255,224,138,.1);
  color:#ffe08a;
}
.hero-copy .trust-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  width:min(100%,720px) !important;
  margin:0 !important;
}
.hero-copy .trust-row div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:126px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  box-shadow:0 16px 36px rgba(0,0,0,.17);
}
.hero-copy .trust-row strong{
  display:block;
  color:#ffe08a;
  font-size:clamp(28px,3.4vw,38px);
  font-weight:900;
  line-height:1;
  margin-bottom:8px;
}
.hero-copy .trust-row span{
  color:#cfc9e9;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
}
@media(max-width:767px){
  .hero-copy .hot-tags{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .hero-copy .trust-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100% !important;
    gap:10px !important;
  }
  .hero-copy .trust-row div{
    min-height:92px;
    padding:14px 12px;
    text-align:center;
    align-items:center;
  }
}
@media(max-width:430px){
  .hero-copy .trust-row{
    grid-template-columns:1fr;
  }
}

/* LASOCHIEMTINH.COM Pro Max layer */
.laso-site{
  --lct-ink:#f6f1e8;
  --lct-muted:#aaa2b8;
  --lct-deep:#05050b;
  --lct-panel:#10111e;
  --lct-line:rgba(246,241,232,.14);
  --lct-gold:#d9b36c;
  --lct-violet:#6d5dfc;
  background:#05050b;
}
.laso-site .site-header{
  background:rgba(5,5,11,.78);
  border-bottom:1px solid var(--lct-line);
}
.laso-site .brand-text{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:30px;
  letter-spacing:.01em;
}
.laso-site .main-nav{
  gap:18px;
}
.laso-site .main-nav a{
  white-space:nowrap;
  font-size:14px;
}
.lct-home{
  color:var(--lct-ink);
  background:
    radial-gradient(circle at 64% 10%,rgba(217,179,108,.13),transparent 24%),
    radial-gradient(circle at 20% 42%,rgba(109,93,252,.18),transparent 32%),
    radial-gradient(circle at 90% 75%,rgba(117,228,255,.1),transparent 28%),
    linear-gradient(135deg,#030308 0%,#0d0d19 45%,#05050b 100%);
  overflow:hidden;
}
.lct-home:before,
.lct-page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:54px 54px;
  opacity:.8;
}
.lct-hero{
  position:relative;
  min-height:100vh;
  padding:132px 0 58px;
}
.lct-stars:before,.lct-stars:after{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(#fff 1px,transparent 1px);
  background-size:38px 38px;
  opacity:.14;
  animation:stars 70s linear infinite;
}
.lct-stars:after{
  background-size:76px 76px;
  opacity:.08;
  animation-duration:110s;
}
.lct-hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:430px minmax(0,1fr);
  gap:38px;
  align-items:stretch;
}
.lct-birth-console,
.lct-hero-main,
.lct-three-grid article,
.lct-tool-grid a,
.lct-planet-grid a,
.lct-house-grid a,
.lct-aspect-grid a,
.lct-demo-panel,
.lct-library-card a,
.lct-reading-card{
  border:1px solid var(--lct-line);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  box-shadow:0 34px 90px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
}
.lct-birth-console{
  border-radius:36px;
  padding:22px;
  overflow:hidden;
}
.lct-console-inner{
  border:1px solid var(--lct-line);
  border-radius:28px;
  padding:22px;
  background:rgba(5,5,11,.78);
}
.lct-kicker,.lct-tag{
  display:inline-flex;
  color:var(--lct-gold);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:900;
  margin-bottom:14px;
}
.lct-console-inner h2,
.lct-hero-main h1,
.lct-ai-demo h2,
.lct-page-hero h1{
  font-family:"Cormorant Garamond",Georgia,serif;
}
.lct-console-inner h2{
  font-size:38px;
  line-height:1;
}
.lct-console-inner p,
.lct-hero-desc,
.lct-orbit-text,
.lct-ai-demo p,
.lct-page-hero p{
  color:var(--lct-muted);
  line-height:1.75;
}
.lct-birth-form{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.lct-field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.lct-birth-form input{
  height:52px;
  border-radius:16px;
  background:#0e0f1b;
}
.lct-birth-form .primary-btn{
  width:100%;
  border-radius:18px;
}
.lct-birth-console .zodiac-result{
  margin-top:14px;
}
.lct-hero-main{
  position:relative;
  overflow:hidden;
  border-radius:42px;
  padding:48px;
}
.lct-hero-main:before{
  content:"";
  position:absolute;
  right:-170px;
  top:-170px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(217,179,108,.18);
  box-shadow:inset 0 0 0 70px rgba(217,179,108,.025),inset 0 0 0 140px rgba(117,228,255,.025),0 0 110px rgba(109,93,252,.16);
}
.lct-hero-main>*{position:relative}
.lct-hero-main h1{
  max-width:820px;
  font-size:clamp(54px,7vw,98px);
  line-height:.92;
  letter-spacing:-1px;
  margin:8px 0 24px;
}
.lct-hero-desc{
  max-width:760px;
  font-size:18px;
}
.lct-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:26px 0 32px;
}
.lct-orbit-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:22px;
  align-items:center;
}
.lct-orbit-text{
  border-left:1px solid rgba(217,179,108,.34);
  padding-left:20px;
}
.lct-instrument{
  position:relative;
  display:grid;
  place-items:center;
  height:280px;
  border:1px solid rgba(217,179,108,.35);
  border-radius:50%;
  background:radial-gradient(circle,rgba(217,179,108,.13) 0 4%,transparent 5% 24%,rgba(255,255,255,.055) 25% 26%,transparent 27%),repeating-conic-gradient(from 15deg,rgba(217,179,108,.15) 0 1deg,transparent 1deg 30deg);
  box-shadow:inset 0 0 50px rgba(0,0,0,.5),0 0 70px rgba(109,93,252,.18);
  color:var(--lct-gold);
  font-size:70px;
}
.lct-instrument:before,.lct-instrument:after{
  content:"";
  position:absolute;
  border:1px solid rgba(246,241,232,.12);
  border-radius:50%;
}
.lct-instrument:before{inset:42px}
.lct-instrument:after{inset:86px}
.lct-needle{
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:120px;
  transform-origin:top;
  background:linear-gradient(var(--lct-gold),transparent);
  animation:needle 10s ease-in-out infinite;
}
@keyframes needle{50%{transform:rotate(74deg)}}
.lct-section{
  background:transparent;
}
.lct-three-grid,
.lct-tool-grid,
.lct-planet-grid,
.lct-aspect-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.lct-three-grid article,
.lct-tool-grid a,
.lct-planet-grid a,
.lct-aspect-grid a{
  min-height:210px;
  border-radius:28px;
  padding:26px;
  transition:transform .25s ease,border-color .25s ease;
}
.lct-tool-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.lct-tool-grid a{
  min-height:190px;
}
.lct-three-grid article:hover,
.lct-tool-grid a:hover,
.lct-planet-grid a:hover,
.lct-house-grid a:hover,
.lct-aspect-grid a:hover,
.lct-library-card a:hover{
  transform:translateY(-6px);
  border-color:rgba(217,179,108,.42);
}
.lct-three-grid b,
.lct-tool-grid i,
.lct-planet-grid b,
.lct-aspect-grid b{
  display:block;
  color:var(--lct-gold);
  font-size:42px;
  font-style:normal;
  margin-bottom:18px;
}
.lct-three-grid p,
.lct-tool-grid span,
.lct-planet-grid p,
.lct-aspect-grid p{
  color:var(--lct-muted);
  line-height:1.65;
}
.lct-house-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.lct-house-grid a{
  min-height:118px;
  border-radius:22px;
  padding:18px;
}
.lct-house-grid b{
  display:block;
  color:var(--lct-gold);
  font-size:28px;
}
.lct-ai-demo{
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:22px;
  align-items:center;
}
.lct-demo-panel{
  border-radius:30px;
  padding:30px;
}
.lct-final-cta{
  background:transparent;
}
.lct-page-hero{
  position:relative;
  overflow:hidden;
  padding:150px 0 76px;
  background:radial-gradient(circle at 70% 20%,rgba(217,179,108,.14),transparent 28%),linear-gradient(135deg,#05050b,#10111e);
}
.lct-page-hero>.container{position:relative;z-index:2}
.lct-page-hero h1{
  font-size:clamp(52px,7vw,92px);
  line-height:.92;
  max-width:900px;
}
.lct-library-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.lct-library-card a{
  display:flex;
  flex-direction:column;
  min-height:260px;
  border-radius:28px;
  padding:26px;
}
.lct-library-card span{
  color:var(--lct-gold);
  font-size:40px;
}
.lct-library-card p{
  color:var(--lct-muted);
  line-height:1.65;
}
.lct-library-card em{
  margin-top:auto;
  color:var(--lct-gold);
  font-style:normal;
  font-weight:900;
}
.lct-single-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:34px;
  align-items:center;
}
.lct-glyph-orb{
  display:grid;
  place-items:center;
  width:220px;
  aspect-ratio:1;
  border:1px solid rgba(217,179,108,.34);
  border-radius:50%;
  color:var(--lct-gold);
  font-size:72px;
  background:radial-gradient(circle,rgba(217,179,108,.14),rgba(255,255,255,.03));
}
.lct-cta-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}
.cct-natal-result:not(:empty){
  padding:34px 0;
}
.cct-natal-wheel .cct-wheel-point circle{
  fill:rgba(217,179,108,.16);
  stroke:rgba(217,179,108,.5);
}
.cct-natal-wheel .cct-aspect-line{
  stroke:rgba(217,179,108,.3);
  stroke-width:.7;
}
.cct-natal-wheel .cct-house-line{
  stroke:rgba(255,255,255,.12);
  stroke-width:.45;
}
.cct-aspect-breakdown{
  margin-top:34px;
}
.cct-aspect-breakdown .cct-aspect-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.cct-aspect-card{
  padding:16px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.cct-aspect-card strong,
.cct-aspect-card span,
.cct-aspect-card em{
  display:block;
}
.cct-aspect-card strong{color:#f6f1e8}
.cct-aspect-card span{color:#aaa2b8;margin-top:6px}
.cct-aspect-card em{color:#d9b36c;font-style:normal;margin-top:8px;font-weight:800}

/* LASO footer redesign */
.lct-footer{
  position:relative;
  overflow:hidden;
  padding:34px 0 0 !important;
  border-top:1px solid rgba(246,241,232,.12) !important;
  background:
    radial-gradient(circle at 18% 12%,rgba(217,179,108,.13),transparent 28%),
    radial-gradient(circle at 82% 42%,rgba(109,93,252,.16),transparent 32%),
    linear-gradient(180deg,#070711 0%,#05050b 100%) !important;
}
.lct-footer:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.28) 1px,transparent 1px);
  background-size:42px 42px;
  opacity:.12;
}
.lct-footer>.container{
  position:relative;
  z-index:1;
}
.lct-footer-orbit{
  position:absolute;
  right:4%;
  top:26px;
  width:280px;
  aspect-ratio:1;
  border:1px solid rgba(217,179,108,.16);
  border-radius:50%;
  box-shadow:inset 0 0 0 48px rgba(255,255,255,.018),inset 0 0 0 96px rgba(217,179,108,.025),0 0 90px rgba(109,93,252,.12);
  opacity:.8;
}
.lct-footer-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-bottom:22px;
  padding:28px;
  border:1px solid rgba(217,179,108,.22);
  border-radius:30px;
  background:linear-gradient(135deg,rgba(217,179,108,.11),rgba(109,93,252,.1),rgba(255,255,255,.035));
  box-shadow:0 24px 80px rgba(0,0,0,.26);
}
.lct-footer-cta span{
  display:block;
  color:#d9b36c;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.lct-footer-cta h2{
  margin:0;
  color:#f6f1e8;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(32px,4vw,54px);
  line-height:.96;
}
.lct-footer-cta p{
  max-width:760px;
  margin:12px 0 0;
  color:#aaa2b8;
  line-height:1.75;
}
.lct-footer-grid{
  display:grid;
  grid-template-columns:minmax(360px,1.22fr) repeat(3,minmax(220px,.92fr));
  gap:14px;
  align-items:stretch;
}
.lct-footer-brand,
.lct-footer-card{
  border:1px solid rgba(246,241,232,.12);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));
  backdrop-filter:blur(18px);
  box-shadow:0 20px 60px rgba(0,0,0,.2);
}
.lct-footer-brand{
  padding:22px 24px;
}
.lct-footer-brand .brand{
  margin-bottom:14px;
}
.lct-footer-brand p{
  max-width:520px;
  color:#aaa2b8 !important;
  line-height:1.68 !important;
  margin:0;
}
.lct-footer-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.lct-footer-badges span{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  padding:0 11px;
  border:1px solid rgba(217,179,108,.2);
  border-radius:999px;
  color:#d9b36c;
  background:rgba(217,179,108,.055);
  font-size:12px;
  font-weight:800;
}
.lct-footer-card{
  padding:22px 26px;
}
.lct-footer-card h4{
  margin:0 0 12px !important;
  color:#f6f1e8 !important;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:25px;
  line-height:1;
}
.lct-footer-card a{
  display:flex !important;
  align-items:center;
  min-height:31px;
  color:#aaa2b8 !important;
  line-height:1.35 !important;
  font-weight:700;
  transition:color .2s ease,transform .2s ease;
}
.lct-footer-card a:before{
  content:"";
  width:5px;
  height:5px;
  margin-right:10px;
  border-radius:50%;
  background:#d9b36c;
  opacity:.55;
}
.lct-footer-card a:hover{
  color:#f6f1e8 !important;
  transform:translateX(3px);
}
.lct-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-top:24px;
  padding:22px 0;
  border-top:1px solid rgba(246,241,232,.1);
  color:#8f8798;
}
.lct-footer-bottom p{
  margin:0;
  color:#8f8798 !important;
}
.lct-footer-bottom a{
  color:#d9b36c !important;
  font-weight:800;
}
@media(max-width:1100px){
  .lct-hero-layout,
  .lct-orbit-stage,
  .lct-ai-demo,
  .lct-single-hero-grid{
    grid-template-columns:1fr;
  }
  .lct-tool-grid,
  .lct-library-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:991px){
  .lct-footer-cta,
  .lct-footer-grid{
    grid-template-columns:1fr;
  }
  .lct-footer-cta .btn-glow{
    width:max-content;
  }
}
@media(max-width:760px){
  .lct-hero{
    padding-top:112px;
  }
  .lct-hero-main,
  .lct-birth-console{
    border-radius:28px;
  }
  .lct-hero-main{
    padding:30px;
  }
  .lct-field-row,
  .lct-three-grid,
  .lct-tool-grid,
  .lct-planet-grid,
  .lct-aspect-grid,
  .lct-library-grid{
    grid-template-columns:1fr;
  }
  .lct-house-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .lct-glyph-orb{
    width:160px;
  }
  .cct-aspect-breakdown .cct-aspect-grid{
    grid-template-columns:1fr;
  }
  .lct-footer{
    padding-top:34px !important;
  }
  .lct-footer-cta,
  .lct-footer-brand,
  .lct-footer-card{
    border-radius:22px;
    padding:22px;
  }
  .lct-footer-cta .btn-glow{
    width:100%;
  }
  .lct-footer-bottom{
    display:grid;
  }
}

/* Homepage layout for LASOCHIEMTINH. */
.lct-home{
  position:relative;
  color:#f6f1e8;
  background:
    radial-gradient(circle at 64% 10%,rgba(217,179,108,.13),transparent 24%),
    radial-gradient(circle at 20% 42%,rgba(109,93,252,.18),transparent 32%),
    radial-gradient(circle at 90% 75%,rgba(117,228,255,.12),transparent 28%),
    linear-gradient(135deg,#030308 0%,#0d0d19 45%,#05050b 100%);
  overflow:hidden;
}
.lct-home:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(circle at center,#000 0 38%,transparent 78%);
}
.lct-home .container{
  position:relative;
  z-index:1;
  width:min(1200px,calc(100% - 36px));
}
.lct-home .hero{
  padding:118px 0 50px;
}
.lct-home .hero-layout{
  display:grid;
  grid-template-columns:430px minmax(0,1fr);
  gap:38px;
  align-items:stretch;
}
.lct-home .side-console{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(246,241,232,.14);
  border-radius:36px;
  padding:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.032));
  box-shadow:0 40px 100px rgba(0,0,0,.42);
}
.lct-home .side-console:before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(217,179,108,.2),transparent 28%,rgba(117,228,255,.12));
}
.lct-home .console-inner{
  position:relative;
  padding:22px;
  border:1px solid rgba(246,241,232,.14);
  border-radius:28px;
  background:rgba(5,5,11,.78);
}
.lct-home .console-kicker,
.lct-home .lab-num,
.lct-home .path-card small{
  color:#d9b36c;
  font-size:12px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  font-weight:900;
}
.lct-home h1,
.lct-home h2,
.lct-home h3{
  font-family:"Cormorant Garamond",Georgia,serif;
}
.lct-home .console-inner h2{
  margin:0 0 10px;
  font-size:36px;
  line-height:1;
}
.lct-home .console-inner p,
.lct-home .hero-desc,
.lct-home .section-title p,
.lct-home .analysis-panel p,
.lct-home .path-card p,
.lct-home .essay p,
.lct-home .topic span{
  color:#a9a1b8;
  line-height:1.75;
}
.lct-home .birth-form{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.lct-home .field label{
  display:block;
  margin-bottom:7px;
  color:#d8ccbb;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:11px;
  font-weight:900;
}
.lct-home .field input,
.lct-home .field select{
  width:100%;
  min-height:52px;
  border:1px solid rgba(246,241,232,.12);
  border-radius:15px;
  background:#0e0f1b;
  color:#f6f1e8;
  padding:0 14px;
  outline:none;
}
.lct-home .field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.lct-home .primary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  border:0;
  border-radius:18px;
  padding:0 24px;
  background:linear-gradient(135deg,#d9b36c,#ffe6a9);
  color:#100b05;
  font-weight:900;
  box-shadow:0 18px 45px rgba(217,179,108,.18);
}
.lct-home .hero-main{
  position:relative;
  overflow:hidden;
  padding:46px;
  border:1px solid rgba(246,241,232,.14);
  border-radius:42px;
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
}
.lct-home .hero-main:before{
  content:"";
  position:absolute;
  right:-170px;
  top:-170px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(217,179,108,.18);
  box-shadow:inset 0 0 0 70px rgba(217,179,108,.025),inset 0 0 0 140px rgba(117,228,255,.025),0 0 110px rgba(109,93,252,.16);
}
.lct-home .hero-main>*{
  position:relative;
}
.lct-home .tag{
  display:inline-flex;
  margin-bottom:22px;
  padding:9px 13px;
  border:1px solid rgba(246,241,232,.14);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#d9b36c;
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}
.lct-home .hero-main h1{
  max-width:760px;
  margin:0;
  font-size:clamp(48px,7vw,94px);
  line-height:.92;
  letter-spacing:-2px;
}
.lct-home .hero-main h1 span{
  color:#d9b36c;
}
.lct-home .hero-desc{
  max-width:690px;
  margin:24px 0 30px;
  font-size:18px;
}
.lct-home .hero-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  max-width:760px;
}
.lct-home .metric,
.lct-home .row,
.lct-home .topic{
  border:1px solid rgba(246,241,232,.14);
  background:rgba(0,0,0,.18);
}
.lct-home .metric{
  border-radius:22px;
  padding:18px;
}
.lct-home .metric b{
  display:block;
  color:#f6f1e8;
  font-size:24px;
  margin-bottom:5px;
}
.lct-home .metric span{
  color:#a9a1b8;
  font-size:13px;
}
.lct-home .orbit-stage{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:20px;
  align-items:center;
  margin-top:34px;
}
.lct-home .orbit-text{
  padding-left:20px;
  border-left:1px solid rgba(217,179,108,.32);
  color:#d9d1c7;
  line-height:1.8;
}
.lct-home .instrument{
  position:relative;
  display:grid;
  place-items:center;
  height:280px;
  border:1px solid rgba(217,179,108,.35);
  border-radius:50%;
  background:radial-gradient(circle,rgba(217,179,108,.13) 0 4%,transparent 5% 24%,rgba(255,255,255,.055) 25% 26%,transparent 27%),repeating-conic-gradient(from 15deg,rgba(217,179,108,.15) 0 1deg,transparent 1deg 30deg);
  box-shadow:inset 0 0 50px rgba(0,0,0,.5),0 0 70px rgba(109,93,252,.18);
}
.lct-home .instrument:before,
.lct-home .instrument:after{
  content:"";
  position:absolute;
  border:1px solid rgba(246,241,232,.13);
  border-radius:50%;
}
.lct-home .instrument:before{inset:42px}
.lct-home .instrument:after{inset:86px}
.lct-home .needle{
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:120px;
  background:linear-gradient(#d9b36c,transparent);
  transform-origin:top;
  animation:needle 10s ease-in-out infinite;
}
.lct-home .section{
  padding:72px 0;
}
.lct-home .section-title{
  display:grid;
  grid-template-columns:1fr 520px;
  gap:28px;
  align-items:end;
  margin-bottom:26px;
}
.lct-home .section-title h2{
  margin:0;
  font-size:clamp(38px,5vw,68px);
  line-height:.98;
}
.lct-home .lab-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.lct-home .lab-card,
.lct-home .analysis-panel,
.lct-home .path-card,
.lct-home .essay{
  border:1px solid rgba(246,241,232,.14);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));
}
.lct-home .lab-card{
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
  transition:.25s;
}
.lct-home .lab-card:hover{
  transform:translateY(-7px);
  border-color:rgba(217,179,108,.42);
}
.lct-home .lab-card h3{
  margin:18px 0 12px;
  font-size:28px;
  line-height:1;
}
.lct-home .lab-card p{
  color:#a9a1b8;
  line-height:1.65;
  font-size:14px;
}
.lct-home .lab-link,
.lct-home .score{
  color:#d9b36c;
  font-weight:900;
}
.lct-home .analysis{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.lct-home .analysis-panel{
  padding:30px;
}
.lct-home .analysis-panel h3,
.lct-home .essay h3{
  margin:0 0 12px;
  font-size:40px;
}
.lct-home .rows{
  display:grid;
  gap:12px;
  margin-top:20px;
}
.lct-home .row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  border-radius:18px;
  padding:15px;
}
.lct-home .row span{
  color:#a9a1b8;
  font-size:13px;
}
.lct-home .map{
  min-height:430px;
  display:grid;
  place-items:center;
  border:1px solid rgba(217,179,108,.25);
  border-radius:34px;
  background:linear-gradient(135deg,rgba(217,179,108,.08),rgba(109,93,252,.11)),radial-gradient(circle at center,transparent 0 18%,rgba(217,179,108,.1) 19% 20%,transparent 21% 36%,rgba(255,255,255,.065) 37% 38%,transparent 39%),repeating-conic-gradient(rgba(255,255,255,.08) 0 1deg,transparent 1deg 15deg);
  color:#d9b36c;
  font-size:96px;
  text-shadow:0 0 30px rgba(217,179,108,.42);
}
.lct-home .path{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.lct-home .path-card{
  padding:26px;
}
.lct-home .path-card h3{
  margin:12px 0;
  font-size:31px;
}
.lct-home .zodiac-band{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:8px;
  padding:18px;
  border:1px solid rgba(246,241,232,.14);
  border-radius:34px;
  background:rgba(255,255,255,.04);
}
.lct-home .zitem{
  padding:14px 8px;
  border:1px solid transparent;
  border-radius:18px;
  background:rgba(0,0,0,.2);
  text-align:center;
}
.lct-home .zitem:hover{
  border-color:rgba(217,179,108,.35);
  background:rgba(217,179,108,.07);
}
.lct-home .zitem b{
  display:block;
  color:#d9b36c;
  font-size:25px;
}
.lct-home .zitem span{
  color:#a9a1b8;
  font-size:11px;
  font-weight:800;
}
.lct-home .content-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
}
.lct-home .essay{
  padding:34px;
}
.lct-home .topic-list{
  display:grid;
  gap:12px;
}
.lct-home .topic{
  display:block;
  border-radius:22px;
  padding:18px;
}
.lct-home .topic strong{
  display:block;
  margin-bottom:6px;
}
.lct-home .cta{
  padding:70px 0 86px;
}
.lct-home .cta-box{
  padding:56px;
  border:1px solid rgba(217,179,108,.28);
  border-radius:44px;
  background:linear-gradient(135deg,rgba(217,179,108,.12),rgba(109,93,252,.13),rgba(255,255,255,.03));
  text-align:center;
}
.lct-home .cta-box h2{
  margin:0;
  font-size:clamp(42px,6vw,74px);
  line-height:.95;
}
.lct-home .cta-box p{
  max-width:720px;
  margin:18px auto 26px;
  color:#a9a1b8;
  line-height:1.8;
}
.home .lct-footer-cta{
  display:none;
}
@media(max-width:1000px){
  .lct-home .hero-layout,
  .lct-home .section-title,
  .lct-home .analysis,
  .lct-home .path,
  .lct-home .content-grid,
  .lct-home .orbit-stage{
    grid-template-columns:1fr;
  }
  .lct-home .lab-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .lct-home .zodiac-band{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .lct-home .hero{
    padding-top:100px;
  }
  .lct-home .side-console,
  .lct-home .hero-main{
    border-radius:28px;
  }
  .lct-home .hero-main,
  .lct-home .cta-box{
    padding:28px;
  }
  .lct-home .field-row,
  .lct-home .hero-strip,
  .lct-home .lab-grid{
    grid-template-columns:1fr;
  }
  .lct-home .zodiac-band{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .lct-home .instrument{
    height:240px;
  }
}

/* Polished homepage pass: tighter rhythm, calmer copy layout, premium app feel. */
.lct-home-pro {
  --lct-panel: rgba(15,15,28,.78);
  --lct-panel-soft: rgba(255,255,255,.052);
  --lct-line: rgba(255,255,255,.13);
  --lct-gold: #e7c678;
  --lct-text: #fbf7ef;
  --lct-muted: #c8c1d7;
}
.lct-home-pro .hero {
  padding: 104px 0 34px;
}
.lct-home-pro .hero-layout {
  grid-template-columns: minmax(340px,420px) minmax(0,1fr);
  gap: 24px;
}
.lct-home-pro .side-console,
.lct-home-pro .hero-main,
.lct-home-pro .lab-card,
.lct-home-pro .analysis-panel,
.lct-home-pro .path-card,
.lct-home-pro .essay,
.lct-home-pro .topic,
.lct-home-pro .cta-box {
  border-color: var(--lct-line);
  background:
    linear-gradient(180deg,rgba(255,255,255,.082),rgba(255,255,255,.035)),
    rgba(9,9,18,.68);
  box-shadow: 0 24px 70px rgba(0,0,0,.32);
  backdrop-filter: blur(18px);
}
.lct-home-pro .console-inner {
  padding: 20px;
  background: rgba(5,6,13,.82);
}
.lct-home-pro .console-kicker,
.lct-home-pro .lab-num,
.lct-home-pro .path-card small,
.lct-home-pro .tag {
  color: var(--lct-gold);
  letter-spacing: .12em;
}
.lct-home-pro .console-inner h2 {
  font-size: 34px;
  line-height: 1.02;
}
.lct-home-pro .console-inner p,
.lct-home-pro .hero-desc,
.lct-home-pro .section-title p,
.lct-home-pro .analysis-panel p,
.lct-home-pro .path-card p,
.lct-home-pro .essay p,
.lct-home-pro .topic span {
  color: var(--lct-muted);
  line-height: 1.62;
}
.lct-home-pro .field input,
.lct-home-pro .field select {
  min-height: 50px;
  border-radius: 14px;
  background: rgba(5,6,15,.92);
}
.lct-home-pro .primary-btn {
  min-height: 54px;
  border-radius: 999px;
  background: linear-gradient(135deg,#f3d58a,#fff0c5 48%,#cab3ff);
  box-shadow: 0 18px 45px rgba(217,179,108,.18);
}
.lct-home-pro .hero-main {
  padding: 40px;
  border-radius: 34px;
}
.lct-home-pro .tag {
  margin-bottom: 18px;
  background: rgba(255,255,255,.055);
}
.lct-home-pro .hero-main h1 {
  max-width: 780px;
  font-size: clamp(40px,5vw,68px);
  line-height: 1.02;
  letter-spacing: -.018em;
}
.lct-home-pro .hero-desc {
  margin: 20px 0 24px;
  max-width: 720px;
  font-size: 18px;
}
.lct-home-pro .hero-strip {
  gap: 10px;
}
.lct-home-pro .metric {
  min-height: 126px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.045);
}
.lct-home-pro .metric b {
  color: var(--lct-gold);
  font-size: 22px;
}
.lct-home-pro .metric span {
  color: #ddd7ec;
  line-height: 1.45;
}
.lct-home-pro .orbit-stage {
  grid-template-columns: minmax(0,1fr) 240px;
  margin-top: 24px;
}
.lct-home-pro .instrument {
  height: 240px;
  opacity: .92;
}
.lct-home-pro .section {
  padding: 46px 0;
}
.lct-home-pro .section-title {
  grid-template-columns: minmax(0,1fr) minmax(280px,480px);
  align-items: end;
  gap: 22px;
  margin-bottom: 22px;
}
.lct-home-pro .section-title h2 {
  font-size: clamp(36px,4.2vw,58px);
  line-height: 1;
  letter-spacing: -.02em;
}
.lct-home-pro .lab-grid {
  gap: 14px;
}
.lct-home-pro .lab-card {
  min-height: 218px;
  padding: 22px;
  border-radius: 26px;
}
.lct-home-pro .lab-card h3 {
  margin: 14px 0 10px;
  font-size: 25px;
  line-height: 1.05;
}
.lct-home-pro .lab-card p {
  font-size: 14px;
}
.lct-home-pro .lab-link,
.lct-home-pro .score {
  color: var(--lct-gold);
}
.lct-home-pro .analysis {
  gap: 16px;
}
.lct-home-pro .analysis-panel {
  padding: 28px;
  border-radius: 28px;
}
.lct-home-pro .analysis-panel h3,
.lct-home-pro .essay h3 {
  font-size: clamp(32px,3.2vw,44px);
}
.lct-home-pro .map {
  min-height: 360px;
  border-radius: 28px;
}

/* Homepage layered chart section: premium editorial card + instrument visual. */
.lct-home-pro #analysis .analysis {
  grid-template-columns: minmax(380px, .92fr) minmax(440px, 1.08fr);
  gap: 20px;
  align-items: stretch;
}

.lct-home-pro #analysis .analysis-panel {
  position: relative;
  overflow: hidden;
  padding: 34px 36px;
  border-radius: 32px;
  background:
    radial-gradient(circle at 14% -8%, rgba(231, 198, 120, .15), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.028) 66%);
  border: 1px solid rgba(231, 198, 120, .2);
  box-shadow: 0 30px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.09);
}

.lct-home-pro #analysis .analysis-panel::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -120px;
  top: -105px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(167,139,250,.2), transparent 66%);
  pointer-events: none;
}

.lct-home-pro #analysis .analysis-panel h3 {
  position: relative;
  margin-bottom: 14px;
  font-size: clamp(34px, 3.1vw, 48px);
  line-height: 1.03;
}

.lct-home-pro #analysis .analysis-panel p {
  position: relative;
  max-width: 640px;
  color: rgba(244,241,234,.74);
  font-size: 17px;
  line-height: 1.68;
}

.lct-home-pro #analysis .rows {
  position: relative;
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.lct-home-pro #analysis .row {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 78px;
  padding: 14px 18px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.062), rgba(255,255,255,.018)),
    rgba(5,6,16,.72);
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.lct-home-pro #analysis .row:hover {
  transform: translateY(-2px);
  border-color: rgba(231,198,120,.34);
  background:
    linear-gradient(135deg, rgba(231,198,120,.08), rgba(167,139,250,.055)),
    rgba(5,6,16,.76);
}

.lct-home-pro #analysis .row::before {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  color: var(--lct-gold);
  font-family: "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
  background: rgba(231,198,120,.105);
  border: 1px solid rgba(231,198,120,.22);
  box-shadow: 0 12px 30px rgba(231,198,120,.08);
}

.lct-home-pro #analysis .row:nth-child(1)::before { content: "☉"; }
.lct-home-pro #analysis .row:nth-child(2)::before { content: "☽"; }
.lct-home-pro #analysis .row:nth-child(3)::before { content: "↗"; }
.lct-home-pro #analysis .row:nth-child(4)::before { content: "Ⅰ"; }

.lct-home-pro #analysis .row strong {
  display: block;
  color: #fffaf1;
  font-size: 18px;
  line-height: 1.1;
  margin-bottom: 4px;
}

.lct-home-pro #analysis .row span {
  color: rgba(218,212,232,.72);
  font-size: 14px;
  line-height: 1.35;
}

.lct-home-pro #analysis .score {
  justify-self: end;
  min-width: 74px;
  padding: 8px 12px;
  border-radius: 999px;
  text-align: center;
  color: var(--lct-gold);
  background: rgba(231,198,120,.105);
  border: 1px solid rgba(231,198,120,.22);
  font-size: 13px;
  letter-spacing: .02em;
}

.lct-home-pro #analysis .map {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  border-radius: 32px;
  color: transparent;
  background:
    radial-gradient(circle at 50% 50%, rgba(231,198,120,.95) 0 6px, transparent 7px),
    radial-gradient(circle at 50% 50%, transparent 0 11%, rgba(231,198,120,.58) 11.4% 12.5%, transparent 13% 22%, rgba(255,255,255,.1) 22.4% 23.4%, transparent 24% 37%, rgba(231,198,120,.2) 37.4% 37.8%, transparent 38%),
    repeating-conic-gradient(from -4deg at 50% 50%, rgba(255,255,255,.13) 0deg 1deg, transparent 1deg 15deg),
    radial-gradient(circle at 50% 50%, rgba(167,139,250,.18), transparent 48%),
    linear-gradient(135deg, rgba(231,198,120,.08), rgba(122,105,255,.13) 52%, rgba(4,5,15,.78));
  border: 1px solid rgba(231,198,120,.18);
  box-shadow: 0 32px 100px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.08);
}

.lct-home-pro #analysis .map::before {
  content: "";
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  border: 1px solid rgba(231,198,120,.26);
  background:
    repeating-conic-gradient(from 8deg, transparent 0deg 28deg, rgba(231,198,120,.16) 28deg 29deg, transparent 29deg 30deg),
    radial-gradient(circle, transparent 0 54%, rgba(255,255,255,.06) 55% 56%, transparent 57%);
  filter: drop-shadow(0 0 28px rgba(167,139,250,.18));
  opacity: .95;
}

.lct-home-pro #analysis .map::after {
  content: "☉  ☽  ☿  ♀  ♂  ♃  ♄";
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: calc(100% - 48px);
  padding: 10px 16px;
  border-radius: 999px;
  color: rgba(244,241,234,.84);
  background: rgba(5,6,16,.58);
  border: 1px solid rgba(255,255,255,.12);
  font-size: 20px;
  letter-spacing: .5em;
  text-indent: .5em;
  backdrop-filter: blur(14px);
}

/* Functional tool sections on SEO landing pages. */
.cct-tool-section {
  padding-top: 34px !important;
}
.cct-section-head {
  max-width: 820px;
  margin: 0 0 22px;
}
.cct-section-head h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  color: #fffaf1;
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.04;
  margin: 0 0 10px;
}
.cct-section-head p {
  color: rgba(220,214,232,.76);
  font-size: 17px;
  line-height: 1.62;
  margin: 0;
}
.cct-compat-box {
  padding: 34px;
  border-radius: 30px;
  border: 1px solid rgba(231,198,120,.18);
  background:
    radial-gradient(circle at 90% 0, rgba(167,139,250,.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  box-shadow: 0 26px 82px rgba(0,0,0,.32);
}
.cct-compat-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
}
.cct-compat-form label {
  display: grid;
  gap: 8px;
  color: rgba(244,241,234,.72);
  font-weight: 700;
}
.cct-compat-form select {
  width: 100%;
  min-height: 58px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(5,6,16,.78);
  color: #fffaf1;
  padding: 0 18px;
  outline: none;
}
.cct-compat-form button,
.cct-compat-actions a {
  min-height: 58px;
  border: 0;
  border-radius: 18px;
  padding: 0 24px;
  color: #130f12;
  font-weight: 900;
  background: linear-gradient(135deg, #ffe0a0, #bca6ff);
  box-shadow: 0 18px 48px rgba(167,139,250,.16);
}
.cct-compat-result {
  margin-top: 18px;
  padding: 22px;
  border-radius: 22px;
  color: rgba(244,241,234,.82);
  background: rgba(5,6,16,.55);
  border: 1px solid rgba(255,255,255,.1);
}
.cct-compat-result p {
  margin: 12px 0 0;
  color: rgba(220,214,232,.78);
  line-height: 1.6;
}
.cct-compat-score {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: baseline;
}
.cct-compat-score strong {
  color: var(--lct-gold);
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1;
}
.cct-compat-score span {
  color: #fffaf1;
  font-size: 20px;
  font-weight: 800;
}
.cct-compat-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.cct-compat-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  color: #130f12 !important;
  text-decoration: none;
}
.lct-home-pro .path {
  gap: 14px;
}
.lct-home-pro .path-card {
  padding: 24px;
  border-radius: 26px;
}
.lct-home-pro .path-card h3 {
  font-size: 28px;
}
.lct-home-pro .zodiac-band {
  border-radius: 28px;
  padding: 14px;
}
.lct-home-pro .zitem {
  border-radius: 16px;
  padding: 12px 7px;
}
.lct-home-pro .content-grid {
  gap: 16px;
}
.lct-home-pro .essay {
  padding: 30px;
  border-radius: 28px;
}
.lct-home-pro .topic {
  padding: 17px 18px;
  border-radius: 20px;
}
.lct-home-pro .cta {
  padding: 44px 0 62px;
}
.lct-home-pro .cta-box {
  padding: 44px;
  border-radius: 34px;
}
.lct-home-pro .cta-box h2 {
  font-size: clamp(38px,5vw,64px);
}

/* Tighter single guide pages: keep hero close to the article body. */
.lct-single-page .lct-page-hero {
  padding: 116px 0 34px;
}
.lct-single-page .lct-page-hero h1 {
  font-size: clamp(32px,3.7vw,50px);
  line-height: 1.08;
  margin: 12px 0 14px;
  max-width: 820px;
}
.lct-single-page .lct-page-hero p {
  margin: 0;
  max-width: 760px;
  line-height: 1.62;
}
.lct-single-page .lct-single-hero-grid {
  grid-template-columns: minmax(0,1fr) 170px;
  gap: 24px;
}
.lct-single-page .lct-glyph-orb {
  width: 170px;
  font-size: 54px;
}
.lct-single-page > .section {
  padding: 36px 0 58px;
}
.lct-single-page .cct-article-layout {
  margin-top: 0;
}
.lct-single-page .cct-article-sidebar {
  position: sticky;
  top: 126px;
  align-self: start;
  z-index: 1;
}
.lct-single-page .cct-article-sidebar .cct-side-card,
.lct-single-page .cct-article-sidebar .cct-side-card + .cct-side-card {
  position: static !important;
  top: auto !important;
  z-index: auto;
}
.lct-single-page .cct-article-content {
  padding: 34px 40px;
}
.lct-single-page .cct-article-content h2,
.lct-single-page .cct-article-content h3 {
  scroll-margin-top: 132px;
}

/* General landing rhythm: avoid oversized empty bands between content blocks. */
.cct-seo-page:not(.cct-static-page):not(.lct-single-page) .cct-seo-section {
  padding: 42px 0;
}
.cct-seo-page:not(.cct-static-page):not(.lct-single-page) .cct-seo-section + .cct-seo-section {
  padding-top: 28px;
}
.cct-seo-page:not(.cct-static-page):not(.lct-single-page) .cct-info-grid,
.cct-seo-page:not(.cct-static-page):not(.lct-single-page) .cct-zodiac-grid,
.cct-seo-page:not(.cct-static-page):not(.lct-single-page) .cct-compat-box {
  margin-top: 0;
}
.lct-toc {
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid rgba(217,179,108,.24);
  border-radius: 22px;
  background:
    radial-gradient(circle at 12% 0,rgba(217,179,108,.12),transparent 34%),
    rgba(255,255,255,.045);
}
.lct-toc strong {
  display: block;
  margin-bottom: 14px;
  color: #f6f1e8;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  line-height: 1;
}
.lct-toc ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: toc;
}
.lct-toc li {
  counter-increment: toc;
}
.lct-toc a {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(0,0,0,.16);
  color: #d8d2ee !important;
  text-decoration: none;
}
.lct-toc a:before {
  content: counter(toc, decimal-leading-zero);
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(217,179,108,.12);
  color: #e7c678;
  font-size: 11px;
  font-weight: 900;
}
.lct-toc a:hover {
  border-color: rgba(217,179,108,.4);
  background: rgba(217,179,108,.08);
  color: #fff !important;
}
.lct-toc .level-3 a {
  margin-left: 26px;
  opacity: .92;
}

/* Tool landing spacing: keep the form close to the page intro. */
.cct-natal-landing .cct-seo-hero {
  padding: 120px 0 34px;
}
.cct-natal-landing .cct-seo-hero h1 {
  font-size: clamp(46px,5.3vw,76px);
  line-height: 1;
}
.cct-natal-landing .cct-seo-hero p {
  max-width: 900px;
  line-height: 1.68;
  margin-bottom: 0;
}
.cct-natal-landing .cct-seo-section:first-of-type {
  padding: 18px 0 20px;
}
.cct-natal-landing .cct-natal-tool {
  margin-top: 0;
}
.cct-natal-landing .cct-seo-section {
  padding: 26px 0;
}
.cct-natal-landing .cct-info-grid {
  margin-top: 0;
}
.cct-natal-landing .cct-faq {
  padding-top: 30px;
}

/* Unified breadcrumb offset under the fixed header. */
.cct-seo-hero,
.cct-static-page .cct-seo-hero,
.lct-page-hero,
.cct-article-hero,
.cct-faq-hero {
  padding-top: 118px !important;
}
.cct-breadcrumb {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
}
.cct-seo-hero .mini-label,
.lct-page-hero .mini-label,
.cct-article-hero .mini-label,
.cct-faq-hero .mini-label {
  display: none !important;
}
.cct-seo-hero h1,
.lct-page-hero h1,
.cct-article-hero h1,
.cct-faq-hero h1 {
  font-size: clamp(32px,3.7vw,50px) !important;
  line-height: 1.08 !important;
  margin: 12px 0 14px !important;
  max-width: 880px;
}
.cct-seo-hero p,
.lct-page-hero p,
.cct-article-hero p,
.cct-faq-hero p {
  max-width: 860px;
  line-height: 1.62;
}
.cct-seo-hero { padding-bottom: 54px; }
.cct-static-page .cct-seo-hero { padding-bottom: 44px !important; }
.lct-single-page .lct-page-hero { padding-bottom: 34px !important; }
.cct-natal-landing .cct-seo-hero { padding-bottom: 34px !important; }
.lct-library-page .lct-page-hero .mini-label {
  display: none !important;
}
.lct-library-page .lct-page-hero {
  padding-bottom: 32px !important;
}
.lct-library-page .lct-page-hero h1 {
  font-size: clamp(32px,3.7vw,50px) !important;
  line-height: 1.08 !important;
  margin: 12px 0 14px !important;
  max-width: 820px;
}
.lct-library-page .lct-page-hero p {
  max-width: 860px;
  line-height: 1.62;
  margin: 0;
}
.lct-library-page > .section {
  padding-top: 32px !important;
}

.lct-library-grid {
  align-items: stretch;
}

.lct-library-card a {
  position: relative;
  min-height: 360px !important;
  padding: 32px !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 18% 8%, rgba(216,199,161,.14), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
  box-shadow: 0 22px 70px rgba(0,0,0,.26);
}

.lct-library-card a:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 38%, rgba(216,199,161,.08));
  opacity: .55;
}

.lct-library-card a:hover {
  transform: translateY(-6px);
  border-color: rgba(216,199,161,.42);
  box-shadow: 0 28px 90px rgba(0,0,0,.36), 0 0 0 1px rgba(216,199,161,.12) inset;
}

.lct-card-topline,
.lct-library-card h2,
.lct-library-card p,
.lct-card-foot {
  position: relative;
  z-index: 1;
}

.lct-card-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
}

.lct-card-glyph {
  display: grid !important;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  color: #f4f1ea !important;
  font-size: 32px !important;
  background: rgba(216,199,161,.12);
  border: 1px solid rgba(216,199,161,.26);
}

.lct-card-topline small {
  max-width: 150px;
  color: var(--lct-gold);
  font-size: 11px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .12em;
  text-align: right;
}

.lct-library-card h2 {
  margin: 0 0 18px;
  color: #f7f2e9;
  font-family: var(--font-heading);
  font-size: clamp(26px, 2vw, 34px);
  line-height: 1.06;
}

.lct-library-card p {
  margin: 0 0 24px;
  color: rgba(244,241,234,.72);
  font-size: 17px;
  line-height: 1.72;
}

.lct-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.09);
}

.lct-card-foot em {
  margin: 0 !important;
}

.lct-card-foot b {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: #0b0b12;
  background: linear-gradient(135deg, #f6d88f, #d7c2ff);
}

/* Main LASO landing page: polished product-page treatment. */
.cct-page-la-so-chiem-tinh .cct-seo-hero {
  padding-bottom: 30px !important;
}
.cct-page-la-so-chiem-tinh .cct-static-signal,
.cct-page-la-so-chiem-tinh .cct-static-updated {
  display: none !important;
}
.cct-page-la-so-chiem-tinh .cct-seo-section:first-of-type {
  padding: 28px 0 42px;
}
.cct-page-la-so-chiem-tinh .cct-static-layout {
  display: block;
  width: min(1080px, calc(100% - 36px));
  margin: 0 auto;
}
.cct-page-la-so-chiem-tinh .cct-static-content {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(231,198,120,.2);
  background:
    radial-gradient(circle at 86% 18%, rgba(231,198,120,.15), transparent 28%),
    radial-gradient(circle at 10% 82%, rgba(126,111,255,.15), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.082), rgba(255,255,255,.035));
  box-shadow: 0 26px 90px rgba(0,0,0,.34);
}
.cct-page-la-so-chiem-tinh .cct-static-content:before {
  content: "";
  position: absolute;
  right: -110px;
  top: -130px;
  width: 360px;
  aspect-ratio: 1;
  border: 1px solid rgba(231,198,120,.2);
  border-radius: 50%;
  box-shadow: inset 0 0 0 54px rgba(255,255,255,.018), inset 0 0 0 108px rgba(231,198,120,.025);
}
.cct-page-la-so-chiem-tinh .cct-static-copy {
  position: relative;
  max-width: 820px;
  padding: 48px;
}
.cct-page-la-so-chiem-tinh .cct-static-copy h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(34px,4vw,54px);
  line-height: 1.02;
  margin: 0 0 18px;
}
.cct-page-la-so-chiem-tinh .cct-static-copy p {
  max-width: 760px;
  color: #d9d3e9;
  font-size: 18px;
  line-height: 1.72;
  margin-bottom: 22px;
}
.cct-page-la-so-chiem-tinh .cct-static-copy .btn-glow {
  min-height: 56px;
  padding: 0 30px;
  color: #140f09 !important;
  border-radius: 999px;
  box-shadow: 0 20px 52px rgba(231,198,120,.2);
}
.cct-page-la-so-chiem-tinh .cct-static-aside,
.cct-page-la-so-chiem-tinh .cct-static-band {
  display: none !important;
}

/* Upgrade static chart preview wheel. */
.chart-art {
  position: relative;
  isolation: isolate;
}
.chart-art:before {
  content: "";
  position: absolute;
  width: min(420px, 92%);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(231,198,120,.2), transparent 9%),
    radial-gradient(circle, transparent 0 38%, rgba(231,198,120,.08) 39% 40%, transparent 41% 58%, rgba(255,255,255,.055) 59% 60%, transparent 61%);
  filter: blur(.2px);
  opacity: .8;
  z-index: -1;
}
.chart-art .mini-wheel {
  position: relative;
  width: min(340px, 78vw);
  height: min(340px, 78vw);
  border: 1px solid rgba(231,198,120,.46);
  background:
    radial-gradient(circle at center, rgba(255,240,198,.92) 0 4px, rgba(231,198,120,.2) 5px 9px, transparent 10px),
    radial-gradient(circle, transparent 0 24%, rgba(255,255,255,.08) 25% 25.5%, transparent 26% 43%, rgba(231,198,120,.16) 44% 44.6%, transparent 45% 61%, rgba(255,255,255,.07) 62% 62.5%, transparent 63%),
    repeating-conic-gradient(from -8deg, rgba(231,198,120,.32) 0 1deg, transparent 1deg 30deg),
    radial-gradient(circle at 50% 50%, rgba(126,111,255,.22), rgba(255,255,255,.045) 48%, rgba(6,7,16,.55) 100%);
  box-shadow:
    inset 0 0 40px rgba(0,0,0,.42),
    inset 0 0 0 34px rgba(255,255,255,.018),
    0 0 0 1px rgba(255,255,255,.035),
    0 28px 80px rgba(0,0,0,.42),
    0 0 90px rgba(126,111,255,.18);
  animation: spinReverse 80s linear infinite;
}
.chart-art .mini-wheel:before,
.chart-art .mini-wheel:after {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.12);
}
.chart-art .mini-wheel:after {
  inset: 31%;
  border-color: rgba(231,198,120,.2);
  box-shadow: 0 0 32px rgba(231,198,120,.12);
}
.chart-art .mini-wheel span {
  display: none;
}
.chart-art .mini-wheel + * {
  position: relative;
}
@media(max-width:760px) {
  .cct-seo-hero,
  .cct-static-page .cct-seo-hero,
  .lct-page-hero,
  .cct-article-hero,
  .cct-faq-hero {
    padding-top: 102px !important;
  }
  .cct-breadcrumb {
    margin-bottom: 20px !important;
  }
  .cct-natal-landing .cct-seo-hero {
    padding: 102px 0 26px !important;
  }
  .cct-natal-landing .cct-seo-section:first-of-type {
    padding: 16px 0 18px;
  }
  .cct-natal-landing .cct-seo-section {
    padding: 22px 0;
  }
}
@media(max-width:760px) {
  .lct-single-page .lct-page-hero {
    padding: 102px 0 28px !important;
  }
  .lct-single-page .lct-single-hero-grid {
    grid-template-columns: 1fr;
  }
  .lct-single-page .lct-glyph-orb {
    display: none;
  }
  .lct-single-page .cct-article-sidebar {
    position: static;
  }
  .lct-single-page .cct-article-content {
    padding: 26px 22px;
  }
  .lct-toc {
    padding: 18px;
  }
  .lct-toc .level-3 a {
    margin-left: 0;
  }
  .lct-single-page > .section {
    padding-top: 24px;
  }
}
@media(max-width:1000px) {
  .lct-home-pro .hero-layout,
  .lct-home-pro .section-title,
  .lct-home-pro .analysis,
  .lct-home-pro .content-grid,
  .lct-home-pro .orbit-stage {
    grid-template-columns: 1fr;
  }
  .lct-home-pro .lab-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .lct-home-pro #analysis .analysis {
    grid-template-columns: 1fr;
  }
  .lct-home-pro #analysis .map {
    min-height: 360px;
  }
  .cct-compat-form {
    grid-template-columns: 1fr;
  }
}
@media(max-width:620px) {
  .lct-home-pro .hero {
    padding-top: 92px;
  }
  .lct-home-pro .hero-main,
  .lct-home-pro .cta-box {
    padding: 24px;
  }
  .lct-home-pro .hero-main h1 {
    font-size: clamp(34px,10.5vw,48px);
    line-height: 1.04;
  }
  .lct-home-pro .hero-strip,
  .lct-home-pro .lab-grid,
  .lct-home-pro .path {
    grid-template-columns: 1fr;
  }
  .lct-home-pro .section {
    padding: 34px 0;
  }
  .lct-home-pro #analysis .analysis-panel {
    padding: 24px;
    border-radius: 26px;
  }
  .lct-home-pro #analysis .row {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    min-height: auto;
    padding: 14px;
  }
  .lct-home-pro #analysis .row::before {
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }
  .lct-home-pro #analysis .score {
    grid-column: 2;
    justify-self: start;
    min-width: 0;
    margin-top: -2px;
  }
  .lct-home-pro #analysis .map {
    min-height: 290px;
  }
  .lct-home-pro #analysis .map::after {
    bottom: 18px;
    font-size: 17px;
    letter-spacing: .32em;
    text-indent: .32em;
  }
}

/* Mobile homepage: birth input must feel like a full-width app panel, not a squeezed desktop card. */
@media(max-width:620px) {
  .lct-home-pro,
  .lct-home-pro .container {
    width: 100% !important;
    max-width: none !important;
  }

  .lct-home-pro .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .lct-home-pro .hero {
    padding: 86px 0 22px !important;
  }

  .lct-home-pro .hero-layout {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding-inline: 6px !important;
  }

  .lct-home-pro .section {
    padding: 26px 0 !important;
  }

  .lct-home-pro .section-title,
  .lct-home-pro .analysis,
  .lct-home-pro .path,
  .lct-home-pro .content-grid,
  .lct-home-pro .orbit-stage,
  .lct-home-pro .lab-grid,
  .lct-home-pro .hero-strip {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .lct-home-pro .lab-card,
  .lct-home-pro .analysis-panel,
  .lct-home-pro .path-card,
  .lct-home-pro .essay,
  .lct-home-pro .topic,
  .lct-home-pro .cta-box,
  .lct-home-pro .metric,
  .lct-home-pro #analysis .map {
    width: 100% !important;
    max-width: none !important;
  }

  .lct-home-pro .path-card,
  .lct-home-pro .essay,
  .lct-home-pro .analysis-panel {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .lct-home-pro .side-console {
    order: -1;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 6px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035)) !important;
  }

  .lct-home-pro .console-inner {
    width: 100% !important;
    padding: 16px !important;
    border-radius: 19px !important;
    background: #05060d !important;
  }

  .lct-home-pro .console-inner h2 {
    font-size: clamp(28px, 8.4vw, 34px) !important;
    line-height: 1.02 !important;
    max-width: 100% !important;
    margin-top: 2px !important;
    margin-bottom: 10px !important;
  }

  .lct-home-pro .console-inner p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-bottom: 12px !important;
  }

  .lct-home-pro .birth-form {
    gap: 11px !important;
    margin-top: 14px !important;
  }

  .lct-home-pro .field-row {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .lct-home-pro .field input,
  .lct-home-pro .field select {
    min-height: 56px !important;
    border-radius: 16px !important;
    font-size: 16px !important;
  }

  .lct-home-pro .primary-btn {
    width: 100% !important;
    min-height: 58px !important;
    border-radius: 18px !important;
  }

  .lct-home-pro .cct-natal-message {
    margin-top: 12px !important;
    padding: 14px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .lct-home-pro .hero-main {
    width: 100% !important;
    padding: 24px 20px !important;
    border-radius: 26px !important;
  }
}
