/* A dedicated ceremonial setting, scoped to the fire puja page. */
.fire-puja-page { --flame: #ad6b39; }
.fire-puja-page .homa-hero { position: relative; overflow: hidden; padding: 4.5rem clamp(1.5rem,5vw,5rem); text-align: left; background: radial-gradient(ellipse at 76% 55%,#b5753030,transparent 45%),linear-gradient(125deg,#1b2440,#171d32 65%,#282233); border-bottom: 4px double #b99958; }
.homa-hero::before { content: ''; position:absolute; inset:22px; border:1px solid #c9a65b35; pointer-events:none; }
.homa-hero-inner { position:relative; max-width:1160px; margin:auto; display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:3rem; }
.homa-hero .homa-eyebrow { color:#d4b779; font: .78rem/1.7 var(--sans); letter-spacing:.19em; margin:0 0 1.5rem; }
.fire-puja-page .homa-hero h1 { color:#fff4d9; font:600 clamp(2.6rem,5.5vw,4rem)/1.3 var(--kai); letter-spacing:.22em; text-indent:0; margin:0 0 1.5rem; }
.homa-hero .homa-invocation { color:#e6ce94; font:500 clamp(1.3rem,2.8vw,1.85rem)/1.85 var(--kai); letter-spacing:.16em; margin:0 0 1rem; }
.homa-hero .homa-intro { max-width:31rem; font:400 1.05rem/2 var(--sans); color:#eee3cb; margin:0 0 1.8rem; }
.homa-actions { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.homa-button { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:50px; padding:.8rem 1.4rem; border:1px solid #e5c982; background:#e5c982; color:#1b2440; text-decoration:none; font:600 1rem/1.5 var(--sans); border-radius:2px; cursor:pointer; }
.homa-button:hover { background:#f1dba5; border-color:#f1dba5; }
.homa-text-link { display:inline-flex; align-items:center; min-height:48px; color:#e6ce94; font: .95rem/1.5 var(--sans); text-underline-offset:.4em; }
.homa-hero .homa-fee-note { color:#c8bea9; font:.85rem/1.8 var(--sans); margin:1.2rem 0 0; }
.homa-emblem { color:#c9a65b; text-align:center; padding:.5rem; }
.homa-emblem svg { display:block; width:100%; max-width:360px; margin:auto; filter:drop-shadow(0 0 30px #c4843315); }
.homa-emblem-caption { color:#cfb77f; font:.8rem/2 var(--kai); letter-spacing:.4em; }
.fire-puja-page main section.chapter { max-width:1100px; padding:4rem 1.8rem 1rem; }
.fire-puja-page #hewei > p { max-width:810px; }
.fire-puja-page .karma-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border:1px solid #d9cba9; margin:2rem 0 0; }
.fire-puja-page .karma-item { background:#efe8d8; border:0; padding:1.2rem .5rem; }
.fire-puja-page .karma-item:nth-child(-n+4) { border-bottom:1px solid #d9cba9; }
.fire-puja-page .karma-item:not(:nth-child(4n)) { border-right:1px solid #d9cba9; }
.fire-puja-page .karma-item .k-zh { font:600 1.35rem/1.6 var(--kai); }
.fire-puja-page .karma-item .k-en { font-size:.75rem; letter-spacing:0; }
.fire-puja-page .puja-list { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:1rem; }
.fire-puja-page .puja-card { position:relative; display:flex; flex-direction:column; border:1px solid #d9cba9; border-top:3px solid #ad8738; background:linear-gradient(140deg,#fffdf7,#f0e7d5); padding:1.6rem; }
.fire-puja-page .puja-card::before { content:''; position:absolute; inset:6px; border:1px solid #b99a5728; pointer-events:none; }
.fire-puja-page .puja-card .p-num { display:block; align-self:flex-start; background:transparent; color:#8c5433; font:.72rem/1.7 var(--sans); letter-spacing:.06em; padding:0; margin:0 0 1.2rem; }
.fire-puja-page .puja-card h3 { font:600 1.65rem/1.5 var(--kai); letter-spacing:.08em; color:#1b2440; }
.fire-puja-page .puja-card p { font-size:var(--reading-font-size); line-height:var(--reading-line-height); margin-bottom:1.5rem; }
.puja-enquiry { margin-top:auto; display:inline-flex; align-items:center; gap:.5rem; min-height:44px; color:#963e30; font:500 .95rem/1.5 var(--sans); text-underline-offset:.4em; }
.homa-steps { list-style:none; padding:0; margin:2rem 0; }
.homa-steps li { display:flex; gap:1.5rem; padding:1.5rem 0; border-bottom:1px solid #d9cba9; }
.step-no { flex:none; color:#a88435; font:500 1.8rem/1.4 Georgia,serif; width:2.5rem; }
.homa-steps h3 { color:#1b2440; font:600 1.2rem/1.7 var(--sans); margin:0 0 .4rem; }
.fire-puja-page .homa-steps p { margin:0; }
.fire-puja-page main section.homa-contact { max-width:1100px; padding-bottom:2rem; }
.homa-contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:2.5rem; padding:2.5rem; background:#efe6d4; border:1px solid #d9cba9; border-top:3px solid #ad8738; }
.homa-contact-intro { padding:.5rem 0; }
.homa-contact-intro img { margin-bottom:1.2rem; display:block; }
.homa-contact-intro h3 { font:600 1.6rem/1.7 var(--kai); color:#1b2440; margin:0 0 1rem; }
.fire-puja-page .homa-contact-intro p { font-size:max(18px,calc(var(--reading-font-size) * .95)); }
.fire-puja-page .homa-contact-intro p.homa-contact-detail { border-top:1px solid #d2c3a5; padding-top:1rem; color:#675e50; }
.fire-puja-page .contact-form { min-width:0; }
.fire-puja-page .contact-fields { border:0; padding:0; margin:0; min-width:0; }
.fire-puja-page .contact-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.fire-puja-page .contact-field { margin:0 0 1.1rem; min-width:0; }
.fire-puja-page .contact-field label { display:block; font:500 .95rem/1.8 var(--sans); margin-bottom:.4rem; }
.fire-puja-page .contact-field :is(input,textarea,select) { box-sizing:border-box; width:100%; min-height:48px; padding:.75rem; border:1px solid #b9aa8a; border-radius:2px; background:#fffdf7; color:#332d25; font:400 1rem/1.7 var(--sans); }
.fire-puja-page .contact-field textarea { min-height:160px; resize:vertical; }
.fire-puja-page :is(a,button,input,textarea,select):focus-visible { outline:2px solid #a88435; outline-offset:4px; }
.fire-puja-page .contact-form p.contact-note { font:.9rem/1.9 var(--sans); color:#675e50; }
.fire-puja-page .contact-form .btn-ink { min-height:50px; width:100%; background:#1b2440; color:#f3e3b9; border:1px solid #1b2440; font:500 1rem/1.6 var(--sans); padding:.8rem 1.4rem; cursor:pointer; }
.fire-puja-page .contact-form .btn-ink:hover { background:#293454; }
.fire-puja-page .contact-form .contact-status { font:.95rem/1.8 var(--sans); margin:1rem 0 0; }
.fire-puja-page .contact-status:empty { display:none; }
.fire-puja-page .contact-status[data-state="error"], .fire-puja-page .contact-status[data-state="timeout"] { color:#963e30; }
.fire-puja-page .contact-status[data-state="success"] { color:#365638; }
.fire-puja-page .contact-fields:disabled { opacity:.65; }
html[data-lang="en"] .homa-hero h1 { letter-spacing:.03em; }
html[data-lang="en"] .homa-hero .homa-invocation { letter-spacing:.025em; }
@media (max-width:850px) {
 .homa-hero-inner { gap:1.5rem; grid-template-columns:1.4fr 1fr; }
 .fire-puja-page .homa-hero { padding:3.2rem 2rem; }
 .fire-puja-page .puja-list { grid-template-columns:1fr; }
 .homa-contact-layout { grid-template-columns:1fr; gap:1rem; padding:1.8rem; }
 .homa-contact-intro img { float:left; margin:0 1rem .7rem 0; }
 .homa-contact-intro { display:flow-root; }
}
@media (max-width:600px) {
 .fire-puja-page .homa-hero { padding:2rem 1.4rem 2.5rem; }
 .homa-hero::before { inset:10px; }
 .homa-hero-inner { display:flex; flex-direction:column-reverse; gap:1.2rem; text-align:center; }
 .homa-emblem { width:148px; padding:0; }
 .homa-emblem-caption { display:none; }
 .homa-hero .homa-eyebrow { font-size:.68rem; margin-bottom:1rem; }
 .fire-puja-page .homa-hero h1 { font-size:2.6rem; margin-bottom:1rem; }
 .homa-hero .homa-invocation { font-size:1.35rem; }
 .homa-hero .homa-intro { font-size:1rem; margin-bottom:1.2rem; }
 .homa-actions { justify-content:center; gap:.4rem 1rem; }
 .homa-button { width:100%; }
 .homa-hero .homa-fee-note { margin-top:.8rem; font-size:.8rem; }
 .fire-puja-page main section.chapter { padding:2.8rem 1.25rem 1rem; }
 .fire-puja-page .karma-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fire-puja-page .karma-item { border:0; }
 .fire-puja-page .karma-item:nth-child(n) { border-right:0; border-bottom:1px solid #d9cba9; }
 .fire-puja-page .karma-item:nth-child(odd) { border-right:1px solid #d9cba9; }
 .fire-puja-page .karma-item:nth-last-child(-n+2) { border-bottom:0; }
 .fire-puja-page .contact-row { grid-template-columns:1fr; gap:0; }
 .homa-contact-layout { padding:1.2rem; }
 .homa-contact-intro img { float:none; }
 .homa-steps li { gap:.8rem; }
 html[data-lang="en"] .homa-hero h1 { font-size:2.1rem; }
}
.fire-puja-page main section.homa-contact::before { display:none; }
