/* "Our story" (#story). Scoped to .story; uses the site's theme tokens so it follows every theme. */
.story { --st-wash:color-mix(in srgb,var(--soft) 55%,#fff); --st-gold-text:color-mix(in srgb,var(--gold) 70%,#3a2a10); overflow-x:clip; }
:where(.story) button:where(:not(.button)) { background:none; border:0; font:inherit; color:inherit; cursor:pointer; }
.story h2 { font-size:clamp(32px,4.4vw,52px); line-height:1.12; letter-spacing:-.04em; margin:0 0 22px; text-wrap:balance; }
.story h3 { letter-spacing:-.02em; }
.story p { font-size:16px; line-height:1.85; }
.st-lead { font-size:clamp(17px,1.5vw,19px) !important; color:var(--muted); }
.st-section { padding-block:96px; scroll-margin-top:150px; }
.st-section:focus, .st-band:focus { outline:none; }
.st-head { display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:end; margin-bottom:44px; }
.st-head h2 { margin:0; }
.st-note { margin-top:30px; max-width:780px; color:var(--muted); font-size:15px !important; }
.st-small { margin-top:18px; font-size:13px !important; color:var(--muted); }

/* Hero: the name, a short promise and the temple held in an arch, with the mark as a seal. */
.st-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; padding-block:56px 40px; position:relative; }
.st-hero::before { content:''; position:absolute; inset:0 0 0 30%; background:radial-gradient(ellipse at 70% 45%,color-mix(in srgb,var(--glow) 18%,transparent),transparent 60%); z-index:-1; pointer-events:none; }
.st-hero h1 { font-size:clamp(58px,7.4vw,98px); line-height:1.02; letter-spacing:-.06em; margin:0 0 26px; }
.st-hero h1 span { color:var(--wine); }
.st-hero .st-lead { max-width:470px; }
.st-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:30px; }
.st-actions .text-link { font-size:14px; }
.st-hero-art { position:relative; margin:0; justify-self:end; width:100%; max-width:440px; padding:16px 16px 0 0; }
.st-hero-art::before { content:''; position:absolute; inset:0 0 18px 18px; border:1px solid color-mix(in srgb,var(--gold) 45%,transparent); border-radius:240px 240px 12px 12px; }
.st-arch { position:relative; height:540px; border-radius:240px 240px 10px 10px; overflow:hidden; background:var(--soft); }
.st-arch img { width:100%; height:100%; object-fit:cover; object-position:50% 70%; }
.st-arch::after { content:''; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,#1f1816b0); }
.st-arch figcaption { position:absolute; left:26px; right:20px; bottom:24px; z-index:1; color:#fff; font-size:13px; font-weight:700; line-height:1.5; }
.st-arch figcaption span { display:block; font-size:12px; font-weight:500; opacity:.9; }
.st-seal { position:absolute; left:-44px; top:54px; z-index:2; width:100px; height:100px; padding:24px; border-radius:50%; background:#fff; border:1px solid var(--line); box-shadow:0 10px 36px color-mix(in srgb,var(--wine) 14%,transparent); }
.st-seal img { width:100%; height:100%; }
.st-opening { grid-column:1/-1; list-style:none; margin:40px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.st-opening li { display:flex; justify-content:center; align-items:center; gap:12px; padding:22px 8px; font-size:15px; font-weight:600; color:var(--ink); }
.st-opening li+li { border-left:1px solid var(--line); }
.st-opening .icon { width:20px; height:20px; color:var(--wine); }

/* Chapters: a sticky bar under the site header. */
.st-chapters { position:sticky; top:80px; z-index:20; background:color-mix(in srgb,#fff 92%,transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.st-chapters .wrap { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; padding-block:8px; }
.st-chapters button { flex:none; min-height:40px; padding:8px 16px; border-radius:999px; font-size:14px; font-weight:600; color:var(--muted); }
.st-chapters button:hover { color:var(--wine); background:var(--soft); }
.st-chapters button[aria-current="true"] { color:#fff; background:var(--wine); }

/* The meaning of the name. */
.st-words { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:16px; }
.st-word { border-top:1px solid var(--line); padding-top:22px; }
.st-word h3 { font-size:46px; line-height:1.1; color:var(--wine); margin:0 0 6px; }
.st-word-label { margin:0 0 10px; font-size:14px !important; font-weight:700; color:var(--st-gold-text); }
.st-word p:last-child { color:var(--muted); font-size:15px !important; }

/* Pale alternate bands. */
.st-band { background:var(--st-wash); padding-block:96px; scroll-margin-top:150px; }
.st-feeling-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.st-still { margin:0; }
.st-still img { width:100%; height:520px; object-fit:cover; object-position:50% 54%; border-radius:12px; }
.st-still figcaption { margin-top:12px; font-size:13px; color:var(--muted); }
.st-feeling-grid p { color:var(--muted); }
.st-pull { margin:28px 0 0; padding:6px 0 6px 22px; border-left:2px solid var(--gold); font-size:21px; line-height:1.6; letter-spacing:-.01em; color:var(--wine); }

/* Nine expressions: an open/close list, each leading to its page. */
.st-expressions { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); align-items:start; }
.st-expression { border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.st-expression[open] { background:var(--st-wash); }
.st-expression summary { display:flex; gap:14px; align-items:flex-start; padding:24px 22px; cursor:pointer; list-style:none; min-height:120px; }
.st-expression summary::-webkit-details-marker { display:none; }
.st-expression summary > .icon { width:26px; height:26px; flex:none; color:var(--wine); margin-top:2px; }
.st-expression summary span:not(.st-plus) { display:grid; gap:4px; flex:1; }
.st-expression summary b { font-size:17px; line-height:1.35; color:var(--ink); }
.st-expression summary small { font-size:14px; line-height:1.6; color:var(--muted); }
.st-plus { position:relative; width:22px; height:22px; flex:none; margin-top:3px; }
.st-plus::before, .st-plus::after { content:''; position:absolute; left:50%; top:50%; width:13px; height:2px; background:var(--wine); border-radius:2px; transform:translate(-50%,-50%); transition:transform .25s ease; }
.st-plus::after { transform:translate(-50%,-50%) rotate(90deg); }
.st-expression[open] .st-plus::after { transform:translate(-50%,-50%) rotate(0); }
.st-expression-body { padding:0 22px 24px 62px; }
.st-expression-body p { font-size:14px !important; line-height:1.75; color:var(--muted); margin:0; }
.st-expression-body .st-label { margin:16px 0 4px; font-size:13px !important; font-weight:800; color:var(--wine); }
.st-expression-body .text-link { margin-top:16px; font-size:14px; }

/* Journey: one deep band, five moments. */
.st-journey { background:var(--deep); color:#fff; padding-block:96px; }
.st-journey h2 { color:#fff; max-width:640px; }
.st-journey-intro { color:#ffffffcc; max-width:560px; }
.st-tabs { display:grid; grid-template-columns:repeat(5,1fr); margin-top:44px; border-bottom:1px solid #ffffff33; }
.st-tabs button { min-height:56px; padding:14px 10px 18px 0; text-align:left; font-size:14px; font-weight:700; color:#ffffffb3; border-bottom:2px solid transparent; }
.st-tabs button span { display:block; font-size:13px; font-weight:600; color:color-mix(in srgb,var(--glow) 80%,#fff); margin-bottom:6px; }
.st-tabs button:hover { color:#fff; }
.st-tabs button[aria-selected="true"] { color:#fff; border-bottom-color:var(--glow); }
.st-journey-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; padding-top:40px; }
.st-moment { min-height:250px; }
.st-moment h3 { font-size:32px; color:#fff; margin:0 0 16px; }
.st-moment p { color:#ffffffd9; }
.st-moment blockquote { margin:22px 0 0; font-size:15px; color:color-mix(in srgb,var(--glow) 75%,#fff); }
.st-journey-photo { position:relative; margin:0; border-radius:10px; overflow:hidden; }
.st-journey-photo img { width:100%; height:320px; object-fit:cover; }
.st-journey-photo figcaption { position:absolute; inset:auto 0 0; padding:34px 20px 14px; background:linear-gradient(transparent,#151418c8); font-size:13px; color:#fff; }

/* The symbol: one interactive mark. */
.st-symbol { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.st-symbol-art { position:relative; min-height:440px; display:grid; place-items:center; border-radius:12px; border:1px solid var(--line); background:radial-gradient(circle,color-mix(in srgb,var(--glow) 18%,#fff) 0,#fff 66%); }
.st-symbol-art::before, .st-symbol-art::after { content:''; position:absolute; border-radius:50%; border:1px solid color-mix(in srgb,var(--gold) 22%,transparent); width:330px; height:330px; max-width:86%; max-height:86%; }
.st-symbol-art::after { width:410px; height:410px; max-width:96%; max-height:96%; }
.st-symbol-art svg { position:relative; z-index:1; width:220px; height:220px; overflow:visible; }
.st-symbol-art path { fill:var(--wine); transition:opacity .4s ease; }
.st-symbol-art .st-light { fill:var(--gold); transition:opacity .4s ease; }
.st-symbol-art[data-part="arches"] .st-base, .st-symbol-art[data-part="arches"] .st-light,
.st-symbol-art[data-part="light"] path,
.st-symbol-art[data-part="base"] .st-arch-band, .st-symbol-art[data-part="base"] .st-light { opacity:.14; }
.st-parts { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.st-parts button { min-height:44px; padding:10px 16px; border-radius:999px; border:1px solid var(--line); background:#fff; font-size:14px; font-weight:600; color:var(--ink); }
.st-parts button:hover { border-color:var(--wine); }
.st-parts button[aria-pressed="true"] { background:var(--wine); border-color:var(--wine); color:#fff; }
.st-meaning-text { margin-top:22px; min-height:140px; }
.st-meaning-text h3 { font-size:21px; margin:0 0 8px; }
.st-meaning-text p { color:var(--muted); font-size:15px !important; margin:0; }
.st-palette { grid-column:1/-1; list-style:none; margin:20px 0 0; padding:24px 0 0; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.st-palette li { display:grid; grid-template-columns:28px 1fr; gap:4px 14px; font-size:14px; line-height:1.7; color:var(--muted); }
.st-palette b { color:var(--ink); }
.st-swatch { grid-row:span 2; width:28px; height:28px; border-radius:50%; background:#941F32; }
.st-swatch.gold { background:#B88932; }
.st-swatch.white { background:#fff; border:1px solid var(--line); }

/* Vision and trust. */
.st-vision-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.st-vision-grid > div > p:not(.st-lead) { color:var(--muted); }
.st-audiences { display:grid; gap:26px; }
.st-audiences article { padding-bottom:24px; border-bottom:1px solid var(--line); }
.st-audiences article:last-child { border:0; padding-bottom:0; }
.st-audiences h3 { font-size:20px; margin:0 0 8px; color:var(--wine); }
.st-audiences p { margin:0; color:var(--muted); font-size:15px !important; }
.st-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.st-principles article { border-top:1px solid var(--line); padding-top:24px; }
.st-principles .icon { width:24px; height:24px; color:var(--st-gold-text); }
.st-principles h3 { font-size:20px; line-height:1.3; margin:18px 0 10px; }
.st-principles p { margin:0; color:var(--muted); font-size:15px !important; }
.st-release { margin-top:46px; border:1px solid var(--line); border-radius:12px; }
.st-release summary { min-height:56px; display:flex; align-items:center; padding:16px 24px; font-size:15px; font-weight:700; cursor:pointer; }
.st-release-grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; padding:0 24px 24px; }
.st-release h4 { margin:0 0 10px; color:var(--wine); font-size:14px; }
.st-release p { font-size:14px !important; color:var(--muted); }

/* Quiet minute and closing. */
.st-quiet { padding-block:70px; background:linear-gradient(120deg,var(--st-wash),color-mix(in srgb,var(--glow) 10%,#fff)); }
.st-quiet-grid { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:30px; }
.st-quiet h2 { font-size:clamp(28px,3.4vw,40px); margin-bottom:12px; }
.st-quiet p { margin:0; max-width:560px; color:var(--muted); }
.st-closing { position:relative; overflow:hidden; isolation:isolate; padding-block:96px 80px; background:var(--wine); color:#fff; text-align:center; }
.st-closing::before, .st-closing::after { content:''; position:absolute; left:50%; top:50%; border-radius:50%; border:1px solid #ffffff1c; transform:translate(-50%,-50%); z-index:-1; width:760px; height:760px; }
.st-closing::after { width:580px; height:580px; }
.st-closing img { width:64px; height:64px; margin:0 auto 28px; }
.st-closing h2 { color:#fff; max-width:820px; margin:0 auto 22px; }
.st-closing h2 span { color:color-mix(in srgb,var(--glow) 55%,#fff); }
.st-closing p { color:#ffffffde; max-width:580px; margin:0 auto; }
.st-tamil { margin-top:20px !important; font-family:var(--tamil),sans-serif; font-weight:600; }
.st-closing-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:30px; }
.button.outline-light { background:transparent; color:#fff; border:1px solid #ffffff99; box-shadow:none; }
.button.outline-light:hover { background:#ffffff17; }
.st-credits { margin-top:36px !important; font-size:13px !important; color:#ffffffc2 !important; }
.st-credits a { color:#fff; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:1000px) {
 .st-hero { gap:32px; }
 .st-arch { height:460px; }
 .st-seal { left:-22px; width:80px; height:80px; padding:19px; }
 .st-expressions { grid-template-columns:1fr 1fr; }
 .st-feeling-grid, .st-symbol, .st-vision-grid, .st-journey-grid { gap:44px; }
}
@media (max-width:760px) {
 .st-section, .st-band, .st-journey { padding-block:64px; }
 .st-hero, .st-head, .st-feeling-grid, .st-journey-grid, .st-symbol, .st-vision-grid, .st-release-grid { grid-template-columns:1fr; }
 .st-hero { padding-block:28px 24px; }
 .st-hero-art { justify-self:center; max-width:400px; padding:12px 12px 0 0; }
 .st-arch { height:400px; }
 .st-seal { top:36px; left:-14px; width:72px; height:72px; padding:18px; }
 .st-opening { grid-template-columns:1fr; margin-top:28px; }
 .st-opening li { justify-content:flex-start; padding:14px 4px; }
 .st-opening li+li { border-left:0; border-top:1px solid var(--line); }
 .st-chapters { top:76px; }
 .st-head { gap:16px; margin-bottom:30px; }
 .st-words { grid-template-columns:1fr; gap:22px; }
 .st-word h3 { font-size:38px; }
 .st-still img { height:380px; }
 .st-expressions { grid-template-columns:1fr; }
 .st-expression summary { min-height:0; }
 .st-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .st-tabs button { font-size:12px; padding-right:4px; }
 .st-journey-photo img { height:240px; }
 .st-symbol-art { min-height:340px; }
 .st-symbol-art svg { width:180px; height:180px; }
 .st-palette, .st-principles { grid-template-columns:1fr; gap:20px; }
 .st-closing::before { width:520px; height:520px; } .st-closing::after { width:400px; height:400px; }
}
@media (prefers-reduced-motion:reduce) { .st-plus::before, .st-plus::after, .st-symbol-art path, .st-symbol-art .st-light { transition:none; } }
@media print { .st-chapters, .st-actions, .st-closing-actions, .st-quiet .button { display:none !important; } }
