:root{--navy:#083765;--green:#527241;--gold:#b77b10;--cream:#fbf8f0;--line:#e4e9e4}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:#f9f8f4;font:16px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #b77b10;outline-offset:5px}.skip{position:absolute;top:-80px}.skip:focus{top:0;background:white;z-index:10}.page{max-width:1645px;margin:auto;background:#fff;min-height:100vh;padding:0 3.2%}.cover-header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo img{display:block;width:350px;height:auto}.cover-header nav{display:flex;gap:0}.cover-header nav a{min-width:120px;text-align:center;border-left:1px solid var(--line);font-size:11px;line-height:1.25;font-weight:700;text-transform:uppercase}.cover-header nav a:first-child{border:0}.cover-header nav span{display:block;font-size:33px;line-height:1.2;margin-bottom:5px;color:var(--green)}.cover-header nav .pilgrim-shell{height:38px}.pilgrim-shell img{height:38px;width:38px;object-fit:cover;border-radius:50%;display:inline-block}.cover-hero{position:relative;min-height:342px;display:grid;grid-template-columns:47% 53%;align-items:center}.hero-copy{position:relative;z-index:2;padding:20px 0 28px}.kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold);margin:0 0 10px}h1{font:700 clamp(32px,3.7vw,58px)/1.07 Georgia,serif;letter-spacing:-.025em;margin:0;white-space:nowrap}h2,h3{font-family:Georgia,serif}.gold-rule{width:205px;border-top:1px solid var(--gold);margin:22px 0 18px;position:relative}.gold-rule span{position:absolute;left:92px;top:-17px;background:white;padding:0 7px;color:var(--gold);font-size:22px}.hero-copy h2{font-family:Arial,sans-serif;color:var(--green);font-size:clamp(23px,2vw,30px);line-height:1.23;margin:0 0 15px}.hero-copy>p:last-child{max-width:520px;font-size:17px;line-height:1.55;margin:0;padding-right:14px}.lugo-composition{margin:0;align-self:stretch;position:relative;min-width:0}.lugo-photos{position:absolute;inset:0 -6% 0 -5%;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 13%);border-radius:0 0 0 80px}.lugo-photos img{position:absolute;width:75%;height:100%;object-fit:cover}.cathedral{left:0;object-position:65% 66%}.lugo-photos .wall{right:0;width:42%;object-position:47% 50%;mask-image:linear-gradient(to right,transparent,#000 31%)}.lugo-composition figcaption{position:absolute;right:12px;bottom:12px;background:#fffef1ef;padding:7px 12px;border-radius:5px;font-size:12px;letter-spacing:.1em;font-weight:bold;z-index:2}.lugo-composition figcaption span{display:block;letter-spacing:0;font-size:9px;font-weight:normal}.galicia-hints{display:flex;align-items:center;gap:25px;min-height:112px;padding:10px 0;margin:10px 0 4px;border-bottom:1px solid var(--line)}.journey{min-width:260px}.journey strong,.journey small{display:block}.journey strong{font:700 19px Georgia,serif}.journey small{font-size:12px;color:#687662;margin-top:4px}.trail{color:var(--gold);font-size:22px;letter-spacing:8px}.monuments{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;width:100%;max-width:830px;margin-left:auto}.monuments figure{margin:0;text-align:center;padding:7px 5px 6px;background:linear-gradient(180deg,#fff,#f6f1e7);border:1px solid #e5d4ae;border-radius:11px;box-shadow:0 5px 14px #08376518;transition:.2s ease}.monuments a:hover figure{transform:translateY(-3px);box-shadow:0 8px 18px #08376528}.monuments img{height:66px;width:100%;object-fit:cover;display:block;margin:auto;filter:saturate(.82) contrast(1.03);border-radius:7px;mask-image:linear-gradient(to bottom,#000 78%,transparent)}.monuments figcaption{font-size:10px;font-weight:700;margin-top:4px}.monuments small{display:block;font-size:9px;font-weight:normal;color:#6a736c}.camino-music{display:flex;align-items:center;gap:25px;margin:18px 0;padding:15px 22px;border:1px solid #dfc99a;border-radius:14px;background:linear-gradient(90deg,#fffaf0,#fff)}.music-main{display:flex;align-items:center;gap:14px;min-width:330px}.camino-music img{width:104px;height:104px;object-fit:contain}.camino-music strong,.camino-music small{display:block}.camino-music strong{font:700 21px Georgia,serif}.camino-music small{font-size:12px;color:#687662}.music-cta{margin-left:auto;border-left:1px solid #e7d7b4;padding-left:25px}.music-cta p{margin:0 0 8px;font-size:13px}.music-cta a{display:inline-block;margin-right:14px;font-size:12px;font-weight:700;text-decoration:underline}.public-contact{display:flex;justify-content:center;gap:18px;align-items:center;margin:7px 0;font-size:13px}.public-contact a{text-decoration:underline}.main-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:20px 0}.action{display:flex;align-items:center;gap:22px;min-height:96px;border-radius:12px;padding:18px 23px;box-shadow:0 4px 9px #062d4820;border:1px solid #bed0db;font:700 22px/1.1 Georgia,serif}.action:hover{transform:translateY(-2px)}.action small{font:11px/1.3 Arial,sans-serif;display:block;margin-top:7px}.action-icon{font:45px/1 Georgia,serif;position:relative}.action-icon sup{font:20px Arial;position:absolute;right:-10px;bottom:-5px}.action b{margin-left:auto;font:32px Arial;font-weight:normal;border:1px solid currentColor;border-radius:50%;height:32px;width:32px;display:grid;place-content:center;flex-shrink:0}.blue{background:#083765;color:white}.green{background:#5b7748;color:white;border-color:#6c8a59}.white{background:#fff;color:var(--navy)}.hospitality{border:1px solid #dfc99a;background:#fcf8ef;border-radius:13px;display:grid;grid-template-columns:180px 1fr auto;gap:24px;align-items:center;padding:15px 24px;margin:0 0 18px}.chalkboard{border:5px solid #816844;background:#23332e;border-radius:9px;transform:rotate(-4deg);padding:10px 17px;color:#fff;text-align:center;width:136px;margin:0 auto;box-shadow:4px 4px 0 #ddcca5}.chalkboard span{font-size:13px;line-height:1.1;font-weight:bold;display:block}.chalkboard i{font-size:10px;line-height:1.4;font-style:normal;display:block;text-align:left}.hospitality h2{font-size:29px;line-height:1.15;margin:0 0 8px}.hospitality p:not(.kicker){margin:0 0 8px;font-size:14px;max-width:590px}.hospitality small{font-size:11px;color:#69755f}.gold-button{background:#b97d08;color:white;border-radius:9px;padding:15px 23px;font-weight:bold;white-space:nowrap}.gold-button span{padding-left:20px;font-size:22px}.feature-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.feature-cards>a{border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 7px #18341b07;display:flex;gap:12px;padding:18px 13px;align-items:flex-start}.feature-cards h3{font:700 16px Arial,sans-serif;margin:0 0 8px}.feature-cards p{font-size:12px;line-height:1.5;margin:0}.mini-icon{display:grid;place-content:center;background:#e8eee6;border-radius:50%;font:32px Georgia;height:58px;width:58px;flex-shrink:0;color:var(--green)}footer{border-top:1px solid #e9dfc6;text-align:center;padding:15px 0;color:#254563}footer p{font:700 17px Georgia;margin:0 0 8px}footer p span{color:var(--gold);padding:0 12px}footer button{background:none;border:0;text-decoration:underline;color:#556774;font-size:11px;cursor:pointer}footer>small{font-size:10px;display:block;margin-top:8px;color:#747f79}dialog{width:min(880px,94vw);max-height:92vh;border:1px solid #ccd4cc;border-radius:15px;padding:24px;color:var(--navy)}dialog::backdrop{background:#062d48b3}dialog header{display:flex;align-items:center;justify-content:space-between;gap:15px}dialog h2{font-size:24px}dialog button,.form-button{border:0;background:var(--navy);color:white;border-radius:8px;padding:10px 14px;cursor:pointer}dialog p{font-size:13px}#credit-list article{padding:10px 0;border-bottom:1px solid var(--line)}#credit-list button{font-size:11px;margin:3px 8px 0 0;background:#e8eee6;color:var(--navy)}#credit-frame{width:100%;height:55vh;border:1px solid var(--line);margin-top:10px}
@media(min-width:1646px){.page{padding-left:50px;padding-right:50px}}@media(max-width:1050px){.page{padding:0 24px}.logo img{width:260px}.cover-header nav a{min-width:90px}.cover-hero{min-height:360px;grid-template-columns:49% 51%}h1{white-space:normal}.hero-copy>p:last-child{font-size:15px}.journey{min-width:190px}.monuments{gap:6px}.action{font-size:18px;padding:18px 14px;gap:12px}.action-icon{font-size:32px}.hospitality{grid-template-columns:120px 1fr;gap:18px}.gold-button{grid-column:2;justify-self:start}.chalkboard{grid-row:1/3;width:105px}.feature-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.camino-music{align-items:flex-start;flex-direction:column}.music-main{min-width:0}.music-cta{margin:0;border-left:0;border-top:1px solid #e7d7b4;padding:12px 0 0}.public-contact{flex-wrap:wrap;gap:8px 16px}}@media(max-width:650px){.page{padding:0 17px}.cover-header{height:95px}.logo img{width:225px}.cover-header nav{display:none}.cover-hero{display:flex;flex-direction:column;align-items:stretch}.hero-copy{padding:16px 0 25px}h1{font-size:37px}.hero-copy h2{font-size:25px}.hero-copy h2 br{display:none}.hero-copy>p:last-child{font-size:16px}.lugo-composition{height:245px}.lugo-photos{inset:0;border-radius:12px;mask-image:none}.lugo-composition figcaption{bottom:8px;right:8px}.galicia-hints{flex-direction:column;gap:15px;padding:15px 0;align-items:flex-start}.journey .trail{float:left;margin:0 15px 0 0;font-size:19px;letter-spacing:3px}.journey strong{font-size:17px}.monuments{gap:12px;grid-template-columns:repeat(3,1fr);max-width:none}.monuments img{height:55px}.main-actions{grid-template-columns:1fr;gap:12px;margin-top:17px}.action{font-size:20px;min-height:84px;padding:16px 21px;gap:22px}.action span br{display:none}.action-icon{width:40px}.hospitality{display:block;padding:20px}.chalkboard{display:none}.hospitality h2{font-size:27px}.gold-button{display:block;text-align:center;margin-top:17px;white-space:normal}.feature-cards{grid-template-columns:1fr;gap:10px}.feature-cards>a{padding:14px}.feature-cards p{font-size:13px}footer p{line-height:1.8;font-size:15px}footer p span{padding:0 5px}dialog{padding:17px}dialog header{align-items:flex-start}dialog h2{font-size:20px;margin-top:0}dialog header button{min-width:100px;font-size:12px}}
