/* =========================================================
   TM LAND – POLICY EXPLORER v1.3.0 — legacy layout & shared foundation
   Vinhomes Royal Island · Elementor Web-App Widget
========================================================= */


/* Full-bleed background, including boxed Elementor containers. */
.elementor-widget-tmland_policy_explorer{
  position:relative !important;
  width:var(--tml-policy-viewport-width,100vw) !important;
  max-width:none !important;
  margin-left:calc(50% - var(--tml-policy-half-viewport,50vw)) !important;
  margin-right:calc(50% - var(--tml-policy-half-viewport,50vw)) !important;
  overflow:visible !important;
  align-self:stretch !important;
}

.elementor-widget-tmland_policy_explorer > .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

.tml-policy-overflow-host{
  overflow:visible !important;
}

.e-con:has(.elementor-widget-tmland_policy_explorer),
.e-con-inner:has(.elementor-widget-tmland_policy_explorer),
.elementor-section:has(.elementor-widget-tmland_policy_explorer),
.elementor-container:has(.elementor-widget-tmland_policy_explorer){
  overflow:visible !important;
}

.tml-policy{
  --tp-content-width:1320px;
  --tp-gutter:24px;
  --tp-bg:#062747;
  --tp-bg-deep:#03172c;
  --tp-gold:#e1b548;
  --tp-gold-soft:#f4d48a;
  --tp-nomura:#90d2ef;
  --tp-text:rgba(255,255,255,.84);
  --tp-muted:rgba(255,255,255,.66);
  --tp-card-bg:rgba(9,52,88,.84);
  --tp-card-border:rgba(143,202,232,.34);
  --tp-card-radius:20px;
  --tp-line:rgba(143,202,232,.22);
  --tp-shadow:0 18px 48px rgba(0,12,27,.26);

  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none;
  margin:0;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 84% 4%, rgba(68,156,209,.15), transparent 29%),
    radial-gradient(circle at 6% 72%, rgba(225,181,72,.08), transparent 30%),
    linear-gradient(148deg,var(--tp-bg) 0%,var(--tp-bg-deep) 100%);
  font-family:inherit;
  text-rendering:optimizeLegibility;
}

.tml-policy,
.tml-policy *{
  box-sizing:border-box;
}

.tml-policy button,
.tml-policy a{
  font:inherit;
  -webkit-tap-highlight-color:transparent;
}

.tml-policy button{
  appearance:none;
  -webkit-appearance:none;
}

.tml-policy svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tml-policy__inner{
  position:relative;
  z-index:2;
  width:min(var(--tp-content-width),calc(100% - (var(--tp-gutter) * 2)));
  margin:0 auto;
}

.tml-policy__decor{
  position:absolute;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  border:1px solid rgba(225,181,72,.10);
}

.tml-policy__decor--one{
  width:640px;
  height:640px;
  left:-420px;
  top:32%;
  box-shadow:
    0 0 0 80px rgba(225,181,72,.018),
    0 0 0 160px rgba(225,181,72,.012);
}

.tml-policy__decor--two{
  width:520px;
  height:520px;
  right:-350px;
  bottom:-260px;
  box-shadow:
    0 0 0 70px rgba(112,193,231,.018),
    0 0 0 140px rgba(112,193,231,.012);
}

.tml-policy__icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
}

/* =========================================================
   HERO
========================================================= */

.tml-policy__hero{
  position:relative;
  overflow:hidden;
  min-height:250px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(90deg,rgba(3,23,44,.98) 0%,rgba(3,23,44,.94) 48%,rgba(3,23,44,.68) 72%,rgba(3,23,44,.42) 100%),
    radial-gradient(circle at 75% 40%,rgba(225,181,72,.12),transparent 36%);
  box-shadow:var(--tp-shadow);
}

.tml-policy__hero::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background-image:var(--tp-hero-image,none);
  background-position:center right;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.68;
  mix-blend-mode:screen;
}

.tml-policy__hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:320px;
  height:320px;
  right:-130px;
  top:-210px;
  border:1px solid rgba(225,181,72,.16);
  border-radius:50%;
  box-shadow:0 0 0 62px rgba(225,181,72,.025);
}

.tml-policy__hero-content{
  position:relative;
  z-index:1;
  max-width:880px;
}

.tml-policy__eyebrow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:0 0 13px;
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:1.7px;
  text-transform:uppercase;
}

.tml-policy__eyebrow i{
  width:5px;
  height:5px;
  flex:0 0 5px;
  border-radius:50%;
  background:var(--tp-gold);
  box-shadow:0 0 12px rgba(225,181,72,.65);
}

.tml-policy__eyebrow span:last-child{
  color:var(--tp-gold-soft);
}

.tml-policy__title{
  max-width:1000px;
  margin:0 0 15px;
  color:var(--tp-gold-soft);
  font-size:40px;
  line-height:1.10;
  font-weight:300;
  letter-spacing:-.025em;
  font-family:inherit;
  text-wrap:balance;
}

.tml-policy__description{
  max-width:820px;
  margin:0;
  color:var(--tp-text);
  font-size:15px;
  line-height:1.65;
}

.tml-policy__transition{
  width:max-content;
  max-width:100%;
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid rgba(144,210,239,.36);
  border-radius:11px;
  color:rgba(255,255,255,.86);
  background:rgba(15,74,116,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:13px;
  line-height:1.45;
}

.tml-policy__transition .tml-policy__icon{
  color:var(--tp-nomura);
}

/* =========================================================
   GOAL SELECTOR
========================================================= */

.tml-policy__goals-section{
  margin-top:22px;
}

.tml-policy__goals-heading{
  margin-bottom:9px;
  color:rgba(255,255,255,.80);
  font-size:12px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.tml-policy__scroll-shell{
  position:relative;
  min-width:0;
}

.tml-policy__goals{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.tml-policy__goal{
  position:relative;
  min-width:0;
  min-height:78px;
  margin:0;
  padding:13px 84px 13px 16px;
  border:1px solid rgba(143,202,232,.32);
  border-radius:15px;
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  background:linear-gradient(145deg,rgba(14,69,109,.66),rgba(5,38,67,.76));
  cursor:pointer;
  text-align:left;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease;
}

.tml-policy__goal:hover{
  transform:translateY(-2px);
  border-color:rgba(143,202,232,.56);
}

.tml-policy__goal:focus-visible{
  outline:3px solid rgba(225,181,72,.32);
  outline-offset:2px;
}

.tml-policy__goal > .tml-policy__icon{
  width:38px;
  height:38px;
  flex-basis:38px;
  padding:8px;
  border-radius:50%;
  color:#dbefff;
  background:rgba(255,255,255,.07);
}

.tml-policy__goal > span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.tml-policy__goal strong{
  color:inherit;
  font-size:13px;
  line-height:1.25;
  font-weight:800;
}

.tml-policy__goal small{
  color:rgba(255,255,255,.58);
  font-size:10px;
  line-height:1.35;
}

.tml-policy__goal-check{
  position:absolute;
  right:11px;
  top:10px;
  min-width:62px;
  height:22px;
  padding:0 8px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#073052;
  background:#fff2bf;
  opacity:0;
  transform:scale(.82);
  transform-origin:right top;
  font-style:normal;
  font-size:7px;
  line-height:1;
  font-weight:900;
  letter-spacing:.65px;
  white-space:nowrap;
  transition:opacity .2s ease,transform .2s ease;
}

.tml-policy__goal.is-active{
  color:#062747;
  border-color:#f5d783;
  background:var(--tp-gold);
  box-shadow:
    0 8px 26px rgba(225,181,72,.22),
    inset 0 1px 0 rgba(255,255,255,.58);
}

.tml-policy__goal.is-active > .tml-policy__icon{
  color:#062747;
  background:rgba(255,255,255,.34);
}

.tml-policy__goal.is-active small{
  color:rgba(6,39,71,.70);
}

.tml-policy__goal.is-active .tml-policy__goal-check{
  opacity:1;
  transform:scale(1);
}

.tml-policy__suggestion{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-top:12px;
  padding:11px 14px;
  border:1px solid rgba(143,202,232,.28);
  border-radius:12px;
  background:rgba(11,62,100,.64);
  color:var(--tp-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.tml-policy__suggestion > .tml-policy__icon{
  margin-top:1px;
  color:var(--tp-gold);
}

.tml-policy__suggestion p{
  margin:0;
  font-size:12px;
  line-height:1.5;
}

.tml-policy__suggestion strong{
  color:var(--tp-gold-soft);
}

.tml-policy__suggestion-note{
  margin:8px 0 0;
  color:rgba(255,255,255,.48);
  font-size:9.5px;
  line-height:1.4;
  text-align:center;
}

/* =========================================================
   APP SHELL & TABS
========================================================= */

.tml-policy__app{
  margin-top:24px;
}

.tml-policy__tabs-shell{
  position:relative;
}

.tml-policy__tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  padding:5px;
  border:1px solid rgba(143,202,232,.30);
  border-radius:16px;
  background:rgba(5,35,62,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 30px rgba(0,14,28,.15);
}

.tml-policy__tab{
  position:relative;
  min-width:0;
  min-height:54px;
  margin:0;
  padding:0 16px;
  border:0;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:rgba(255,255,255,.72);
  background:transparent;
  cursor:pointer;
  font-size:14px;
  line-height:1.2;
  font-weight:750;
  letter-spacing:.15px;
  transition:color .22s ease,background .22s ease,box-shadow .22s ease;
}

.tml-policy__tab::after{
  content:"";
  position:absolute;
  left:25%;
  right:25%;
  bottom:2px;
  height:2px;
  border-radius:2px;
  background:var(--tp-gold);
  opacity:0;
  transform:scaleX(.3);
  transition:opacity .22s ease,transform .22s ease;
}

.tml-policy__tab:hover{
  color:#fff;
  background:rgba(255,255,255,.035);
}

.tml-policy__tab:focus-visible{
  outline:3px solid rgba(225,181,72,.28);
  outline-offset:2px;
}

.tml-policy__tab.is-active,
.tml-policy__tab[aria-selected="true"]{
  color:var(--tp-gold);
  background:linear-gradient(145deg,rgba(15,77,121,.64),rgba(5,39,69,.72));
  box-shadow:inset 0 0 0 1px rgba(225,181,72,.11);
}

.tml-policy__tab.is-active::after,
.tml-policy__tab[aria-selected="true"]::after{
  opacity:1;
  transform:scaleX(1);
}

.tml-policy__tab .tml-policy__icon{
  width:24px;
  height:24px;
  flex-basis:24px;
}

.tml-policy__tabs-hint,
.tml-policy__scroll-hint{
  display:none;
}

.tml-policy__panels{
  margin-top:14px;
}

.tml-policy__panel{
  animation:tmlPolicyPanelIn .24s ease both;
}

.tml-policy__panel[hidden]{
  display:none !important;
}

@keyframes tmlPolicyPanelIn{
  from{opacity:.2;transform:translateY(7px)}
  to{opacity:1;transform:none}
}

/* =========================================================
   FUND COMPARISON CARDS
========================================================= */

.tml-policy__fund-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.tml-policy__fund-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-width:0;
  border:1px solid var(--tp-card-border);
  border-radius:var(--tp-card-radius);
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(143,202,232,.14),transparent 38%),
    linear-gradient(150deg,rgba(11,67,105,.92),rgba(3,31,57,.95));
  background-color:var(--tp-card-bg);
  box-shadow:var(--tp-shadow),inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.tml-policy__fund-card::before,
.tml-policy__detail-summary::before,
.tml-policy__accordion-item::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background-image:var(--tp-card-image,none);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.26;
  filter:saturate(.76) contrast(1.04);
}

.tml-policy__fund-card::after,
.tml-policy__detail-summary::after,
.tml-policy__accordion-item::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,31,57,.98) 0%,rgba(3,31,57,.90) 58%,rgba(3,31,57,.54) 100%);
}

.tml-policy__fund-card--vinhomes{
  border-color:rgba(225,181,72,.60);
  box-shadow:0 18px 48px rgba(0,12,27,.25),inset 0 0 0 1px rgba(225,181,72,.08);
}

.tml-policy__fund-card--nomura{
  border-color:rgba(144,210,239,.64);
}

.tml-policy__fund-card:hover{
  transform:translateY(-2px);
}

.tml-policy__fund-card--vinhomes:hover{
  border-color:rgba(244,212,138,.86);
  box-shadow:0 20px 52px rgba(0,12,27,.30),0 0 0 1px rgba(225,181,72,.10);
}

.tml-policy__fund-card--nomura:hover{
  border-color:rgba(181,230,250,.88);
}

.tml-policy__fund-watermark{
  position:absolute;
  z-index:0;
  right:12px;
  top:15px;
  width:120px;
  height:120px;
  color:rgba(255,255,255,.055);
  pointer-events:none;
}

.tml-policy__fund-card > *:not(.tml-policy__fund-watermark){
  position:relative;
  z-index:1;
}

.tml-policy__fund-head{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.tml-policy__fund-logo{
  width:47px;
  height:47px;
  flex-basis:47px;
  padding:4px;
  color:var(--tp-gold-soft);
}

.tml-policy__fund-card--nomura .tml-policy__fund-logo{
  color:var(--tp-nomura);
}

.tml-policy__fund-head > div{
  min-width:0;
}

.tml-policy__fund-head span{
  display:block;
  margin-bottom:4px;
  color:var(--tp-gold-soft);
  font-size:24px;
  line-height:1.12;
  font-weight:700;
  font-family:"Playfair Display","Noto Serif",Georgia,serif;
}

.tml-policy__fund-card--nomura .tml-policy__fund-head span{
  color:var(--tp-nomura);
}

.tml-policy__fund-head h2{
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:1.35;
  font-weight:750;
}

.tml-policy__fund-description{
  max-width:92%;
  margin:13px 0 16px;
  color:var(--tp-text);
  font-size:12px;
  line-height:1.55;
}

.tml-policy__kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.tml-policy__kpi{
  min-width:0;
  min-height:90px;
  padding:13px 10px;
  border:1px solid rgba(143,202,232,.27);
  border-radius:13px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:rgba(3,33,60,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease;
}

.tml-policy__kpis--vinhomes .tml-policy__kpi{
  border-color:rgba(225,181,72,.32);
}

.tml-policy__kpi strong{
  color:var(--tp-gold-soft);
  font-size:28px;
  line-height:1.05;
  font-weight:850;
  letter-spacing:-.45px;
}

.tml-policy__kpis--nomura .tml-policy__kpi strong{
  color:var(--tp-nomura);
}

.tml-policy__kpi span{
  margin-top:7px;
  color:rgba(255,255,255,.74);
  font-size:10px;
  line-height:1.3;
}

.tml-policy__chips{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.tml-policy__chip{
  min-width:0;
  min-height:43px;
  padding:8px 9px;
  border:1px solid rgba(143,202,232,.27);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:rgba(255,255,255,.84);
  background:rgba(6,43,75,.70);
  text-align:center;
  font-size:9.5px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.12px;
  transition:border-color .22s ease,background .22s ease,box-shadow .22s ease;
}

.tml-policy__chip .tml-policy__icon{
  width:18px;
  height:18px;
  flex-basis:18px;
  color:var(--tp-gold-soft);
}

.tml-policy__chips--nomura .tml-policy__chip .tml-policy__icon{
  color:var(--tp-nomura);
}

.tml-policy__fund-button{
  width:100%;
  min-height:49px;
  margin:14px 0 0;
  padding:0 18px;
  border:1px solid rgba(225,181,72,.75);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#062747;
  background:linear-gradient(180deg,#f1d483,#dbaa38);
  cursor:pointer;
  font-size:11px;
  line-height:1.2;
  font-weight:850;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.tml-policy__fund-card--nomura .tml-policy__fund-button{
  border-color:rgba(144,210,239,.78);
  background:linear-gradient(180deg,#c9efff,#7fc6e7);
}

.tml-policy__fund-button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,0,0,.18);
  filter:brightness(1.05);
}

.tml-policy__fund-button:focus-visible{
  outline:3px solid rgba(255,255,255,.36);
  outline-offset:2px;
}

/* =========================================================
   GOAL HIGHLIGHT
========================================================= */

.tml-policy [data-goals].is-goal-match{
  border-color:rgba(244,212,138,.82) !important;
  background-color:rgba(225,181,72,.10);
  box-shadow:0 0 0 1px rgba(225,181,72,.12),0 9px 28px rgba(225,181,72,.07);
}

.tml-policy__fund-card--nomura [data-goals].is-goal-match,
.tml-policy__detail-summary--nomura [data-goals].is-goal-match,
.tml-policy__accordion-item.is-goal-match{
  border-color:rgba(177,229,250,.86) !important;
  box-shadow:0 0 0 1px rgba(144,210,239,.13),0 9px 28px rgba(79,169,211,.08);
}

/* =========================================================
   CONTEXT RIGHTS · COMMON / CONDITIONAL / LOYALTY
========================================================= */

.tml-policy__context-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:10px;
  border:1px solid rgba(143,202,232,.26);
  border-radius:0 0 15px 15px;
  background:rgba(4,34,60,.66);
}

.tml-policy__context-card{
  min-width:0;
  min-height:126px;
  padding:14px;
  border:1px solid rgba(143,202,232,.23);
  border-radius:13px;
  display:flex;
  align-items:flex-start;
  gap:11px;
  background:linear-gradient(145deg,rgba(12,65,101,.68),rgba(5,36,64,.76));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease;
}

.tml-policy__context-card:hover{
  transform:translateY(-2px);
  border-color:rgba(143,202,232,.48);
}

.tml-policy__context-card > .tml-policy__icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  padding:7px;
  border-radius:10px;
  color:var(--tp-gold-soft);
  background:rgba(255,255,255,.065);
}

.tml-policy__context-copy{
  min-width:0;
}

.tml-policy__context-badge{
  display:inline-flex;
  max-width:100%;
  margin-bottom:7px;
  padding:4px 7px;
  border:1px solid rgba(244,212,138,.28);
  border-radius:999px;
  color:var(--tp-gold-soft);
  background:rgba(225,181,72,.08);
  font-size:7px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.55px;
  text-transform:uppercase;
}

.tml-policy__context-card h4{
  margin:0 0 5px;
  color:#fff;
  font-size:12px;
  line-height:1.3;
  font-weight:850;
}

.tml-policy__context-card p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:9.5px;
  line-height:1.5;
}

/* =========================================================
   COMPARISON TABLE
========================================================= */

.tml-policy__context-section,
.tml-policy__comparison,
.tml-policy__timeline-section,
.tml-policy__benefits-section,
.tml-policy__accordion-section{
  margin-top:16px;
}

.tml-policy__subhead{
  min-height:48px;
  padding:0 15px;
  border:1px solid rgba(143,202,232,.26);
  border-bottom:0;
  border-radius:15px 15px 0 0;
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(5,39,69,.72);
}

.tml-policy__subhead > .tml-policy__icon,
.tml-policy__subhead > span .tml-policy__icon{
  color:var(--tp-gold);
}

.tml-policy__subhead h3{
  margin:0;
  color:#fff;
  font-size:13px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.45px;
}

.tml-policy__subhead small{
  margin-left:auto;
  color:rgba(255,255,255,.46);
  font-size:9px;
  line-height:1.3;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.tml-policy__comparison-table{
  overflow:hidden;
  border:1px solid rgba(143,202,232,.26);
  border-radius:0 0 15px 15px;
  background:rgba(4,34,60,.66);
}

.tml-policy__comparison-head,
.tml-policy__comparison-row{
  display:grid;
  grid-template-columns:28% 36% 36%;
}

.tml-policy__comparison-head{
  color:rgba(255,255,255,.72);
  background:rgba(7,49,82,.76);
  font-size:9.5px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.45px;
}

.tml-policy__comparison-head span,
.tml-policy__comparison-row > div{
  min-width:0;
  padding:11px 14px;
  border-right:1px solid rgba(143,202,232,.16);
}

.tml-policy__comparison-head span:last-child,
.tml-policy__comparison-row > div:last-child{
  border-right:0;
}

.tml-policy__comparison-row{
  border-top:1px solid rgba(143,202,232,.14);
  color:rgba(255,255,255,.79);
  font-size:11px;
  line-height:1.45;
  transition:border-color .22s ease,background .22s ease,box-shadow .22s ease;
}

.tml-policy__comparison-row:nth-child(even){
  background:rgba(11,64,100,.28);
}

.tml-policy__comparison-label{
  display:flex;
  align-items:center;
  gap:9px;
}

.tml-policy__comparison-label .tml-policy__icon{
  color:var(--tp-gold);
}

.tml-policy__comparison-label strong{
  color:#fff;
  font-size:11px;
}

/* =========================================================
   DETAIL SUMMARY
========================================================= */

.tml-policy__detail-summary{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--tp-card-border);
  border-radius:var(--tp-card-radius);
  background:
    radial-gradient(circle at 88% 20%,rgba(143,202,232,.17),transparent 32%),
    linear-gradient(145deg,rgba(10,63,101,.94),rgba(3,31,57,.96));
  background-color:var(--tp-card-bg);
  box-shadow:var(--tp-shadow),inset 0 1px 0 rgba(255,255,255,.05);
}

.tml-policy__detail-summary--vinhomes{
  border-color:rgba(225,181,72,.56);
}

.tml-policy__detail-summary--nomura{
  border-color:rgba(144,210,239,.58);
}

.tml-policy__detail-summary > *{
  position:relative;
  z-index:1;
}

.tml-policy__detail-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:6px;
  color:var(--tp-gold-soft);
  font-size:13px;
  line-height:1.3;
  font-weight:850;
  letter-spacing:.5px;
}

.tml-policy__detail-summary--nomura .tml-policy__detail-kicker{
  color:var(--tp-nomura);
}

.tml-policy__detail-kicker .tml-policy__icon{
  width:34px;
  height:34px;
  flex-basis:34px;
}

.tml-policy__detail-copy h2{
  margin:0;
  color:#fff;
  font-size:24px;
  line-height:1.16;
  font-weight:800;
}

.tml-policy__detail-copy > p{
  max-width:910px;
  margin:9px 0 17px;
  color:var(--tp-text);
  font-size:12.5px;
  line-height:1.58;
}

/* =========================================================
   TIMELINE
========================================================= */

.tml-policy__timeline{
  position:relative;
  display:flex;
  gap:10px;
  padding:35px 12px 12px;
  border:1px solid rgba(143,202,232,.26);
  border-radius:0 0 15px 15px;
  background:rgba(4,34,60,.66);
}

.tml-policy__timeline::before{
  content:"";
  position:absolute;
  left:6.3%;
  right:6.3%;
  top:23px;
  height:2px;
  background:linear-gradient(90deg,rgba(225,181,72,.22),var(--tp-gold),rgba(225,181,72,.22));
}

.tml-policy__timeline-step{
  position:relative;
  min-width:0;
  flex:1 1 0;
}

.tml-policy__timeline-node{
  position:absolute;
  z-index:2;
  left:50%;
  top:-28px;
  width:30px;
  height:30px;
  border:2px solid var(--tp-gold);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateX(-50%);
  color:var(--tp-gold-soft);
  background:#073252;
  box-shadow:0 0 0 4px rgba(4,34,60,.96),0 0 15px rgba(225,181,72,.20);
  font-size:11px;
  line-height:1;
  font-weight:900;
}

.tml-policy__timeline-card{
  min-height:144px;
  padding:13px 10px;
  border:1px solid rgba(143,202,232,.26);
  border-radius:13px;
  display:flex;
  align-items:flex-start;
  gap:8px;
  background:linear-gradient(145deg,rgba(12,68,106,.70),rgba(4,39,69,.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.tml-policy__timeline-card > .tml-policy__icon{
  width:21px;
  height:21px;
  flex-basis:21px;
  color:var(--tp-nomura);
}

.tml-policy__timeline-card > div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.tml-policy__timeline-card strong{
  color:#fff;
  font-size:11px;
  line-height:1.3;
}

.tml-policy__timeline-card span{
  margin-top:5px;
  color:rgba(255,255,255,.66);
  font-size:9.5px;
  line-height:1.35;
}

.tml-policy__timeline-card b{
  margin-top:6px;
  color:var(--tp-gold-soft);
  font-size:11.5px;
  line-height:1.35;
  font-weight:850;
}

.tml-policy__timeline-card small{
  margin-top:5px;
  color:rgba(255,255,255,.48);
  font-size:8.5px;
  line-height:1.35;
}

/* =========================================================
   VINHOMES BENEFITS
========================================================= */

.tml-policy__benefits{
  padding:12px;
  border:1px solid rgba(143,202,232,.26);
  border-radius:0 0 15px 15px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  background:rgba(4,34,60,.66);
}

.tml-policy__benefit{
  overflow:hidden;
  min-width:0;
  border:1px solid rgba(143,202,232,.26);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(11,64,101,.70),rgba(4,38,68,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.tml-policy__benefit:hover{
  transform:translateY(-1px);
}

.tml-policy__benefit-toggle{
  width:100%;
  min-height:78px;
  margin:0;
  padding:13px;
  border:0;
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff;
  background:transparent;
  text-align:left;
  cursor:default;
}

.tml-policy__benefit-toggle > .tml-policy__icon{
  width:32px;
  height:32px;
  flex-basis:32px;
  padding:5px;
  border:1px solid rgba(225,181,72,.25);
  border-radius:10px;
  color:var(--tp-gold-soft);
  background:rgba(225,181,72,.06);
}

.tml-policy__benefit-toggle > span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.tml-policy__benefit-toggle strong{
  color:var(--tp-gold-soft);
  font-size:16px;
  line-height:1.2;
  font-weight:850;
}

.tml-policy__benefit-toggle small{
  color:#fff;
  font-size:10.5px;
  line-height:1.35;
  font-weight:750;
}

.tml-policy__benefit-toggle > i{
  display:none;
  margin-left:auto;
  font-style:normal;
}

.tml-policy__benefit-body{
  padding:0 13px 13px;
}

.tml-policy__benefit-body[hidden]{
  display:block !important;
}

.tml-policy__benefit-body > p{
  margin:0;
  color:var(--tp-text);
  font-size:10.5px;
  line-height:1.5;
}

.tml-policy__plain{
  margin-top:10px;
  padding:9px 10px;
  border-left:2px solid var(--tp-gold);
  border-radius:0 9px 9px 0;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:rgba(225,181,72,.06);
}

.tml-policy__plain strong{
  color:var(--tp-gold-soft);
  font-size:8.5px;
  line-height:1.3;
  letter-spacing:.8px;
}

.tml-policy__plain span{
  color:rgba(255,255,255,.72);
  font-size:9.5px;
  line-height:1.45;
}

/* =========================================================
   NOMURA ACCORDION
========================================================= */

.tml-policy__accordion{
  padding:12px;
  border:1px solid rgba(143,202,232,.26);
  border-radius:0 0 15px 15px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  background:rgba(4,34,60,.66);
}

.tml-policy__accordion-item{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-width:0;
  border:1px solid rgba(143,202,232,.30);
  color:#fff;
  background:linear-gradient(145deg,rgba(11,64,101,.76),rgba(4,38,68,.90));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.tml-policy__accordion-item::before{
  opacity:.20;
}

.tml-policy__accordion-item::after{
  background:linear-gradient(90deg,rgba(3,31,57,.98),rgba(3,31,57,.76));
}

.tml-policy__accordion-item.is-open{
  border-color:rgba(144,210,239,.62);
}

.tml-policy__accordion-toggle,
.tml-policy__accordion-body{
  position:relative;
  z-index:1;
}

.tml-policy__accordion-toggle{
  width:100%;
  min-height:73px;
  margin:0;
  padding:12px 13px;
  border:0;
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff;
  background:transparent;
  cursor:pointer;
  text-align:left;
}

.tml-policy__accordion-toggle:focus-visible{
  outline:3px solid rgba(144,210,239,.28);
  outline-offset:-3px;
}

.tml-policy__accordion-toggle > .tml-policy__icon{
  width:34px;
  height:34px;
  flex-basis:34px;
  padding:6px;
  border:1px solid rgba(144,210,239,.24);
  border-radius:10px;
  color:var(--tp-nomura);
  background:rgba(144,210,239,.06);
}

.tml-policy__accordion-toggle > span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.tml-policy__accordion-toggle strong{
  color:#fff;
  font-size:12px;
  line-height:1.3;
}

.tml-policy__accordion-toggle small{
  color:var(--tp-nomura);
  font-size:10.5px;
  line-height:1.35;
  font-weight:800;
}

.tml-policy__accordion-toggle > i{
  margin-left:auto;
  color:rgba(255,255,255,.70);
  font-style:normal;
  font-size:20px;
  line-height:1;
  transform:rotate(0deg);
  transition:transform .22s ease;
}

.tml-policy__accordion-item.is-open .tml-policy__accordion-toggle > i{
  transform:rotate(180deg);
}

.tml-policy__accordion-body{
  padding:0 13px 13px;
}

.tml-policy__accordion-body[hidden]{
  display:none !important;
}

.tml-policy__accordion-body ul,
.tml-policy__fit ul{
  margin:0;
  padding:0;
  list-style:none;
}

.tml-policy__accordion-body li,
.tml-policy__fit li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:rgba(255,255,255,.80);
  font-size:10.5px;
  line-height:1.45;
}

.tml-policy__accordion-body li + li,
.tml-policy__fit li + li{
  margin-top:7px;
}

.tml-policy__accordion-body li .tml-policy__icon,
.tml-policy__fit li .tml-policy__icon{
  width:16px;
  height:16px;
  flex-basis:16px;
  margin-top:1px;
  color:var(--tp-gold-soft);
}

/* =========================================================
   FIT BLOCK
========================================================= */

.tml-policy__fit{
  margin-top:12px;
  padding:14px 16px;
  border:1px solid rgba(143,202,232,.30);
  border-radius:15px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);
  gap:18px;
  align-items:center;
  background:linear-gradient(90deg,rgba(10,61,98,.75),rgba(4,38,68,.84));
}

.tml-policy__fit-heading{
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-width:0;
}

.tml-policy__fit-heading > .tml-policy__icon{
  width:34px;
  height:34px;
  flex-basis:34px;
  padding:5px;
  border-radius:50%;
  color:var(--tp-gold-soft);
  background:rgba(225,181,72,.08);
}

.tml-policy__fit--nomura .tml-policy__fit-heading > .tml-policy__icon{
  color:var(--tp-nomura);
  background:rgba(144,210,239,.08);
}

.tml-policy__fit h3{
  margin:0 0 4px;
  color:var(--tp-gold-soft);
  font-size:13px;
  line-height:1.3;
  font-weight:850;
}

.tml-policy__fit--nomura h3{
  color:var(--tp-nomura);
}

.tml-policy__fit p{
  margin:0;
  color:rgba(255,255,255,.70);
  font-size:10.5px;
  line-height:1.45;
}

.tml-policy__fit ul{
  padding-left:16px;
  border-left:1px solid rgba(143,202,232,.22);
}

/* =========================================================
   CTA
========================================================= */

.tml-policy__cta{
  margin-top:14px;
  padding:15px 17px;
  border:1px solid rgba(143,202,232,.36);
  border-radius:16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  background:
    radial-gradient(circle at 70% 50%,rgba(143,202,232,.12),transparent 34%),
    linear-gradient(100deg,rgba(10,62,99,.80),rgba(4,37,67,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.tml-policy__cta-copy{
  min-width:0;
  display:flex;
  align-items:center;
  gap:13px;
}

.tml-policy__cta-copy > .tml-policy__icon{
  width:42px;
  height:42px;
  flex-basis:42px;
  padding:9px;
  border:1px solid rgba(225,181,72,.42);
  border-radius:50%;
  color:var(--tp-gold-soft);
  background:rgba(225,181,72,.07);
}

.tml-policy__cta h3{
  margin:0 0 4px;
  color:var(--tp-gold-soft);
  font-size:15px;
  line-height:1.25;
  font-weight:850;
}

.tml-policy__cta p{
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.70);
  font-size:10.5px;
  line-height:1.45;
}

.tml-policy__cta-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.tml-policy__button{
  min-width:210px;
  min-height:54px;
  padding:0 18px;
  border:1px solid rgba(143,202,232,.55);
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#fff;
  background:rgba(4,38,68,.62);
  text-decoration:none !important;
  white-space:nowrap;
  font-size:10.5px;
  line-height:1.2;
  font-weight:850;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background .2s ease;
}

.tml-policy__button .tml-policy__icon{
  width:18px;
  height:18px;
  flex-basis:18px;
}

.tml-policy__button--primary{
  color:#062747;
  border-color:rgba(244,212,138,.72);
  background:var(--tp-gold);
}

.tml-policy__button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,0,0,.18);
  filter:brightness(1.05);
}

.tml-policy__button:focus-visible{
  outline:3px solid rgba(255,255,255,.35);
  outline-offset:2px;
}

/* =========================================================
   DISCLAIMER
========================================================= */

.tml-policy__disclaimer{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:13px;
  padding:0 2px;
  color:rgba(255,255,255,.45);
}

.tml-policy__disclaimer .tml-policy__icon{
  width:15px;
  height:15px;
  flex-basis:15px;
  margin-top:1px;
}

.tml-policy__disclaimer p{
  margin:0;
  font-size:8.5px;
  line-height:1.45;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width:1100px){
  .tml-policy__title{
    font-size:34px;
  }

  .tml-policy__goals{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tml-policy__fund-grid{
    grid-template-columns:1fr;
  }

  .tml-policy__fund-description{
    max-width:760px;
  }

  .tml-policy__benefits{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tml-policy__timeline{
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .tml-policy__timeline::-webkit-scrollbar{
    display:none;
  }

  .tml-policy__timeline::before{
    left:100px;
    right:100px;
  }

  .tml-policy__timeline-step{
    flex:0 0 205px;
    scroll-snap-align:start;
  }

  .tml-policy__fit{
    grid-template-columns:1fr;
  }

  .tml-policy__fit ul{
    padding-left:0;
    padding-top:12px;
    border-left:0;
    border-top:1px solid rgba(143,202,232,.22);
  }

  .tml-policy__cta{
    grid-template-columns:1fr;
  }

  .tml-policy__cta-actions{
    width:100%;
  }

  .tml-policy__button{
    flex:1 1 0;
  }
}

/* =========================================================
   MOBILE WEB-APP MODE
========================================================= */

@media (max-width:767px){
  .tml-policy__title{
    font-size:28px;
  }

  .tml-policy{
    --tp-gutter:12px;
  }

  .tml-policy__hero{
    min-height:0;
    background:
      linear-gradient(180deg,rgba(3,23,44,.92),rgba(3,23,44,.985)),
      radial-gradient(circle at 90% 0%,rgba(225,181,72,.10),transparent 42%);
  }

  .tml-policy__hero::before{
    opacity:.28;
    background-position:center;
  }

  .tml-policy__eyebrow{
    gap:7px;
    font-size:9px;
    letter-spacing:1.15px;
  }

  .tml-policy__title{
    margin-bottom:11px;
    line-height:1.10;
    letter-spacing:-.02em;
  }

  .tml-policy__description{
    font-size:13px;
    line-height:1.58;
  }

  .tml-policy__transition{
    width:100%;
    margin-top:15px;
    padding:10px 11px;
    border-radius:10px;
    font-size:11px;
  }

  .tml-policy__goals-section{
    margin-top:18px;
  }

  .tml-policy__scroll-shell--goals,
  .tml-policy__tabs-shell{
    padding-right:0;
  }

  .tml-policy__goals{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    overflow:visible;
    padding-right:0;
  }

  .tml-policy__goals::-webkit-scrollbar,
  .tml-policy__tabs::-webkit-scrollbar,
  .tml-policy__timeline::-webkit-scrollbar{
    display:none;
  }

  .tml-policy__goal{
    min-width:0;
    min-height:86px;
    padding:10px;
    align-items:flex-start;
    gap:8px;
  }

  .tml-policy__goal-check{
    display:none;
  }

  .tml-policy__scroll-shell--goals > .tml-policy__scroll-hint{
    display:none !important;
  }

  .tml-policy__goal > .tml-policy__icon{
    width:35px;
    height:35px;
    flex-basis:35px;
  }

  .tml-policy__suggestion{
    padding:10px 11px;
  }

  .tml-policy__suggestion p{
    font-size:11px;
  }

  .tml-policy__context-grid{
    grid-template-columns:1fr;
    gap:8px;
    padding:8px;
  }

  .tml-policy__context-card{
    min-height:0;
    padding:12px;
  }

  .tml-policy__context-card > .tml-policy__icon{
    width:31px;
    height:31px;
    flex-basis:31px;
  }

  .tml-policy__context-card h4{
    font-size:11.5px;
  }

  .tml-policy__context-card p{
    font-size:9px;
  }

  .tml-policy__app{
    margin-top:19px;
  }

  .tml-policy__tabs{
    display:flex;
    gap:4px;
    overflow-x:auto;
    padding:4px 48px 4px 4px;
    border-radius:14px;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .tml-policy__tab{
    flex:0 0 auto;
    min-width:150px;
    min-height:48px;
    padding:0 12px;
    border-radius:10px;
    scroll-snap-align:center;
    font-size:11px;
  }

  .tml-policy__tab .tml-policy__icon{
    width:21px;
    height:21px;
    flex-basis:21px;
  }

  .tml-policy__tabs-hint,
  .tml-policy__scroll-hint{
    position:absolute;
    top:50%;
    right:8px;
    z-index:6;
    width:31px;
    height:31px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1px;
    transform:translateY(-50%);
    color:#fff;
    background:rgba(7,50,82,.94);
    box-shadow:0 8px 18px rgba(0,12,27,.25);
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
  }

  .tml-policy__tabs-hint::before,
  .tml-policy__scroll-hint::before{
    content:"";
    position:absolute;
    width:64px;
    height:45px;
    right:-8px;
    border-radius:0 13px 13px 0;
    background:linear-gradient(90deg,transparent,rgba(3,23,44,.90));
    z-index:-1;
  }

  .tml-policy__tabs-hint i,
  .tml-policy__scroll-hint i{
    width:7px;
    height:7px;
    border-top:2px solid currentColor;
    border-right:2px solid currentColor;
    transform:rotate(45deg);
  }

  .tml-policy__tabs-hint.is-hidden,
  .tml-policy__scroll-hint.is-hidden,
  .tml-policy[data-mobile-hint="no"] .tml-policy__tabs-hint,
  .tml-policy[data-mobile-hint="no"] .tml-policy__scroll-hint{
    opacity:0;
    visibility:hidden;
  }

  .tml-policy__panels{
    margin-top:10px;
  }

  .tml-policy__fund-grid{
    gap:11px;
  }

  .tml-policy__fund-head{
    align-items:flex-start;
  }

  .tml-policy__fund-logo{
    width:40px;
    height:40px;
    flex-basis:40px;
  }

  .tml-policy__fund-head span{
    font-size:21px;
  }

  .tml-policy__fund-head h2{
    font-size:14px;
  }

  .tml-policy__fund-description{
    max-width:100%;
    margin:11px 0 14px;
    font-size:11px;
  }

  .tml-policy__kpis{
    gap:6px;
  }

  .tml-policy__kpi{
    min-height:82px;
    padding:10px 5px;
    border-radius:11px;
  }

  .tml-policy__kpi strong{
    font-size:21px;
    letter-spacing:-.3px;
  }

  .tml-policy__kpi span{
    margin-top:5px;
    font-size:8.5px;
  }

  .tml-policy__chips{
    gap:6px;
  }

  .tml-policy__chip{
    min-height:40px;
    padding:7px 6px;
    gap:5px;
    border-radius:10px;
    font-size:8px;
  }

  .tml-policy__chip .tml-policy__icon{
    width:15px;
    height:15px;
    flex-basis:15px;
  }

  .tml-policy__fund-button{
    min-height:46px;
    margin-top:11px;
    font-size:10px;
  }

  .tml-policy__subhead{
    min-height:45px;
    padding:0 11px;
    border-radius:13px 13px 0 0;
  }

  .tml-policy__subhead h3{
    font-size:11px;
  }

  .tml-policy__subhead small{
    display:none;
  }

  .tml-policy__comparison-table{
    border-radius:0 0 13px 13px;
  }

  .tml-policy__comparison-head{
    display:none;
  }

  .tml-policy__comparison-row{
    display:block;
    padding:12px;
  }

  .tml-policy__comparison-row > div{
    padding:0;
    border-right:0;
  }

  .tml-policy__comparison-row > div:not(:first-child){
    position:relative;
    margin-top:9px;
    padding:8px 9px 8px 76px;
    border:1px solid rgba(143,202,232,.16);
    border-radius:9px;
    background:rgba(3,30,54,.35);
    font-size:10px;
  }

  .tml-policy__comparison-row > div:not(:first-child)::before{
    content:attr(data-mobile-label);
    position:absolute;
    left:9px;
    top:9px;
    color:var(--tp-gold-soft);
    font-size:8px;
    font-weight:850;
    letter-spacing:.4px;
  }

  .tml-policy__comparison-label strong{
    font-size:11px;
  }

  .tml-policy__detail-kicker{
    align-items:flex-start;
    font-size:11px;
  }

  .tml-policy__detail-kicker .tml-policy__icon{
    width:29px;
    height:29px;
    flex-basis:29px;
  }

  .tml-policy__detail-copy h2{
    font-size:20px;
  }

  .tml-policy__detail-copy > p{
    margin:8px 0 14px;
    font-size:11px;
  }

  .tml-policy__timeline-section .tml-policy__scroll-shell{
    position:relative;
  }

  .tml-policy__timeline{
    gap:9px;
    padding:35px 47px 11px 10px;
    scroll-snap-type:x mandatory;
  }

  .tml-policy__timeline::before{
    left:110px;
    right:110px;
  }

  .tml-policy__timeline-step{
    flex:0 0 78%;
    scroll-snap-align:start;
  }

  .tml-policy__timeline-card{
    min-height:154px;
    padding:14px 12px;
  }

  .tml-policy__timeline-section .tml-policy__scroll-hint{
    top:calc(50% + 18px);
  }

  .tml-policy__benefits{
    grid-template-columns:1fr;
    gap:8px;
    padding:9px;
  }

  .tml-policy__benefit-toggle{
    min-height:70px;
    padding:11px;
    cursor:pointer;
  }

  .tml-policy__benefit-toggle > i{
    display:block;
    font-size:19px;
    transform:rotate(0deg);
    transition:transform .2s ease;
  }

  .tml-policy__benefit.is-open .tml-policy__benefit-toggle > i{
    transform:rotate(45deg);
  }

  .tml-policy__benefit-body{
    padding:0 11px 11px;
  }

  .tml-policy__benefit-body[hidden]{
    display:none !important;
  }

  .tml-policy__benefit-toggle strong{
    font-size:15px;
  }

  .tml-policy__accordion{
    grid-template-columns:1fr;
    gap:8px;
    padding:9px;
  }

  .tml-policy__accordion-toggle{
    min-height:69px;
    padding:11px;
  }

  .tml-policy__fit{
    margin-top:10px;
    padding:13px;
    gap:11px;
    border-radius:13px;
  }

  .tml-policy__fit-heading > .tml-policy__icon{
    width:31px;
    height:31px;
    flex-basis:31px;
  }

  .tml-policy__fit h3{
    font-size:12px;
  }

  .tml-policy__fit p,
  .tml-policy__fit li{
    font-size:9.5px;
  }

  .tml-policy__cta{
    margin-top:10px;
    padding:13px;
    gap:12px;
    border-radius:13px;
  }

  .tml-policy__cta-copy{
    align-items:flex-start;
  }

  .tml-policy__cta-copy > .tml-policy__icon{
    width:36px;
    height:36px;
    flex-basis:36px;
    padding:8px;
  }

  .tml-policy__cta h3{
    font-size:13px;
  }

  .tml-policy__cta p{
    font-size:9.5px;
  }

  .tml-policy__cta-actions{
    flex-direction:column;
    gap:8px;
  }

  .tml-policy__button{
    width:100%;
    min-width:0;
    min-height:48px;
    font-size:9.5px;
  }

  .tml-policy__disclaimer{
    margin-top:11px;
  }

  .tml-policy__disclaimer p{
    font-size:7.8px;
  }
}

@media (max-width:390px){
  .tml-policy__title{
    font-size:25px;
  }

  .tml-policy__tab{
    min-width:142px;
  }

  .tml-policy__kpi strong{
    font-size:19px;
  }

  .tml-policy__chip{
    font-size:7.3px;
  }
}

@media (prefers-reduced-motion:reduce){
  .tml-policy *,
  .tml-policy *::before,
  .tml-policy *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* =========================================================
   LAYERED COMPACT MODE v1.2.0
   Only one deep-dive layer is visible at a time.
========================================================= */

.tml-policy--layered .tml-policy__hero{
  min-height:0;
}

.tml-policy--layered .tml-policy__goals-section{
  margin-top:16px;
}

.tml-policy--layered .tml-policy__goal{
  min-height:66px;
  padding-top:10px;
  padding-bottom:10px;
}

.tml-policy--layered .tml-policy__suggestion{
  margin-top:9px;
  padding-top:9px;
  padding-bottom:9px;
}

.tml-policy--layered .tml-policy__suggestion-note{
  display:none;
}

.tml-policy--layered .tml-policy__app{
  margin-top:16px;
}

.tml-policy--layered .tml-policy__panels{
  margin-top:10px;
}

/* Compact fund cards shown on the default comparison screen. */
.tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-card{
  padding:18px 20px !important;
}

.tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-description{
  max-width:100%;
  margin:9px 0 11px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

.tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-head span{
  font-size:21px;
}

.tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-logo{
  width:40px;
  height:40px;
  flex-basis:40px;
}

.tml-policy--layered [data-policy-panel="compare"] .tml-policy__kpi{
  min-height:72px;
  padding:9px 8px;
}

.tml-policy--layered [data-policy-panel="compare"] .tml-policy__kpi strong{
  font-size:23px;
}

.tml-policy--layered [data-policy-panel="compare"] .tml-policy__kpi span{
  margin-top:4px;
}

.tml-policy--layered [data-policy-panel="compare"] .tml-policy__chip{
  min-height:36px;
  padding:6px 8px;
}

.tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-button{
  min-height:43px;
  margin-top:10px;
}

/* Compact disclosure rows on the comparison screen. */
.tml-policy__compact-drawers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:11px;
}

.tml-policy__compact-drawer{
  min-width:0;
  border:1px solid rgba(143,202,232,.27);
  border-radius:14px;
  background:rgba(5,39,69,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}

.tml-policy__compact-drawer[open]{
  grid-column:1 / -1;
  border-color:rgba(225,181,72,.48);
}

.tml-policy__compact-drawer > summary{
  list-style:none;
  min-height:58px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  color:#fff;
}

.tml-policy__compact-drawer > summary::-webkit-details-marker{
  display:none;
}

.tml-policy__compact-drawer-label{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.tml-policy__compact-drawer-label > .tml-policy__icon{
  color:var(--tp-gold-soft);
}

.tml-policy__compact-drawer-label > span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.tml-policy__compact-drawer-label strong{
  color:#fff;
  font-size:11.5px;
  line-height:1.25;
  font-weight:850;
}

.tml-policy__compact-drawer-label small{
  color:rgba(255,255,255,.52);
  font-size:8.5px;
  line-height:1.35;
}

.tml-policy__compact-drawer > summary > i{
  width:27px;
  height:27px;
  flex:0 0 27px;
  border:1px solid rgba(143,202,232,.28);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--tp-gold-soft);
  background:rgba(255,255,255,.035);
  font-style:normal;
  font-size:18px;
  line-height:1;
  transition:transform .2s ease;
}

.tml-policy__compact-drawer[open] > summary > i{
  transform:rotate(45deg);
}

.tml-policy__compact-drawer-body{
  padding:0 10px 10px;
}

.tml-policy__compact-drawer-body .tml-policy__comparison,
.tml-policy__compact-drawer-body .tml-policy__context-section{
  margin-top:0;
}

.tml-policy__compact-drawer-body .tml-policy__context-section > .tml-policy__subhead{
  display:none;
}

.tml-policy__compact-drawer-body .tml-policy__context-grid,
.tml-policy__compact-drawer-body .tml-policy__comparison-table{
  border-radius:12px;
}

/* Inner web-app tabs for each fund detail. */
.tml-policy__subapp{
  margin-top:10px;
}

.tml-policy__subtabs-shell{
  position:relative;
}

.tml-policy__subtabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  padding:4px;
  border:1px solid rgba(143,202,232,.26);
  border-radius:14px;
  background:rgba(4,34,60,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.tml-policy__subtab{
  min-width:0;
  min-height:45px;
  margin:0;
  padding:0 12px;
  border:0;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:rgba(255,255,255,.64);
  background:transparent;
  cursor:pointer;
  font-size:10px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.2px;
  transition:color .2s ease,background .2s ease,box-shadow .2s ease;
}

.tml-policy__subtab .tml-policy__icon{
  width:19px;
  height:19px;
  flex-basis:19px;
}

.tml-policy__subtab:hover{
  color:#fff;
  background:rgba(255,255,255,.035);
}

.tml-policy__subtab.is-active,
.tml-policy__subtab[aria-selected="true"]{
  color:#062747;
  background:var(--tp-gold);
  box-shadow:0 8px 20px rgba(225,181,72,.14),inset 0 1px 0 rgba(255,255,255,.36);
}

[data-policy-subapp="nomura"] .tml-policy__subtab.is-active,
[data-policy-subapp="nomura"] .tml-policy__subtab[aria-selected="true"]{
  color:#062747;
  background:var(--tp-nomura);
  box-shadow:0 8px 20px rgba(79,169,211,.14),inset 0 1px 0 rgba(255,255,255,.36);
}

.tml-policy__subtab:focus-visible{
  outline:3px solid rgba(225,181,72,.28);
  outline-offset:2px;
}

.tml-policy__subpanels{
  margin-top:8px;
}

.tml-policy__subpanel{
  animation:tmlPolicyPanelIn .22s ease both;
}

.tml-policy__subpanel[hidden]{
  display:none !important;
}

.tml-policy__subpanel .tml-policy__timeline-section,
.tml-policy__subpanel .tml-policy__benefits-section,
.tml-policy__subpanel .tml-policy__accordion-section,
.tml-policy__subpanel .tml-policy__fit{
  margin-top:0;
}

/* Benefit cards are now true accordions on desktop too. */
.tml-policy--layered .tml-policy__benefits{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}

.tml-policy--layered .tml-policy__benefit-toggle{
  cursor:pointer;
}

.tml-policy--layered .tml-policy__benefit-toggle > i{
  display:block;
  font-size:19px;
  transform:rotate(0deg);
  transition:transform .2s ease;
}

.tml-policy--layered .tml-policy__benefit.is-open .tml-policy__benefit-toggle > i{
  transform:rotate(45deg);
}

.tml-policy--layered .tml-policy__benefit-body[hidden],
.tml-policy--layered .tml-policy__accordion-body[hidden]{
  display:none !important;
}

/* Detail summary remains visible, but is denser. */
.tml-policy--layered .tml-policy__detail-summary{
  padding:18px 20px !important;
}

.tml-policy--layered .tml-policy__detail-copy > p{
  margin-bottom:12px;
}

.tml-policy--layered .tml-policy__detail-summary .tml-policy__kpi{
  min-height:72px;
  padding:9px 8px;
}

.tml-policy--layered .tml-policy__detail-summary .tml-policy__kpi strong{
  font-size:24px;
}

.tml-policy--layered .tml-policy__cta{
  margin-top:10px;
  padding-top:12px;
  padding-bottom:12px;
}

@media (max-width:1100px){
  .tml-policy__compact-drawers{
    grid-template-columns:1fr;
  }

  .tml-policy__compact-drawer[open]{
    grid-column:auto;
  }

  .tml-policy--layered .tml-policy__benefits{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  .tml-policy--layered .tml-policy__hero{
    padding-top:20px !important;
    padding-bottom:19px !important;
  }

  .tml-policy--layered .tml-policy__goal{
    min-height:72px;
  }

  .tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-card{
    padding:16px !important;
  }

  .tml-policy__compact-drawers{
    gap:8px;
  }

  .tml-policy__compact-drawer > summary{
    min-height:54px;
    padding:9px 11px;
  }

  .tml-policy__compact-drawer-label small{
    display:none;
  }

  .tml-policy__subtabs-shell{
    padding-right:0;
  }

  .tml-policy__subtabs{
    display:flex;
    gap:4px;
    overflow-x:auto;
    padding:4px 48px 4px 4px;
    border-radius:13px;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .tml-policy__subtabs::-webkit-scrollbar{
    display:none;
  }

  .tml-policy__subtab{
    flex:0 0 auto;
    min-width:165px;
    min-height:44px;
    scroll-snap-align:center;
    font-size:9.5px;
  }

  .tml-policy__subtabs-shell > .tml-policy__scroll-hint{
    display:flex;
  }

  .tml-policy--layered .tml-policy__benefits{
    grid-template-columns:1fr;
  }

  .tml-policy--layered .tml-policy__detail-summary{
    padding:16px !important;
  }

  .tml-policy--layered .tml-policy__detail-summary .tml-policy__kpi{
    min-height:68px;
  }
}

/* Mobile: compare the two funds by swiping, not by stacking a long column. */
.tml-policy__fund-shell{
  position:relative;
  min-width:0;
}

@media (max-width:767px){
  .tml-policy__fund-shell{
    padding-right:0;
  }

  .tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-right:42px;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-grid::-webkit-scrollbar{
    display:none;
  }

  .tml-policy--layered [data-policy-panel="compare"] .tml-policy__fund-card{
    flex:0 0 88%;
    scroll-snap-align:start;
  }

  .tml-policy__fund-shell > .tml-policy__scroll-hint{
    display:flex;
  }
}
