/* Tamil Guide is a self-contained editorial surface, deliberately independent
   of the generated utility bundle so it remains visually stable after updates. */
.tu-guide,
.tu-places { --tu-ink:#171129; --tu-purple:#5b38f5; --tu-coral:#ff6654; --tu-gold:#ffbd48; --tu-mint:#45c9a8; color:var(--tu-ink); }
.tu-guide-hero { position:relative; isolation:isolate; overflow:hidden; border-radius:32px; padding:clamp(2rem,6vw,5.5rem); color:#fff; background:linear-gradient(128deg,#30146e 0%,#5b38f5 45%,#ff6654 140%); box-shadow:0 28px 60px rgba(48,20,110,.25); }
.tu-guide-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 82% 22%,rgba(255,190,72,.9) 0 2%,transparent 2.2%),radial-gradient(circle at 78% 73%,rgba(69,201,168,.7) 0 4%,transparent 4.2%),radial-gradient(circle at 96% 46%,rgba(255,255,255,.18) 0 13%,transparent 13.3%),radial-gradient(circle at 65% 120%,rgba(0,0,0,.18) 0 26%,transparent 26.4%); }
.tu-guide-hero::after { content:"தமிழ்"; position:absolute; z-index:-1; right:clamp(1rem,7vw,7rem); bottom:-.35em; font-size:clamp(7rem,18vw,16rem); line-height:.8; font-weight:800; letter-spacing:-.09em; color:rgba(255,255,255,.1); }
.tu-guide-kicker,.tu-section-kicker { margin:0; font-size:.72rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.tu-guide-kicker { color:rgba(255,255,255,.7); }
.tu-guide-hero h1 { max-width:680px; margin:.65rem 0 0; color:#fff; font-size:clamp(2.8rem,6vw,5.6rem); line-height:.96; letter-spacing:-.06em; }
.tu-guide-hero p:not(.tu-guide-kicker) { max-width:570px; margin:1.35rem 0 0; font-size:clamp(1rem,1.8vw,1.25rem); line-height:1.65; color:rgba(255,255,255,.86); }
.tu-guide-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.tu-guide-cta { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:3.15rem; padding:.75rem 1.05rem; border:1px solid rgba(255,255,255,.25); border-radius:1rem; color:#fff!important; font-weight:800; text-decoration:none!important; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.tu-guide-cta:hover { transform:translateY(-2px); background:rgba(255,255,255,.15); box-shadow:0 12px 24px rgba(20,8,58,.2); }
.tu-guide-cta--solid { border-color:#fff; background:#fff; color:#4d29df!important; }
.tu-guide-cta--solid:hover { background:#fff; }
.tu-guide-orbit { position:absolute; right:clamp(1rem,7vw,7rem); top:clamp(1rem,4vw,3rem); display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem; width:min(32vw,320px); transform:rotate(-5deg); }
.tu-orbit-card { display:flex; min-height:98px; flex-direction:column; justify-content:flex-end; padding:1rem; border:1px solid rgba(255,255,255,.28); border-radius:1.25rem; background:rgba(255,255,255,.13); box-shadow:inset 0 1px rgba(255,255,255,.22); backdrop-filter:blur(12px); color:#fff; }
.tu-orbit-card:nth-child(2) { transform:translateY(2rem); background:rgba(255,190,72,.87); color:#3c1e00; }.tu-orbit-card:nth-child(3) { margin-top:-.8rem; background:rgba(69,201,168,.85); color:#063d35; }
.tu-orbit-card strong { display:block; margin-top:.7rem; font-size:.85rem; }.tu-orbit-card span { font-size:.72rem; font-weight:700; opacity:.75; }
.tu-guide-paths { display:grid; gap:1rem; margin-top:1.25rem; }.tu-guide-path { position:relative; overflow:hidden; min-height:275px; padding:1.65rem; border:1px solid rgba(41,28,88,.08); border-radius:1.6rem; background:#fff; box-shadow:0 12px 30px rgba(44,28,100,.06); color:var(--tu-ink); text-decoration:none!important; transition:transform .22s ease,box-shadow .22s ease; }.tu-guide-path:hover { transform:translateY(-5px); box-shadow:0 22px 42px rgba(44,28,100,.13); }.tu-guide-path::after { content:""; position:absolute; width:150px; height:150px; right:-38px; bottom:-50px; border-radius:50%; background:var(--tu-path-bg); opacity:.8; }.tu-guide-path--services{--tu-path-bg:#e5ddff}.tu-guide-path--places{--tu-path-bg:#d8f8ee}.tu-guide-path--events{--tu-path-bg:#ffe2cc}.tu-path-icon { display:grid; width:3rem; height:3rem; place-items:center; border-radius:1rem; background:var(--tu-path-bg); color:var(--tu-path-color); }.tu-guide-path h2 { position:relative; z-index:1; margin:1.8rem 0 .6rem; font-size:1.5rem; letter-spacing:-.04em; }.tu-guide-path p { position:relative; z-index:1; max-width:24rem; margin:0; color:#655d78; line-height:1.6; }.tu-path-link { position:absolute; z-index:2; bottom:1.6rem; left:1.65rem; display:flex; align-items:center; gap:.3rem; color:var(--tu-path-color); font-size:.9rem; font-weight:800; }
.tu-guide-preview { margin-top:4.5rem; }.tu-guide-section-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; }.tu-section-kicker { color:var(--tu-purple); }.tu-guide-section-head h2 { margin:.35rem 0 0; font-size:clamp(1.65rem,3vw,2.3rem); letter-spacing:-.05em; }.tu-text-link { color:var(--tu-purple)!important; font-size:.9rem; font-weight:800; text-decoration:none!important; }.tu-guide-preview-grid { display:grid; gap:1rem; margin-top:1.25rem; }.tu-preview-card { position:relative; overflow:hidden; min-height:225px; padding:1.35rem; border-radius:1.5rem; background:#20164a; color:#fff; }.tu-preview-card::before { content:""; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.12),transparent 60%),radial-gradient(circle at 88% 18%,var(--tu-card-glow),transparent 30%); }.tu-preview-card:nth-child(2){--tu-card-glow:#45c9a8}.tu-preview-card:nth-child(3){--tu-card-glow:#ff6654}.tu-demo { position:relative; z-index:1; display:inline-flex; border-radius:999px; background:rgba(255,255,255,.15); padding:.35rem .55rem; font-size:.65rem; font-weight:900; letter-spacing:.1em; }.tu-preview-card h3 { position:relative; z-index:1; margin-top:4.5rem; font-size:1.1rem; }.tu-preview-card p { position:relative; z-index:1; color:rgba(255,255,255,.78); font-size:.85rem; }
.tu-places-hero { position:relative; overflow:hidden; padding:clamp(2rem,5vw,4rem); border-radius:2rem; color:#fff; background:linear-gradient(125deg,#123b57,#167c8a 55%,#45c9a8); box-shadow:0 22px 48px rgba(18,83,98,.18); }.tu-places-hero::after { content:"⌖"; position:absolute; right:5%; bottom:-.36em; font-size:14rem; font-weight:700; line-height:1; color:rgba(255,255,255,.1); }.tu-places-hero h1 { max-width:600px; margin:.55rem 0 0; font-size:clamp(2.6rem,5vw,4.7rem); letter-spacing:-.06em; color:#fff; }.tu-places-hero p { max-width:610px; color:rgba(255,255,255,.84); }.tu-places-search { position:relative; z-index:1; display:grid; gap:.55rem; max-width:800px; margin-top:1.6rem; padding:.55rem; border:1px solid rgba(255,255,255,.4); border-radius:1.2rem; background:#fff; box-shadow:0 12px 26px rgba(6,44,48,.2); }.tu-places-search .input { min-height:3.25rem; color:var(--tu-ink); }.tu-places-search .button { min-height:3.25rem; border-radius:.9rem; background:#171129!important; border-color:#171129!important; }.tu-place-demo-note { position:relative; z-index:1; display:flex; align-items:center; gap:.5rem; margin-top:1.1rem; font-size:.8rem; font-weight:700; color:rgba(255,255,255,.76); }
.tu-place-categories { display:flex; gap:.65rem; overflow-x:auto; margin:1.6rem -1rem 0; padding:.2rem 1rem .75rem; scrollbar-width:none; }.tu-place-category { flex:0 0 auto; border:1px solid #e5e1ed; border-radius:999px; padding:.65rem .95rem; background:#fff; color:#514a61!important; font-size:.85rem; font-weight:750; text-decoration:none!important; }.tu-place-category.is-active { border-color:#5b38f5; background:#5b38f5; color:#fff!important; box-shadow:0 8px 16px rgba(91,56,245,.22); }.tu-place-grid { display:grid; gap:1rem; margin-top:1.2rem; }.tu-place-card { overflow:hidden; border:1px solid #ebe8f1; border-radius:1.5rem; background:#fff; box-shadow:0 10px 24px rgba(44,28,100,.05); }.tu-place-visual { position:relative; height:126px; padding:1rem; background:linear-gradient(145deg,#ffcf82,#ff7758); }.tu-place-card--shops .tu-place-visual{background:linear-gradient(145deg,#8b6cff,#d4caff)}.tu-place-card--temples .tu-place-visual{background:linear-gradient(145deg,#ff9564,#e9536b)}.tu-place-card--community .tu-place-visual{background:linear-gradient(145deg,#52d5b1,#167c8a)}.tu-place-card--beauty .tu-place-visual{background:linear-gradient(145deg,#ff8ebc,#965ad8)}.tu-place-visual::after { content:""; position:absolute; right:1rem; bottom:-1.3rem; width:5rem; height:5rem; border-radius:1.45rem; background:rgba(255,255,255,.27); transform:rotate(23deg); }.tu-place-card-body { padding:1.15rem 1.2rem 1.25rem; }.tu-place-demo-tag { display:inline-flex; border-radius:999px; background:#fff; padding:.32rem .55rem; color:#5b38f5; font-size:.63rem; font-weight:900; letter-spacing:.08em; box-shadow:0 3px 8px rgba(0,0,0,.08); }.tu-place-category-label { position:absolute; right:1rem; top:1rem; color:#fff; font-size:.72rem; font-weight:800; }.tu-place-card h2 { margin:0; font-size:1.12rem; letter-spacing:-.025em; }.tu-place-city { display:flex; align-items:center; gap:.35rem; margin:.5rem 0 0; color:#736c81; font-size:.83rem; }.tu-place-card p:not(.tu-place-city) { margin:1rem 0 0; color:#645d72; font-size:.88rem; line-height:1.55; }.tu-place-foot { display:flex; align-items:center; gap:.45rem; margin-top:1rem; border-top:1px solid #eeeaf3; padding-top:.85rem; color:#8a8394; font-size:.73rem; }
@media (min-width:640px){.tu-guide-paths{grid-template-columns:repeat(3,1fr)}.tu-guide-preview-grid,.tu-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tu-places-search{grid-template-columns:1fr .8fr auto;align-items:center}}@media (min-width:1024px){.tu-guide-preview-grid,.tu-place-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.tu-guide-hero{border-radius:1.6rem;padding:2rem 1.45rem 11rem}.tu-guide-orbit{right:1.15rem;top:auto;bottom:1.2rem;width:calc(100% - 2.3rem);grid-template-columns:repeat(3,1fr);transform:none}.tu-orbit-card{min-height:76px;padding:.75rem}.tu-orbit-card:nth-child(2){transform:none}.tu-orbit-card:nth-child(3){margin-top:0}.tu-orbit-card strong{margin-top:.35rem;font-size:.68rem}.tu-orbit-card span{font-size:.58rem}.tu-guide-preview{margin-top:3rem}.tu-guide-section-head{align-items:start;flex-direction:column}.tu-places-hero{border-radius:1.6rem;padding:2rem 1.35rem}.tu-places-hero::after{font-size:9rem}.tu-places-search{padding:.45rem}.tu-places-search .input+ .input{border-top:1px solid #ece8f1}.tu-place-grid{grid-template-columns:1fr}.tu-preview-card{min-height:195px}}

.tu-preview-card { --tu-card-glow:#ffbd48; }
