
:root{--ink:#172a28;--moss:#23493f;--deep:#0b2b2c;--cream:#f8f1e5;--warm:#efe0c8;--gold:#b4863d;--rose:#c98783;--muted:#63736d;--line:rgba(23,42,40,.14);--shadow:0 18px 56px rgba(22,44,40,.13);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:ui-serif,Georgia,"Noto Serif SC","Songti SC",serif;line-height:1.72;letter-spacing:.01em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{max-width:var(--max);margin:auto;padding:0 26px}.eyebrow{font:700 .73rem/1.2 ui-sans-serif,system-ui,"PingFang SC",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.topline{background:var(--deep);color:#f6ecda;font:500 .76rem/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em}.topline .shell{display:flex;justify-content:space-between;gap:12px;padding-top:9px;padding-bottom:9px}.topline a{text-decoration:underline;text-underline-offset:3px}.nav{position:sticky;top:0;z-index:20;background:rgba(248,241,229,.91);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav .shell{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font:700 1.01rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.09em}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:1.12rem}.brand small{display:block;font:600 .55rem/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:.17em;color:var(--muted);margin-top:4px}.navlinks{display:flex;gap:19px;align-items:center;font:650 .8rem/1 ui-sans-serif,system-ui,"PingFang SC",sans-serif;color:#334843}.navlinks a:hover,.navlinks a.active{color:var(--gold)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.5rem;color:var(--deep)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--gold);background:var(--gold);color:#fff;min-height:46px;padding:0 20px;font:700 .78rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;transition:.25s}.button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(130,91,34,.2)}.button.ghost{background:transparent;color:var(--deep);border-color:rgba(23,42,40,.44)}.button.soft{background:#f4e8d5;color:var(--deep);border-color:#f4e8d5}.hero{position:relative;min-height:730px;background:linear-gradient(90deg,rgba(7,30,31,.76),rgba(7,30,31,.3)),url('../images/hero-ritual-water.jpg') center/cover;display:flex;align-items:center;color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto -8% -36% 45%;height:420px;background:radial-gradient(circle,rgba(236,186,98,.32),transparent 60%);filter:blur(10px)}.hero .shell{position:relative;z-index:1;width:100%}.hero-copy{max-width:720px;padding:88px 0}.hero h1{font-size:clamp(3rem,7vw,6.5rem);line-height:1.03;letter-spacing:-.065em;margin:15px 0 23px;font-weight:500}.hero h1 em{font-style:italic;color:#f3ca83}.hero p{max-width:570px;font-size:1.07rem;color:rgba(255,255,255,.86);margin:0 0 29px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero .button.ghost{color:#fff;border-color:rgba(255,255,255,.66)}.hero-kicker{display:flex;align-items:center;gap:10px;font:600 .76rem/1.3 ui-sans-serif,system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#e9c985}.hero-kicker:before{content:"";width:36px;height:1px;background:#e9c985}.intro{padding:116px 0 84px}.intro-grid{display:grid;grid-template-columns:1fr 1.16fr;gap:10%;align-items:start}.display{font-size:clamp(2.1rem,4.4vw,4.25rem);line-height:1.11;letter-spacing:-.055em;font-weight:500;margin:14px 0}.lede{font-size:1.11rem;color:#455955}.callout{margin-top:28px;padding:23px 25px;border-left:2px solid var(--gold);background:#f2e5d1;font-size:.96rem}.chapter{padding:85px 0}.chapter.tinted{background:#eee2ce}.chapter.deep{background:var(--deep);color:#f5ebdb}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:35px}.section-head p{max-width:510px;color:var(--muted);margin:0}.deep .section-head p{color:rgba(245,235,219,.72)}.ritual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ritual-card{background:#fff8ef;padding:27px 25px 25px;min-height:260px;box-shadow:0 8px 20px rgba(36,57,50,.05);position:relative;overflow:hidden;border:1px solid rgba(23,42,40,.06)}.ritual-card:before{content:attr(data-no);position:absolute;right:15px;top:2px;font:500 4.8rem/1 Georgia,serif;color:rgba(180,134,61,.1)}.ritual-card h3{font-size:1.38rem;margin:44px 0 9px;font-weight:500}.ritual-card p{font-size:.93rem;color:var(--muted);margin:0}.ritual-card a{font:700 .74rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em;color:var(--gold);display:inline-block;margin-top:18px}.image-panel{display:grid;grid-template-columns:1.06fr .94fr;align-items:stretch;min-height:540px}.image-panel .image{background:center/cover}.image-panel .copy{padding:76px clamp(30px,6vw,86px);background:#fcf7ee;display:flex;flex-direction:column;justify-content:center}.image-panel .copy h2{margin:13px 0 16px}.image-panel .copy p{color:var(--muted);margin:0 0 23px}.image-panel.reverse{grid-template-columns:.94fr 1.06fr}.image-panel.reverse .image{order:2}.quote{padding:98px 0;background:linear-gradient(110deg,#17423d,#0a2a2c);color:#fff}.quote blockquote{max-width:920px;margin:0 auto;font-size:clamp(2rem,4.2vw,4rem);line-height:1.22;letter-spacing:-.045em;text-align:center;font-weight:400}.quote cite{display:block;margin-top:22px;text-align:center;color:#ebc983;font:700 .76rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.15em;font-style:normal}.journal-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.article-card{background:#fff8ef;border:1px solid rgba(23,42,40,.08);overflow:hidden}.article-card img{width:100%;height:215px;object-fit:cover}.article-card:first-child img{height:300px}.article-card .body{padding:23px}.tag{font:700 .69rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.14em;color:var(--gold)}.article-card h3{font-size:1.45rem;line-height:1.24;letter-spacing:-.035em;margin:12px 0 11px;font-weight:500}.article-card p{font-size:.94rem;color:var(--muted);margin:0}.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);transition:.25s}.cta{padding:104px 0;background:#dfc89e url('../images/home-ritual.jpg') center/cover;position:relative;color:#fff}.cta:before{content:"";position:absolute;inset:0;background:rgba(15,42,38,.71)}.cta .shell{position:relative;z-index:1;text-align:center;max-width:820px}.cta h2{font-size:clamp(2.35rem,5vw,4.6rem);line-height:1.1;letter-spacing:-.055em;font-weight:500;margin:12px 0 20px}.cta p{margin:0 auto 27px;max-width:650px;color:rgba(255,255,255,.82)}.cta .button{background:#f4d391;border-color:#f4d391;color:#1d3933}.footer{background:#112b2b;color:#e9e0d0;padding:65px 0 24px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px;padding-bottom:44px}.footer .brand{color:#fff}.footer p{color:#b8c4bc;font-size:.9rem;max-width:360px}.footer h4{font:700 .72rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e4bd72;margin:6px 0 18px}.footer a{display:block;color:#dde5dc;font-size:.91rem;margin:8px 0}.footer a:hover{color:#e4bd72}.footline{border-top:1px solid rgba(255,255,255,.12);padding-top:19px;display:flex;justify-content:space-between;gap:18px;color:#9cac9f;font:500 .73rem/1.4 ui-sans-serif,system-ui,sans-serif}.page-hero{padding:112px 0 72px;background:linear-gradient(115deg,#21463d,#0c2c2e);color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:680px;height:680px;border-radius:50%;right:-180px;top:-300px;background:radial-gradient(circle,rgba(235,187,100,.45),transparent 63%)}.page-hero .shell{position:relative;z-index:1}.page-hero h1{font-size:clamp(2.9rem,6vw,5.8rem);line-height:1.05;letter-spacing:-.06em;font-weight:500;margin:12px 0 17px}.page-hero p{max-width:680px;color:rgba(255,255,255,.81);font-size:1.05rem;margin:0}.breadcrumbs{font:650 .73rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.1em;color:#e3c47f;text-transform:uppercase}.article{max-width:830px;margin:0 auto;padding:84px 26px}.article h2{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin:50px 0 16px;font-weight:500}.article h3{font-size:1.35rem;margin:33px 0 10px;font-weight:500}.article p{font-size:1.03rem;color:#40544f}.article ul{padding-left:22px;color:#40544f}.article li{margin:10px 0}.article .pull{font-size:1.55rem;line-height:1.4;color:#24493f;border-left:2px solid var(--gold);padding-left:24px;margin:35px 0}.article-image{margin:34px 0}.article-image img{width:100%;border-radius:2px}.article-image figcaption{color:var(--muted);font:500 .78rem/1.5 ui-sans-serif,system-ui,sans-serif;margin-top:9px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:68px 0}.guide-card{padding:27px;background:#fcf7ee;border:1px solid var(--line)}.guide-card h3{font-size:1.35rem;line-height:1.25;font-weight:500;margin:12px 0}.guide-card p{font-size:.94rem;color:var(--muted)}.faq{max-width:880px;margin:0 auto;padding:74px 26px 95px}.faq details{border-top:1px solid var(--line);padding:21px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:1.22rem;line-height:1.35;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font:400 1.5rem/1 Georgia,serif;color:var(--gold)}.faq details[open] summary:after{content:'–'}.faq p{color:var(--muted);padding-right:35px}.booking-grid{display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:start;padding:76px 0 100px}.booking-box{background:#fff8ef;padding:40px;border:1px solid var(--line);box-shadow:var(--shadow)}.booking-box h2{font-size:2rem;line-height:1.15;font-weight:500;margin:8px 0 14px}.contact-lines{margin:25px 0}.contact-lines a{display:block;margin:9px 0;color:#21463d;font-weight:600}.notice{padding:16px 19px;background:#f0e2cc;border-left:2px solid var(--gold);font-size:.93rem;color:#52625d}.city-strip{padding:36px 0;background:#f0e2cc}.city-strip p{margin:0;color:#52625d}.city-strip strong{color:#24493f}.language{font:700 .72rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;color:var(--gold);white-space:nowrap}
@media(max-width:900px){.navlinks{gap:13px;font-size:.72rem}.ritual-grid{grid-template-columns:repeat(2,1fr)}.image-panel,.image-panel.reverse{grid-template-columns:1fr}.image-panel.reverse .image{order:0}.journal-grid{grid-template-columns:1fr 1fr}.article-card:first-child{grid-column:span 2}.footer-grid{grid-template-columns:1fr 1fr}.booking-grid{grid-template-columns:1fr}.hero{min-height:680px}}
@media(max-width:640px){.shell{padding:0 18px}.topline .shell{font-size:.64rem}.topline .shell span:last-child{display:none}.nav .shell{min-height:64px}.navlinks{display:none;position:absolute;left:0;right:0;top:64px;padding:16px 18px 22px;background:#f8f1e5;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu-toggle{display:block}.brand{font-size:.88rem}.brand-mark{width:33px;height:33px}.hero-copy{padding:86px 0 76px}.hero h1{font-size:3.15rem}.hero p{font-size:.98rem}.intro{padding:76px 0 52px}.intro-grid{grid-template-columns:1fr;gap:24px}.chapter{padding:64px 0}.section-head{display:block}.section-head p{margin-top:14px}.ritual-grid{grid-template-columns:1fr}.ritual-card{min-height:0}.image-panel .copy{padding:45px 28px}.image-panel .image{min-height:330px}.quote{padding:72px 18px}.journal-grid{grid-template-columns:1fr}.article-card:first-child{grid-column:auto}.article-card:first-child img,.article-card img{height:220px}.footer-grid{grid-template-columns:1fr;gap:25px}.footline{display:block}.footline span{display:block;margin:5px 0}.page-hero{padding:82px 0 56px}.article{padding:58px 20px}.article h2{font-size:1.75rem}.guide-grid{grid-template-columns:1fr;padding:50px 0}.booking-box{padding:28px}.cta{padding:78px 0}}
