/* /gioi-thieu.html — page styles (scoped to .p-about) */
.p-about .cx-aboutmedia img{ object-position:50% 70%; } /* starts below the half-cut "Trâm Anh" wall lettering */

/* story */
.p-about .cx-story{ display:grid; gap:28px; align-items:center; }
@media (min-width:1024px){ .p-about .cx-story{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; } }
.p-about .cx-story__text{ min-width:0; }
.p-about .cx-story__prose{ margin-top:14px; max-width:none; font-size:15.5px; }
.p-about .cx-story__drop::first-letter{ float:left; margin:6px 10px 0 0; font-family:var(--ta-font-display); font-weight:900; font-size:62px; line-height:.8; color:var(--ta-maroon-500); }
.p-about .cx-story__sign{ display:grid; gap:2px; margin-top:4px; }
.p-about .cx-story__sign .cx-script{ font-size:clamp(34px, 1rem + 2vw, 48px); }
.p-about .cx-story__sign small{ font-size:12.5px; font-weight:700; color:var(--ta-muted); letter-spacing:.04em; }
.p-about .cx-story__tbc{ margin-top:10px; font-size:13px; color:var(--ta-muted); }
.p-about .cx-story__media{ position:relative; min-height:420px; max-width:560px; width:100%; justify-self:center; }
.p-about .cx-story__media .ta-photo{ position:absolute; }
.p-about .cx-story__media .ta-photo figcaption{ font-size:16px; }
.p-about .cx-story__p1{ left:0; top:10px; width:54%; transform:rotate(-6deg); }
.p-about .cx-story__p2{ right:0; top:0; width:50%; transform:rotate(5deg); z-index:1; }
.p-about .cx-story__p3{ left:20%; bottom:0; width:60%; transform:rotate(-1.5deg); z-index:2; }
.p-about .cx-story__p3 img{ aspect-ratio:4/3; }
.p-about .cx-seal{ position:absolute; z-index:3; right:2%; bottom:6%; display:grid; justify-items:center; align-content:center; width:118px; height:118px; border-radius:50%; text-align:center; color:#FFF3C9; line-height:1.05;
  background:radial-gradient(circle at 35% 30%, #C3161D 0%, #8E1A1E 60%, #5F0F13 100%); border:4px solid #F4C24D; box-shadow:0 0 0 4px rgba(255,255,255,.85), 0 14px 28px rgba(60,10,14,.4); transform:rotate(-8deg); }
.p-about .cx-seal small{ font-size:9px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; color:#FDE68A; }
.p-about .cx-seal b{ font-family:var(--ta-font-display); font-weight:900; font-size:44px; }
.p-about .cx-seal span{ font-size:9.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:599px){ .p-about .cx-story__media{ min-height:330px; } .p-about .cx-seal{ width:96px; height:96px; } .p-about .cx-seal b{ font-size:36px; } }

.p-about .cx-stats{ margin-top:0; }
.p-about .cx-stats .ta-stat__num{ font-size:clamp(28px, 1rem + 1.4vw, 38px); }

/* mission + core values */
.p-about .cx-mission .ta-value__icon{ display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:var(--ta-rose-50); border:1px solid var(--ta-rose-200); color:var(--ta-red); }
.p-about .cx-mission .ta-value__icon .ta-ico{ width:28px; height:28px; }
.p-about .cx-mission .ta-value__title .cx-tbc{ display:inline-flex; margin-top:4px; }
.p-about .cx-mission .ta-value__desc{ font-size:14px; color:var(--ta-text-2); }
@media (min-width:768px){ .p-about .cx-mission--2{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; margin-inline:auto; } }
.p-about .cx-core__title{ margin:30px 0 16px; }
.p-about .cx-core{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (min-width:1024px){ .p-about .cx-core{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; } }
.p-about .cx-core li{ display:grid; gap:6px; justify-items:center; text-align:center; padding:18px 12px; border-radius:var(--ta-r-xl); background:linear-gradient(180deg,#FFFDF8,#FFF4E1); border:1px solid #F0DDB8; }
.p-about .cx-core__ico{ width:46px; height:46px; display:grid; place-items:center; border-radius:50%; color:#4A2A00; background:var(--ta-g-gold); box-shadow:var(--ta-sh-gold); }
.p-about .cx-core__ico .ta-ico{ width:21px; height:21px; }
.p-about .cx-core b{ font-size:14.5px; font-weight:900; color:var(--ta-maroon-600); }
.p-about .cx-core small{ font-size:12.5px; line-height:1.5; color:var(--ta-text-2); }

/* method band */
.p-about .cx-method{ margin-top:0; }
.p-about .cx-method__head{ position:relative; text-align:center; max-width:720px; margin:0 auto 26px; }
.p-about .cx-method__steps{ position:relative; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:22px 14px; counter-reset:ms; }
@media (min-width:960px){ .p-about .cx-method__steps{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; } .p-about .cx-method__steps::before{ content:""; position:absolute; left:12%; right:12%; top:70px; border-top:2px dashed rgba(255,214,107,.55); } }
.p-about .cx-method__steps li{ position:relative; display:grid; justify-items:center; gap:6px; text-align:center; counter-increment:ms; }
.p-about .cx-method__ph{ position:relative; margin:0 0 6px; width:140px; height:140px; border-radius:50%; padding:5px; background:#fff; box-shadow:0 12px 26px rgba(0,0,0,.35); }
.p-about .cx-method__ph img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
.p-about .cx-method__ph::after{ content:counter(ms, decimal-leading-zero); position:absolute; right:-4px; bottom:2px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; font-family:var(--ta-font-display); font-weight:900; font-size:16px; color:#4A2A00; background:var(--ta-g-gold); border:3px solid #fff; box-shadow:var(--ta-sh-gold); }
.p-about .cx-method__steps b{ font-size:16px; font-weight:900; color:#FFE7A3; }
.p-about .cx-method__steps span{ font-size:13px; line-height:1.55; color:rgba(255,246,225,.9); max-width:28ch; }
@media (max-width:599px){ .p-about .cx-method__ph{ width:110px; height:110px; } .p-about .cx-method__steps b{ font-size:14.5px; } .p-about .cx-method__steps span{ font-size:12px; } }
.p-about .cx-method__ctas{ justify-content:center; margin-top:28px; }

/* team */
.p-about .cx-team__grid{ display:grid; gap:18px; }
@media (min-width:1024px){ .p-about .cx-team__grid{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:24px; align-items:start; } }
.p-about .cx-team__group{ position:relative; margin:0; border-radius:24px; overflow:hidden; border:6px solid #fff; outline:3px solid var(--ta-gold-300); box-shadow:0 18px 40px rgba(60,20,10,.16); }
.p-about .cx-team__group img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.p-about .cx-team__group figcaption{ position:absolute; left:0; right:0; bottom:0; display:grid; gap:2px; padding:40px 18px 14px; background:linear-gradient(180deg, rgba(67,10,13,0), rgba(67,10,13,.82)); color:#fff; }
.p-about .cx-team__group .cx-script{ font-size:clamp(28px, 1rem + 1.6vw, 40px); color:#FFD27A; }
.p-about .cx-team__group small{ font-size:13px; color:rgba(255,246,225,.92); }
.p-about .cx-team__side{ display:grid; gap:14px; }
.p-about .cx-founder{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; align-items:start; padding:16px; border-radius:var(--ta-r-xl); background:#fff; border:1px solid #EFE6DC; box-shadow:var(--ta-sh-card); }
.p-about .cx-founder__ph{ width:96px; height:96px; border-radius:50%; padding:4px; background:var(--ta-g-gold); box-shadow:var(--ta-sh-gold); }
.p-about .cx-founder__ph img{ width:100%; height:100%; border-radius:50%; object-fit:cover; border:3px solid #fff; }
.p-about .cx-founder__name{ font-family:var(--ta-font-title); font-weight:700; font-size:22px; color:var(--ta-maroon-500); }
.p-about .cx-founder__role, .p-about .cx-founder__bio{ margin-top:4px; font-size:13.5px; line-height:1.5; color:var(--ta-text-2); }
.p-about .cx-team__moments{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.p-about .cx-team__moments li{ position:relative; border-radius:16px; overflow:hidden; box-shadow:var(--ta-sh-card); }
.p-about .cx-team__moments img{ width:100%; aspect-ratio:4/3; object-fit:cover; object-position:50% 30%; }
.p-about .cx-team__moments span{ position:absolute; left:8px; bottom:8px; right:8px; padding:4px 10px; border-radius:12px; line-height:1.3; background:rgba(255,255,255,.94); font-size:12px; font-weight:800; color:var(--ta-maroon-600); width:max-content; max-width:calc(100% - 16px); }
.p-about .cx-team__note{ font-size:12.5px; line-height:1.7; color:var(--ta-muted); }
.p-about .cx-team__note > .ta-ico{ display:inline-block; width:14px; height:14px; margin-right:5px; vertical-align:-2px; color:var(--ta-gold-700); }

/* facilities + gallery */
.p-about .cx-facility__head{ display:grid; gap:12px; margin-bottom:14px; }
@media (min-width:1024px){ .p-about .cx-facility__head{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px; align-items:end; } }
.p-about .cx-facility__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:8px; }
@media (min-width:600px){ .p-about .cx-facility__list{ grid-template-columns:1fr 1fr; } }
.p-about .cx-facility__list li{ display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius:14px; background:#fff; border:1px solid #EFE6DC; }
.p-about .cx-facility__list > li > .ta-ico{ width:20px; height:20px; margin-top:2px; color:var(--ta-red); flex:0 0 auto; }
.p-about .cx-facility__list span{ font-size:12.5px; line-height:1.45; color:var(--ta-muted); }
.p-about .cx-facility__list b{ display:block; font-size:13.5px; color:var(--ta-text); }
.p-about .cx-facility__list .cx-tbc{ margin:4px 0 0; }
.p-about .cx-gal__filters{ margin-bottom:12px; }
.p-about .cx-gal .ta-gallery__item{ display:block; }
.p-about .cx-gal .ta-gallery__cap .ta-chip{ background:rgba(255,255,255,.94); }
.p-about .cx-gal__none{ padding:20px; text-align:center; color:var(--ta-muted); }
.p-about .cx-gal__note{ margin-top:8px; font-size:12.5px; line-height:1.7; color:var(--ta-muted); }
.p-about .cx-gal__note > .ta-ico{ display:inline-block; width:14px; height:14px; margin-right:5px; vertical-align:-2px; color:var(--ta-green); }
.p-about .cx-gal__more{ display:flex; justify-content:center; margin-top:4px; }
@media (min-width:960px){ .p-about .cx-gal .ta-gallery{ columns:4 200px; } }

/* legal card */
.p-about .cx-legal__card{ padding:18px; border-radius:var(--ta-r-xl); background:#fff; border:1px dashed #D9C6AC; }
.p-about .cx-legal__title{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:var(--ta-maroon-600); margin-bottom:12px; }
.p-about .cx-legal__title .ta-ico{ width:18px; height:18px; color:var(--ta-red); }
.p-about .cx-legal__dl{ display:grid; grid-template-columns:1fr; gap:8px 24px; margin:0; }
@media (min-width:768px){ .p-about .cx-legal__dl{ grid-template-columns:1fr 1fr; } }
.p-about .cx-legal__dl > div{ display:grid; grid-template-columns:130px minmax(0,1fr); gap:10px; font-size:13.5px; padding-bottom:8px; border-bottom:1px solid var(--ta-line); }
.p-about .cx-legal__dl dt{ color:var(--ta-muted); }
.p-about .cx-legal__dl dd{ margin:0; font-weight:700; color:var(--ta-text); overflow-wrap:anywhere; }
.p-about .cx-legal__dl dd .cx-tbc{ margin-left:0; }
.p-about .cx-legal__dl a{ color:var(--ta-ink-700); }
