:root{--emerald:#123D32;--emerald-2:#1b5646;--ivory:#F6F2E9;--gold:#B99552;--gold-dark:#8a6a2c;--ink:#17221E;--muted:#55645e;--line:#e3dccb;--white:#fff;
--font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-head:"Playfair Display",Georgia,serif;
--bs-body-bg:var(--ivory);--bs-body-color:var(--ink);--bs-link-color:var(--emerald-2);--bs-link-hover-color:var(--gold-dark)}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--ivory);color:var(--ink);line-height:1.65}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--emerald);line-height:1.2}
a{text-underline-offset:3px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
.skip-link{position:absolute;inset-inline-start:-999px;top:0;background:var(--gold);color:#000;padding:.6rem 1rem;z-index:2000}
.skip-link:focus{inset-inline-start:0}
.draft-banner{background:#7a1f1f;color:#fff;text-align:center;padding:.4rem 1rem;font-size:.9rem}
.site-header{background:var(--emerald);position:sticky;top:0;z-index:1030;border-bottom:3px solid var(--gold)}
.site-header .navbar-brand{color:var(--white);font-family:var(--font-head);font-size:1.35rem;display:flex;align-items:center;gap:.6rem}
.brand-mark{width:34px;height:34px;display:inline-block}
.site-header .nav-link{color:#e9efe9;font-size:.95rem}
.site-header .nav-link:hover,.site-header .nav-link:focus{color:var(--gold)}
.navbar-toggler{border-color:rgba(255,255,255,.5)}
.navbar-toggler-icon{filter:invert(1)}
.lang-switch .dropdown-toggle{color:#fff;border-color:rgba(255,255,255,.5)}
.lang-switch .dropdown-item.disabled{color:#8a8a8a}
.hero{position:relative;color:#fff;padding:5rem 0 4.5rem;background:linear-gradient(135deg,#0c2d25 0%,var(--emerald) 55%,#1d5b49 100%);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23B99552' stroke-width='1'%3E%3Cpath d='M40 4l9 22 23-9-9 23 22 9-22 9 9 23-23-9-9 22-9-22-23 9 9-23-22-9 22-9-9-23 23 9z'/%3E%3C/g%3E%3C/svg%3E")}
.hero .container{position:relative}
.hero h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem)}
.hero p.lead{color:#e6efe9;max-width:46rem}
.search-box{background:#fff;border-radius:14px;padding:.5rem;display:flex;gap:.5rem;box-shadow:0 12px 32px rgba(0,0,0,.25);max-width:46rem}
.search-box input{border:0;box-shadow:none;background:transparent;font-size:1.05rem}
.btn-gold{background:var(--gold);color:#17221E;border:0;font-weight:600}
.btn-gold:hover{background:#c9a763;color:#000}
.btn-emerald{background:var(--emerald);color:#fff}
.btn-emerald:hover{background:var(--emerald-2);color:#fff}
.chip{display:inline-block;padding:.3rem .8rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;text-decoration:none;font-size:.88rem;margin:.15rem}
.chip:hover{background:var(--gold);color:#000;border-color:var(--gold)}
section.block{padding:3.2rem 0}
section.alt{background:#fff;border-block:1px solid var(--line)}
.section-title{margin-bottom:1.5rem;font-size:clamp(1.5rem,3vw,2.1rem)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--gold-dark);font-weight:700}
.card-place{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;height:100%;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}
.card-place:hover{box-shadow:0 10px 26px rgba(18,61,50,.14);transform:translateY(-2px)}
.card-img{aspect-ratio:16/9;background:linear-gradient(135deg,var(--emerald),var(--emerald-2));position:relative;display:flex;align-items:center;justify-content:center;color:var(--gold)}
.card-img::after{content:"";position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 3l7 16 17-6-6 17 15 7-15 7 6 17-17-6-7 16-7-16-17 6 6-17-15-7 15-7-6-17 17 6z' fill='none' stroke='%23B99552'/%3E%3C/svg%3E")}
.card-img i{font-size:2.4rem;z-index:1}
.card-body-pad{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.card-body-pad h3{font-size:1.15rem;margin:0}
.card-body-pad h3 a{text-decoration:none;color:var(--emerald)}
.card-body-pad h3 a::after{content:"";position:absolute;inset:0}
.card-place{position:relative}
.meta{color:var(--muted);font-size:.88rem}
.badge-cat{background:#efe6cf;color:#5a4318;font-weight:600;border-radius:6px;padding:.25rem .5rem;font-size:.72rem}
.badge-ritual{background:var(--emerald);color:#fff}
.badge-draft{background:#7a1f1f;color:#fff}
.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem;text-decoration:none;color:var(--ink);height:100%}
.tile:hover{border-color:var(--gold);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.tile strong{color:var(--emerald)}
.filters{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem}
.breadcrumb{font-size:.9rem;margin:1rem 0}
.page-head{padding:2.2rem 0 1rem}
.prose{max-width:46rem}
.prose p{margin-bottom:1rem}
.infobox{background:#fff;border:1px solid var(--line);border-inline-start:4px solid var(--gold);border-radius:10px;padding:1rem 1.2rem;margin-block:1rem}
.infobox.warn{border-inline-start-color:#7a1f1f}
dl.facts dt{font-weight:600;color:var(--emerald)}
dl.facts dd{margin-bottom:.7rem}
.not-verified{color:#7a1f1f;font-style:italic}
.accordion-button:not(.collapsed){background:#efe6cf;color:var(--emerald)}
.site-footer{background:var(--emerald);color:#d9e4de;padding:3rem 0 1.5rem;margin-top:3rem;border-top:3px solid var(--gold)}
.site-footer a{color:#e9efe9}
.site-footer a:hover{color:var(--gold)}
.site-footer h2{color:#fff;font-size:1.05rem;font-family:var(--font-body);font-weight:700}
.site-footer .small-print{border-top:1px solid rgba(255,255,255,.2);margin-top:2rem;padding-top:1rem;font-size:.85rem}
.form-hint{font-size:.85rem;color:var(--muted)}
#form-status{min-height:1.5rem}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Contact page layout: clear information hierarchy and responsive cards */
.contact-page { max-width: 1160px; }
.contact-hero { max-width: 820px; margin: 0 auto 2.5rem; text-align: center; padding: 2.2rem 1rem; }
.contact-hero h1 { font-size: clamp(2.2rem, 4vw, 3.6rem); margin: .5rem 0 1rem; }
.contact-layout { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); gap: 1.5rem; align-items: start; }
.contact-info-stack { display: grid; gap: 1rem; }
.contact-info-stack .note-box, .contact-form-panel, .contact-bottom-note { border: 1px solid rgba(18,61,50,.12); border-radius: 20px; padding: clamp(1.25rem, 2.5vw, 2rem); background: #fff; box-shadow: 0 12px 35px rgba(18,61,50,.06); }
.contact-form-panel h2 { margin: .45rem 0 .7rem; }
.contact-form { display: grid; gap: 1rem; margin-top: 1.4rem; }
.contact-form label { display: grid; gap: .45rem; font-weight: 600; }
.contact-form .form-control, .contact-form .form-select { min-height: 48px; border-radius: 10px; border-color: #d9e2dd; padding: .75rem .9rem; }
.contact-form textarea.form-control { min-height: 145px; }
.contact-form .btn { justify-self: start; padding: .8rem 1.4rem; }
.contact-method { display: flex; align-items: center; gap: .9rem; padding: 1rem 0; border-top: 1px solid #e8eeea; }
.contact-method-icon { display: grid; place-items: center; flex: 0 0 46px; height: 46px; border-radius: 14px; background: #edf5f0; color: #123d32; font-size: 1.25rem; }
.contact-method div { display: grid; gap: .2rem; }
.contact-method a { font-weight: 700; overflow-wrap: anywhere; }
.contact-method small, .form-disclaimer { color: #66756d; font-weight: 400; }
.contact-bottom-note { margin-top: 1.5rem; background: #f5f8f5; }
.contact-bottom-note h2 { margin-top: 0; }
@media (max-width: 767px) {
 .contact-layout { grid-template-columns: 1fr; }
 .contact-hero { padding: 1.2rem .2rem 1.6rem; margin-bottom: 1rem; }
 .contact-form-panel, .contact-info-stack .note-box, .contact-bottom-note { border-radius: 15px; padding: 1.15rem; }
 .contact-form .btn { width: 100%; }
}
