
:root{--green:#123f35;--green2:#1c5949;--ink:#1c2925;--muted:#66736d;--ivory:#f7f5ee;--paper:#fffefa;--gold:#b99a59;--line:#e6e3d9;--shadow:0 18px 50px rgba(20,48,39,.08);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:var(--green2);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.topline{background:var(--green);color:#e9eee9;font-size:.82rem;padding:8px 0}.topline .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,245,238,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--green);font-weight:700;letter-spacing:-.03em;font-size:1.15rem}.brand-mark{width:40px;height:40px;border:1px solid var(--gold);border-radius:13px;display:grid;place-items:center;color:var(--gold);font-family:Georgia;font-size:1.4rem}.nav-links{display:flex;align-items:center;gap:22px;font-size:.9rem;font-weight:600}.nav-links a{color:#35443e}.nav-links .nav-cta{background:var(--green);color:white;padding:11px 16px;border-radius:999px}.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:12px;padding:9px 12px;color:var(--green)}.hero{padding:88px 0 78px;background:radial-gradient(circle at 82% 20%,rgba(185,154,89,.16),transparent 27%),linear-gradient(120deg,#f7f5ee 0%,#f1f0e7 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--green2);font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.eyebrow:before{content:"";width:26px;height:1px;background:var(--gold)}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.15;color:var(--green);font-weight:600;letter-spacing:-.025em}h1{font-size:clamp(2.8rem,5.3vw,5rem);margin:20px 0}h2{font-size:clamp(2rem,3.3vw,3rem);margin:12px 0 18px}h3{font-size:1.45rem;margin:0 0 10px}.hero p{font-size:1.1rem;color:#5e6c65;max-width:610px}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-weight:700;border:1px solid var(--green);transition:.2s}.btn.primary{background:var(--green);color:white}.btn.secondary{color:var(--green);background:transparent}.btn:hover{transform:translateY(-2px);text-decoration:none;box-shadow:var(--shadow)}.hero-art{min-height:390px;border-radius:32px;background:linear-gradient(145deg,#174b3e,#0d332c);position:relative;overflow:hidden;box-shadow:var(--shadow);display:grid;place-items:center;color:#f7f3e8}.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid rgba(215,190,133,.45);border-radius:50%;width:310px;height:310px}.hero-art:after{width:420px;height:420px}.arch{width:210px;height:270px;border:2px solid #c6a96c;border-bottom:0;border-radius:110px 110px 0 0;position:relative;z-index:1;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}.arch span{font-family:'Playfair Display';font-size:5rem;color:#d4b879}.art-caption{position:absolute;bottom:25px;z-index:2;letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;color:#e7d9b7}.trust-strip{padding:22px 0;background:#fffefa;border-block:1px solid var(--line)}.trust-items{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#53635b;font-size:.88rem}.trust-items span{display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}section{padding:82px 0}.section-head{max-width:680px;margin-bottom:34px}.section-head p,.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 5px 20px rgba(20,48,39,.025);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-icon{width:46px;height:46px;border-radius:14px;background:#edf1e9;color:var(--green);display:grid;place-items:center;font-size:1.35rem;margin-bottom:22px}.card p{color:var(--muted);font-size:.93rem}.text-link{font-weight:700;font-size:.9rem}.feature{background:var(--green);color:#f5f3e9}.feature h2,.feature h3{color:#fff}.feature p{color:#d0ddd5}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.feature-panel{border:1px solid rgba(218,194,139,.4);background:rgba(255,255,255,.06);padding:30px;border-radius:24px}.feature-panel .big{font-family:'Playfair Display';font-size:2.2rem;color:#e0c78f}.feature .btn{border-color:#e0c78f}.feature .btn.primary{background:#e0c78f;color:#173e34}.notice{background:#f0eadb;border-left:3px solid var(--gold);padding:17px 20px;border-radius:0 12px 12px 0;color:#665b43;font-size:.9rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{padding:24px;border-top:2px solid var(--gold);background:#fffefa;border-radius:0 0 16px 16px}.step-no{font-size:.75rem;color:var(--gold);font-weight:700;letter-spacing:.12em}.cta-band{background:#eaece3;border:1px solid #dce2d6;border-radius:28px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta-band h2{font-size:2.1rem;margin:0}.footer{background:#102f29;color:#dbe4dd;padding:58px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}.footer h3{font-family:'DM Sans';font-size:.88rem;color:#e8d5a8;text-transform:uppercase;letter-spacing:.1em}.footer a{display:block;color:#d2ddd5;margin:8px 0;font-size:.88rem}.footer p{color:#b8c9bf;font-size:.88rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.8rem;color:#aebfb5}.page-hero{padding:65px 0 45px;background:linear-gradient(120deg,#f1f0e7,#faf8f1);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.6rem,4.4vw,4rem);max-width:850px}.content{max-width:850px}.content h2{font-size:2rem;margin-top:42px}.content h3{margin-top:28px}.content p,.content li{color:#53635b}.content ul{padding-left:22px}.breadcrumbs{font-size:.82rem;color:#748078;margin-bottom:18px}.breadcrumbs a{color:#65766d}.legal-note{font-size:.87rem;color:#7a817a}.code-panel{background:#fffefa;border:1px solid var(--line);border-radius:24px;padding:28px}.code-panel h2{margin-top:0}.code-form{display:grid;grid-template-columns:1fr auto;gap:12px;margin:20px 0}.code-form input,.search-input{width:100%;padding:14px 16px;border:1px solid #d9ded6;border-radius:12px;background:white;outline:none}.code-form input:focus,.search-input:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(28,89,73,.1)}.disabled-note{font-size:.88rem;color:#76694d;background:#f4efdf;padding:14px;border-radius:12px}.code-list{display:grid;gap:10px;margin-top:22px}.code-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:white}.code-row code{font-size:1rem;font-weight:700;letter-spacing:.04em}.copy-btn{border:1px solid var(--line);background:#f6f6f0;color:var(--green);padding:8px 13px;border-radius:999px;font-weight:700;cursor:pointer}.copy-btn:focus-visible,.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #c7a968;outline-offset:3px}.empty{color:var(--muted);padding:20px;text-align:center;border:1px dashed var(--line);border-radius:14px}.search-wrap{margin-top:20px}.mobile-only{display:none}
@media(max-width:950px){.nav-links{gap:12px;font-size:.82rem}.cards{grid-template-columns:repeat(2,1fr)}.hero-grid{gap:30px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.wrap{width:min(100% - 30px,1160px)}.nav{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ivory);padding:18px 24px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:7px}.hero{padding:60px 0}.hero-grid,.feature-grid{grid-template-columns:1fr}.hero-art{min-height:290px}.cards,.steps{grid-template-columns:1fr}.feature-grid{gap:28px}section{padding:60px 0}.cta-band{padding:28px;display:block}.cta-band .btn{margin-top:18px}.footer-grid{grid-template-columns:1fr 1fr}.code-form{grid-template-columns:1fr}.code-row{align-items:flex-start}.topline .wrap{justify-content:center}.trust-items{justify-content:center}.page-hero{padding:48px 0 35px}}
@media(max-width:420px){.footer-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}}

.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.social-links a{display:inline-block;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:5px 10px;font-size:.8rem}[hidden]{display:none!important}

/* Pilgrimage photography */
.pilgrimage-photo{margin:28px 0 34px;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.pilgrimage-photo img{display:block;width:100%;height:clamp(230px,42vw,470px);object-fit:cover}.pilgrimage-photo figcaption{padding:12px 16px;color:var(--muted);font-size:.82rem}.pilgrimage-photo figcaption a{display:inline;color:var(--green2);text-decoration:underline}

/*merged*/
.btn.primary,.btn{cursor:pointer}.toc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 22px;columns:2 260px}.meta,.crumb{font-size:.9rem;color:var(--muted)}article h2{color:var(--green);margin-top:1.8em;border-bottom:2px solid #e6d9b3;padding-bottom:4px}article h3{color:var(--green2)}
.toc{background:#fff;border-radius:12px;padding:14px 22px;columns:2 260px}.crumb{font:14px system-ui}.meta{font:14px system-ui;color:#555}
details{background:#fff;border-radius:10px;padding:10px 16px;margin:8px 0}summary{cursor:pointer;font-weight:700}
figure{margin:20px 0;text-align:center}figure img,.card img{max-width:100%;height:auto;border-radius:14px}figcaption{font:13px system-ui;color:#555}.heroimg{max-width:320px;border-radius:16px;box-shadow:0 6px 24px #0006}

table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid #d9cc9f;padding:8px;text-align:left;vertical-align:top}thead th{background:var(--green);color:#fff}
.hp{position:absolute;left:-9999px}.note{background:#f0eadb;border-left:3px solid var(--gold);padding:14px 18px;border-radius:0 12px 12px 0}.heroimg,.hero-art img{max-width:100%;height:auto;border-radius:18px}.content h2{margin-top:1.6em}input[type=search],input:not([type]),input[type=text]{padding:10px;border:1px solid var(--line);border-radius:10px}
.brand{align-items:center}.brand-logo{flex:none;border-radius:13px}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text small{font-size:.62rem;font-weight:600;letter-spacing:.08em;color:var(--gold);text-transform:uppercase;margin-top:3px}.footer .brand-text{color:#fff}
.feature .eyebrow,.footer .eyebrow{color:#e0c78f}.feature h2{color:#fff}.feature p{color:#e3ece7}
.band{background:#fffefa;border-block:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split img{width:100%;height:auto;border-radius:16px;box-shadow:var(--shadow)}.split .btn{margin-right:8px}
.hero{background-image:radial-gradient(circle at 82% 20%,rgba(185,154,89,.18),transparent 27%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 4l6 14 14 2-10 10 3 15-13-8-13 8 3-15L10 20l14-2z' fill='none' stroke='%23b99a59' stroke-opacity='.16'/%3E%3C/svg%3E"),linear-gradient(120deg,#f7f5ee,#f1f0e7)}
@media(max-width:800px){.split{grid-template-columns:1fr;gap:24px}}
@media(max-width:1100px){.nav{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ivory);padding:14px 24px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;font-size:.95rem;gap:2px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{padding:9px 6px}.nav-links .nav-cta{text-align:center;margin-top:8px}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:16px 0}.gallery a{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--green);font-weight:600}.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.gallery span{display:block;padding:10px 12px}figure img{max-height:460px;object-fit:contain}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.codelist{list-style:none;padding:0;margin:12px 0;max-height:520px;overflow:auto}.codelist li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.codelist strong{margin-right:auto;word-break:break-all}.btn.small{padding:6px 12px;font-size:.85rem}@media(max-width:800px){.cols{grid-template-columns:1fr}}

details{border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin:10px 0}details[open]{border-color:var(--gold);box-shadow:var(--shadow)}summary{cursor:pointer;font-weight:700;color:var(--green)}details p{margin:.7em 0 .2em}.faq-block{margin:2.2em 0}.faq-tools{margin:.6em 0}
