:root { --ink:#211c18; --paper:#f6f2e9; --cream:#ebe2d1; --gold:#d9a717; --muted:#70665d; --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.6; }
img { display:block; max-width:100%; }
.site-header { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:26px; padding:0 6vw; border-bottom:1px solid rgba(33,28,24,.15); }
.brand { display:block; width:166px; text-decoration:none; }.brand img { width:100%; height:auto; }
nav { display:flex; gap:28px; margin-left:auto; } nav a { color:var(--ink); font-size:14px; text-decoration:none; } nav a:hover,.text-link:hover { color:#956d00; }.language-switch { display:flex; gap:4px; padding-left:18px; border-left:1px solid rgba(33,28,24,.18); }.language-switch button { padding:5px 6px; color:#5d534a; border:0; background:transparent; font:600 11px var(--sans); cursor:pointer; }.language-switch button.is-active { color:var(--ink); background:var(--gold); }.language-switch button:hover { color:var(--ink); }
.section,.hero { padding:clamp(72px,10vw,150px) 6vw; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,1.04fr); gap:clamp(40px,7vw,110px); align-items:center; padding-top:clamp(54px,8vw,112px); }
.eyebrow { margin:0 0 20px; text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:700; color:#96720c; }
h1,h2,h3 { margin:0; font-family:var(--serif); line-height:1.05; font-weight:600; }
h1 { font-size:clamp(48px,6vw,88px); letter-spacing:-.045em; max-width:760px; } h2 { font-size:clamp(35px,4.2vw,62px); letter-spacing:-.035em; } h3 { font-size:25px; }
.intro { max-width:570px; margin:29px 0 34px; font-size:19px; color:#504840; }
.hero-image-wrap { position:relative; } .hero-image { width:100%; aspect-ratio:1.25; object-fit:cover; object-position:center; border-radius:2px; }
.since { position:absolute; right:-20px; bottom:-21px; padding:17px 21px; color:#fff9e9; background:var(--ink); text-transform:uppercase; letter-spacing:.1em; line-height:1.35; font-size:10px; } .since strong { display:block; color:var(--gold); font-size:15px; letter-spacing:.04em; }
.hero-actions,.contact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }.button { display:inline-flex; justify-content:center; padding:15px 21px; font-weight:700; font-size:14px; text-decoration:none; border-radius:2px; }.button-dark { color:#fff; background:var(--ink); }.button-gold { color:var(--ink); background:var(--gold); }.button:hover { transform:translateY(-1px); }.text-link { color:var(--ink); font-weight:700; text-decoration:none; font-size:14px; }.text-link span { margin-left:7px; }
.welcome { border-top:1px solid rgba(33,28,24,.15); }.welcome-grid { display:grid; grid-template-columns:1.05fr .85fr; gap:10vw; align-items:start; }.welcome-grid p:first-child { margin-top:5px; }.welcome-grid p { color:#504840; font-size:17px; }
.pilgrimage { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(48px,8vw,120px); align-items:center; background:#29241f; color:#fff9e9; }.pilgrimage-image { margin:0; }.pilgrimage-image img { width:100%; aspect-ratio:1.65; object-fit:cover; }.pilgrimage .eyebrow { color:var(--gold); }.pilgrimage-copy p:not(.eyebrow) { color:#dcd2c4; font-size:17px; }
.section-tint { background:var(--cream); }.section-heading { max-width:690px; }.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:62px; border-top:1px solid rgba(33,28,24,.25); }.feature-grid article { min-height:220px; padding:24px 25px 15px 0; border-right:1px solid rgba(33,28,24,.25); margin-right:24px; }.feature-grid article:last-child { border:0; }.feature-grid span { display:block; margin-bottom:42px; color:#96720c; font-size:13px; font-weight:700; }.feature-grid p { color:var(--muted); font-size:14px; }
.guest-note { padding-top:clamp(70px,9vw,120px); padding-bottom:clamp(70px,9vw,120px); text-align:center; background:#b88618; color:#211c18; }.guest-note .eyebrow { color:#503a00; }.guest-note blockquote { max-width:930px; margin:0 auto; font-family:var(--serif); font-size:clamp(32px,4.6vw,66px); line-height:1.08; letter-spacing:-.04em; }
.gallery { display:grid; grid-template-columns:1.33fr .67fr; gap:17px; }.gallery img { width:100%; height:100%; object-fit:cover; }.gallery-main { min-height:530px; }.gallery-side { display:grid; grid-template-rows:1fr 1fr; gap:17px; }
.location { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,9vw,150px); align-items:center; background:#29241f; color:#fff9e9; }.location-image img { width:100%; aspect-ratio:1.3; object-fit:cover; }.location .eyebrow { color:var(--gold); }.location-copy p:not(.eyebrow) { max-width:500px; color:#dcd2c4; font-size:17px; }.location address { margin:27px 0; color:#fff9e9; font-style:normal; }.location .text-link { color:var(--gold); }
.map-section { display:grid; grid-template-columns:.78fr 1.22fr; align-items:center; gap:clamp(38px,7vw,100px); }.map-copy p:not(.eyebrow) { max-width:430px; margin:24px 0 29px; color:#504840; font-size:17px; }.map-frame { width:100%; min-height:390px; border:0; filter:saturate(.8) contrast(.95); }
.contact { text-align:center; max-width:920px; margin:auto; }.contact > p:not(.eyebrow) { max-width:600px; margin:24px auto 36px; color:#504840; font-size:17px; }.contact-actions { justify-content:center; }.contact-detail { color:var(--ink); font-size:14px; text-decoration:none; border-bottom:1px solid #b8aa99; }
footer { padding:42px 6vw; background:var(--ink); color:#dcd2c4; text-align:center; font-size:13px; } footer img { width:min(280px,75vw); margin:0 auto 22px; } footer p { margin:7px 0; }
@media (max-width:760px) { .site-header { min-height:0; flex-wrap:wrap; gap:10px; padding:11px 22px; }.brand { width:136px; } nav { order:3; width:100%; justify-content:space-between; gap:8px; margin:3px 0 0; padding-top:9px; border-top:1px solid rgba(33,28,24,.12); } nav a { font-size:11px; }.language-switch { gap:2px; margin-left:auto; padding-left:7px; }.language-switch button { padding:5px 4px; font-size:10px; }.section,.hero { padding:72px 22px; }.hero,.welcome-grid,.pilgrimage,.location,.map-section { grid-template-columns:1fr; }.hero { gap:43px; padding-top:55px; }.hero-image { aspect-ratio:1.18; }.since { right:0; bottom:-14px; }.welcome-grid { gap:28px; }.pilgrimage { gap:35px; }.feature-grid { grid-template-columns:1fr 1fr; margin-top:40px; }.feature-grid article { min-height:176px; padding:19px 14px 12px 0; margin-right:15px; }.feature-grid article:nth-child(2) { border-right:0; }.feature-grid article:nth-child(-n+2) { border-bottom:1px solid rgba(33,28,24,.25); }.feature-grid span { margin-bottom:23px; }.gallery { grid-template-columns:1fr; gap:12px; }.gallery-main { min-height:330px; }.gallery-side { grid-template-columns:1fr 1fr; grid-template-rows:190px; gap:12px; }.location { gap:42px; }.map-section { gap:35px; }.map-frame { min-height:320px; }.contact-actions { flex-direction:column; gap:14px; } }
