:root { --ink:#20342b; --cream:#faf5ea; --paper:#fffdf8; --saffron:#e89139; --rose:#d9706c; --leaf:#789766; --line:rgba(32,52,43,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.site-header { height:80px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(250,245,234,.92); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.brand { display:inline-flex; gap:10px; align-items:center; font-weight:700; letter-spacing:-.03em; }
.brand-mark { color:var(--saffron); font-family:Prata,serif; font-size:24px; }
.site-nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; }
.site-nav a:not(.nav-cta):hover,.text-link:hover { color:var(--saffron); }
.nav-cta { border:1px solid var(--ink); border-radius:999px; padding:8px 16px; }
.menu-button { display:none; border:0; background:none; font:inherit; font-weight:700; }
.hero { min-height:650px; padding:clamp(70px,10vw,145px) clamp(24px,10vw,154px); display:grid; grid-template-columns:1.1fr .9fr; align-items:center; overflow:hidden; position:relative; background:radial-gradient(circle at 20% 10%,#fff 0,transparent 30%),linear-gradient(135deg,#f7ead5,#dce8cc); }
.hero-copy,.hero-art { position:relative; z-index:1; }
.eyebrow { margin:0 0 16px; color:#a65335; letter-spacing:.13em; text-transform:uppercase; font-size:11px; font-weight:700; }
h1,h2,h3,blockquote { font-family:Prata,serif; font-weight:400; line-height:1.14; letter-spacing:-.045em; }
h1 { max-width:690px; margin:0; font-size:clamp(48px,6vw,85px); }
h1 em { color:#b65d51; font-style:italic; }
.hero-text { max-width:470px; margin:25px 0 30px; font-size:18px; }
.hero-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.button { display:inline-block; border-radius:999px; padding:13px 22px; font-size:14px; font-weight:700; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#fff; background:var(--ink); }
.button-dark { color:#fff; background:#354b37; }
.text-link { font-weight:700; font-size:14px; border-bottom:1px solid currentColor; padding-bottom:2px; }
.hero-art { height:410px; min-width:330px; }
.sun-disc { position:absolute; width:270px; height:270px; border-radius:50%; right:12%; top:0; background:#ebad5f; box-shadow:0 0 0 25px rgba(255,255,255,.18),0 0 0 48px rgba(255,255,255,.14); }
.temple { position:absolute; bottom:47px; background:#355a4a; clip-path:polygon(0 100%,0 42%,17% 42%,17% 18%,29% 18%,29% 0,42% 18%,42% 42%,58% 42%,58% 15%,70% 15%,70% 0,83% 15%,83% 42%,100% 42%,100% 100%); }
.temple-front { height:220px; width:340px; right:0; background:#446754; }
.temple-back { height:150px; width:265px; right:140px; bottom:47px; opacity:.75; }
.lotus { position:absolute; width:105px; height:45px; border-radius:100% 0 100% 0; background:#efb1a3; transform:rotate(-23deg); bottom:20px; }
.lotus:after,.lotus:before { content:""; position:absolute; inset:10px; border-radius:100% 0 100% 0; background:#df8075; }
.lotus:before { transform:translate(-37px,15px) rotate(27deg); }.lotus:after { transform:translate(38px,-10px) rotate(-27deg); }
.lotus-left { left:30px; }.lotus-right { right:24px; transform:rotate(17deg) scale(.8); }
.art-caption { position:absolute; bottom:0; right:0; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.glow-one,.glow-two { position:absolute; border-radius:50%; filter:blur(2px); }.glow-one { width:230px; height:230px; background:#f5d5a5; left:-80px; bottom:-80px; }.glow-two { width:140px; height:140px; background:#f1ada1; right:38%; top:-70px; opacity:.5; }
.section-pad { padding:clamp(76px,10vw,142px) clamp(24px,10vw,154px); }
.intro { background:var(--paper); }.intro-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(40px,10vw,140px); }.intro h2,.section-heading h2,.visit h2,.contact h2 { margin:0; font-size:clamp(34px,4vw,59px); max-width:690px; }.intro p:not(.eyebrow) { margin:6px 0 25px; font-size:17px; }
.offerings { background:#eee7d8; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:45px; }.section-heading > p { max-width:280px; margin:0; }.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.offer-card { min-height:330px; display:flex; flex-direction:column; justify-content:space-between; padding:28px; border-radius:3px; }.offer-card h3 { font-size:30px; margin:12px 0 8px; }.offer-card p { max-width:300px; margin:0; }.offer-card a { font-size:14px; font-weight:700; }.card-number { font-size:12px; font-weight:700; }.card-icon { font-size:30px; }.saffron-card { background:#edb967; }.rose-card { background:#e5a19b; }.leaf-card { background:#b7cc9c; }
.quote-section { text-align:center; background:var(--ink); color:#f8eedc; }.quote-ornament { color:#e7a75f; font-size:34px; }.quote-section blockquote { max-width:930px; margin:17px auto; font-size:clamp(32px,4.8vw,65px); }.quote-section p { margin:0; color:#c6d3b6; font-size:14px; }
.visit { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,125px); align-items:center; background:#fff8ee; }.visit-art { min-height:370px; position:relative; overflow:hidden; background:#e6b66d; border-radius:50% 50% 0 0; }.arch { position:absolute; bottom:-20px; border:16px solid #d66f60; border-bottom:0; border-radius:160px 160px 0 0; }.arch-one { height:230px;width:180px;left:12%; }.arch-two { height:310px;width:230px;left:30%;border-color:#496b54; }.arch-three { height:190px;width:145px;right:6%; }.moon { position:absolute; width:84px;height:84px;border-radius:50%;background:#fff2c7;right:18%;top:65px; }.tree { position:absolute; bottom:0; width:75px; height:165px; background:#345546; clip-path:polygon(45% 0,55% 0,65% 45%,100% 80%,65% 76%,75% 100%,25% 100%,35% 76%,0 80%,35% 45%); }.tree-one { left:6%; }.tree-two { right:3%; transform:scale(.72); transform-origin:bottom; }.visit-copy p:not(.eyebrow) { max-width:490px; margin:23px 0 29px; font-size:17px; }
.contact { text-align:center; background:linear-gradient(120deg,#d6e3c1,#f8d5b1); }.contact h2 { margin-left:auto; margin-right:auto; }.contact p:not(.eyebrow) { margin:15px auto 28px; }.site-footer { padding:28px clamp(24px,5vw,76px); background:var(--ink); color:#fffaf0; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:13px; }.site-footer p { margin:0; color:#c7d2be; }
@media (max-width:780px) { .site-header { height:68px; }.menu-button { display:block; }.site-nav { display:none; position:absolute; top:68px; left:0; right:0; padding:18px 24px 25px; flex-direction:column; align-items:flex-start; background:var(--cream); border-bottom:1px solid var(--line); }.site-nav.open { display:flex; }.hero { min-height:auto; grid-template-columns:1fr; gap:45px; }.hero-art { height:300px; min-width:0; }.sun-disc { width:200px;height:200px;right:10%; }.temple-front { transform:scale(.82);transform-origin:bottom right; }.temple-back { transform:scale(.72);transform-origin:bottom right; }.intro-grid,.visit { grid-template-columns:1fr; }.section-heading { display:block; }.section-heading > p { margin-top:18px; }.card-grid { grid-template-columns:1fr; }.offer-card { min-height:255px; }.site-footer { flex-direction:column; align-items:flex-start; }.visit-art { min-height:300px; } }
