html{scroll-padding-top:100px}body{line-height:1.65}.site-header{gap:24px;background:linear-gradient(#0d2c31db,#0d2c3170)}.site-header.scrolled{background:#0d2c31f5}.site-header nav{gap:17px}.site-header nav a{opacity:1}.header-controls{display:flex;gap:14px;align-items:center;order:3}.languages{display:flex;border:1px solid #ffffff88;border-radius:99px;padding:3px}.languages a{padding:6px 10px;font-size:12px;border-radius:99px}.languages a[aria-current]{background:var(--paper);color:var(--ink)}.brand{flex-shrink:0}.brand span{letter-spacing:.29em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #edb56a;outline-offset:5px}button{font:inherit;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:14px 23px;background:#dc876a;color:#102f35;border:1px solid #dc876a;border-radius:99px;font-size:13px;font-weight:700;text-align:center}.button:hover{background:#e9a086}.button-outline{color:white;background:#102f3544;border-color:#ffffffaa}.button-outline:hover{background:#102f3599}.hero{min-height:800px}.hero-picture,.story-picture{position:absolute;inset:0;display:block}.hero-picture img,.story-picture img{height:100%;object-fit:cover}.hero-picture img{object-position:center 48%}.hero-wash{inset:0;background:linear-gradient(90deg,#071c20e5,#071c207d 60%,#071c201a),linear-gradient(0deg,#071c2088,transparent 35%)}.hero-copy{max-width:880px;bottom:14%}.hero h1{font-size:clamp(72px,8.6vw,132px);line-height:.94;letter-spacing:-.025em;margin:20px 0 24px}.hero h1 em{color:#f3e6ce}.hero-lead{font-size:clamp(20px,1.8vw,27px);max-width:610px}.hero-dates{font-size:15px;margin:0 0 24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.top-meta{top:104px}.bottom-meta{font-size:9px;letter-spacing:.13em}.intro-copy{padding-top:15px}.intro-copy p{font-size:18px}.intro-poem{font-size:22px;max-width:580px}.cta-band{padding:25px 6.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#d8e7df}.cta-band p{margin:0;font-size:17px}.cta-band .button{flex-shrink:0}.section>.cta-band{padding:25px 0;background:transparent;border-top:1px solid var(--line);margin-top:45px}.story-card{position:relative;height:88svh;min-height:650px}.story-overlay{inset:0;background:linear-gradient(90deg,#06171bde,#06171b50 65%,#06171b15)}.story-description{font-size:20px;line-height:1.6;max-width:540px}.experience-details{background:#e7efdf}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:45px 32px}.pillar-grid article{border-top:1px solid var(--line);padding-top:22px}.pillar-symbol{font-size:27px;color:#4d817c}.pillar-grid h3{font-family:'Libre Caslon Display',serif;font-size:34px;font-weight:400;line-height:1.2;margin:16px 0}.pillar-grid p{font-size:15px;color:#365d60}.kitchen-media,.place-image{display:block}.kitchen-media img,.place-image img{height:100%;object-fit:cover}.program h2{font-size:clamp(54px,6vw,90px)}.program-copy{padding-top:25px}.pending{font-size:15px;color:#365d60}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:14px;margin:16px 0}.tickets{background:#bf664e;scroll-margin-top:35px}.tickets h2{font-size:clamp(70px,8vw,125px)}.sale-status{display:inline-block;border:1px solid #ffffffaa;border-radius:99px;padding:12px 22px;font-size:12px!important;letter-spacing:.15em}.ticket-information{display:grid;grid-template-columns:1fr 1fr;gap:32px;text-align:left;margin:38px auto 26px;max-width:920px}.ticket-information>div{border-top:1px solid #ffffff88;padding-top:20px}.ticket-information h3{font-family:'Libre Caslon Display',serif;font-size:33px;font-weight:400;margin:0 0 12px}.ticket-information p{font-size:16px}.currency-note{font-size:14px!important}.travel h2,.portal h2,.contact h2{font-family:'Libre Caslon Display',serif;font-size:clamp(55px,7vw,100px);line-height:.95;font-weight:400;margin:24px 0 48px}.travel h2 em,.portal h2 em,.contact h2 em{color:#4d8983}.travel{background:#efe6d6}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.travel-grid article{border-top:1px solid var(--line);padding-top:18px}.travel h3{font-size:19px;margin:0 0 12px}.travel-grid p,.map-card p{font-size:16px;color:#365d60}.map-card{margin-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:35px;background:#dce7dd}.map-card h3{font-family:'Libre Caslon Display',serif;font-size:40px;font-weight:400}.map-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:290px;background:#bfd8d1;text-align:center;padding:20px}.map-preview iframe{border:0;width:100%;height:300px}.source-links{font-size:13px;margin:25px 0 0;color:#365d60}.source-links a{text-decoration:underline;text-underline-offset:4px}.faq-title p:not(.section-label){max-width:370px;color:#365d60}.questions summary{font-size:17px;line-height:1.5;min-height:64px}.questions details[open]{background:#e9e9db}.questions details[open] summary,.questions details[open] p{padding-left:14px}.all-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.all-photos figure{margin:0;min-width:0}.all-photos picture{display:block;aspect-ratio:1;overflow:hidden;background:#d3ddce}.all-photos figure:nth-child(5n+1){grid-column:span 2}.all-photos figure:nth-child(5n+1) picture{aspect-ratio:2}.all-photos img{height:100%;object-fit:cover}.all-photos figcaption{font-size:12px;padding:10px 0;color:#31575a}.photo-credit{font-size:12px;margin-top:30px}.portal{background:#d9e8e2}.portal h2{margin:0}.portal .intro-grid>div{font-size:18px}.contact{background:#efe2cd}.contact>p:not(.section-label){font-size:18px;max-width:650px}.contact-status{font-size:16px;padding:20px 0;border-block:1px solid var(--line);max-width:650px}.footer-links{grid-column:1/-1;display:flex;gap:25px;flex-wrap:wrap;font-size:13px}.privacy-settings{border:0;border-bottom:1px solid currentColor;background:none;color:inherit;padding:0}.aux-page{padding-top:170px;min-height:70vh;max-width:1200px;margin:auto}.aux-page>h1{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(50px,7vw,85px);line-height:1.05}.aux-page>p{font-size:19px;max-width:850px}.aux-page section{margin:35px 0;max-width:850px}.aux-page h2{font-size:25px}.aux-page .questions{max-width:920px;margin-bottom:40px}.consent{position:fixed;z-index:100;bottom:22px;left:22px;max-width:450px;padding:25px;background:#f7f2e8;color:#11373c;border:1px solid var(--line);box-shadow:0 8px 35px #0003;border-radius:15px}.consent[hidden]{display:none}.consent p{font-size:14px;margin:0 0 20px}.consent>div{display:flex;gap:12px;flex-wrap:wrap}.consent button{background:#11373c;color:white;border:1px solid #11373c;border-radius:99px;padding:11px 18px;font-size:13px;min-height:44px}.consent button:last-child{background:none;color:#11373c}.mobile-ticket{display:none}
@media(max-width:1150px){.site-header{gap:16px;padding-inline:3%}.site-header nav{gap:12px;font-size:12px}.nav-ticket{padding:10px 12px}.pillar-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.site-header nav{display:none;position:fixed;inset:78px 12px auto;background:#0d2c31;padding:24px;border-radius:14px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{padding:8px}.menu{display:block;background:transparent;color:white;border:1px solid #ffffff99;border-radius:99px;padding:10px 15px;font:inherit;font-size:12px}.travel-grid{grid-template-columns:1fr 1fr}.all-photos{grid-template-columns:repeat(3,1fr)}.all-photos figure:nth-child(5n+1){grid-column:auto}.all-photos figure:nth-child(5n+1) picture{aspect-ratio:1}.map-card{gap:25px}}
@media(max-width:760px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.site-header{padding:16px 5%;gap:12px}.header-controls{gap:10px}.languages a{padding:5px 8px}.hero{min-height:810px;height:100svh}.hero-picture img{object-position:62% center}.hero-wash{background:linear-gradient(180deg,#071c2044 15%,#071c20c4 45%,#071c20ed)}.hero-copy{left:6%;right:6%;bottom:11%;max-width:none}.hero h1{font-size:clamp(60px,14.2vw,96px);line-height:.98;margin:15px 0 24px}.hero-lead{font-size:20px;line-height:1.5;margin-bottom:20px}.hero-dates{font-size:14px}.hero-actions{gap:10px}.hero-actions .button{font-size:12px;padding:12px 18px;gap:15px}.top-meta{top:94px;left:6%}.bottom-meta{font-size:8px;left:6%;right:6%;bottom:24px}.intro-poem{font-size:21px}.intro-copy p{font-size:17px}.cta-band{padding:24px 6%;flex-direction:column;align-items:flex-start;gap:16px}.cta-band p{font-size:15px}.journey-intro{min-height:350px}.story-card{min-height:650px;height:82svh}.story-copy h3{font-size:clamp(49px,13.5vw,72px)}.story-description{font-size:17px}.story-overlay{background:linear-gradient(0deg,#06171be8,#06171b99 50%,#06171b15)}.pillar-grid{gap:28px 20px}.pillar-grid h3{font-size:29px}.ticket-information,.travel-grid,.map-card{grid-template-columns:1fr}.map-card{padding:24px;gap:20px}.map-card h3{font-size:32px}.all-photos{grid-template-columns:1fr 1fr;gap:12px}.all-photos figure:nth-child(7n+1){grid-column:1/-1}.all-photos figure:nth-child(7n+1) picture{aspect-ratio:1.65}.all-photos figcaption{font-size:11px}.travel h2,.portal h2,.contact h2{font-size:clamp(48px,13vw,70px)}.mobile-ticket{display:flex;position:fixed;z-index:60;left:0;right:0;bottom:0;padding:15px 6% calc(15px + env(safe-area-inset-bottom));min-height:62px;justify-content:space-between;background:#dc876a;color:#102f35;border-top:1px solid #11373c55;font-size:15px;font-weight:700}.mobile-ticket:focus-visible{outline-offset:-5px}.consent{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));max-width:none}.aux-page{padding-top:130px}.aux-page>h1{font-size:52px}}
@media(max-width:380px){.hero{min-height:850px}.hero h1{font-size:54px}.hero-actions{flex-direction:column;align-items:flex-start}.brand{font-size:28px}.header-controls{gap:7px}.menu{padding:9px 11px}.pillar-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Portada elegida por producción: ritual en el agua. */
.hero-picture img{object-position:58% center}.contact>.button{margin:15px 0 26px}
@media(max-width:760px){.hero-picture img{object-position:52% center}}
.footer-credit{display:block;margin-top:12px;font-size:13px;letter-spacing:.025em;color:#31575a}

/* Floating mobile ticket seal, following the Colibri reference. */
@media(max-width:760px){body{padding-bottom:0}footer{padding-bottom:calc(140px + env(safe-area-inset-bottom))}.mobile-ticket{left:auto;right:8px;bottom:calc(11px + env(safe-area-inset-bottom));width:104px;height:104px;min-height:0;padding:0;border:0;border-radius:50%;background:none;display:block;box-shadow:0 4px 20px #071c2030;transition:transform .2s ease}.mobile-ticket:hover{transform:rotate(-8deg)}.mobile-ticket svg{display:block;width:100%;height:100%;overflow:visible}.mobile-ticket circle{fill:#ff9a42}.mobile-ticket text{fill:#fff;font-family:'DM Sans',sans-serif;font-weight:600;font-size:11px;letter-spacing:1.5px}.mobile-ticket .ticket-arrow{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.consent{bottom:calc(128px + env(safe-area-inset-bottom))}.story-copy{bottom:calc(9% + 38px)}}
/* Progressive motion: content remains visible if JavaScript is unavailable. */
.motion-ready .motion-reveal{transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.motion-ready .motion-reveal.motion-waiting{opacity:0;transform:translateY(28px)}
.hero-picture,.story-picture{inset:-6% 0;will-change:transform}
.story-card{height:100svh;min-height:650px;position:sticky;top:0}
@media(max-width:760px){.hero-picture,.story-picture{inset:-3% 0}.story-card{height:100svh;min-height:620px}}
@media(max-height:650px){.story-card{position:relative;height:auto;min-height:700px}}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-reveal.motion-waiting{opacity:1;transform:none}.motion-ready .motion-reveal,.mobile-ticket{transition:none}.hero-picture,.story-picture{transform:none!important;will-change:auto}}

/* Keep motion inside each photo and continue it after the layered journey. */
.hero-picture,.story-picture{inset:0;transform:none!important;overflow:hidden;will-change:auto}
.hero-picture img,.story-picture img,.kitchen-media img,.place-image img,.all-photos picture img{will-change:transform;transform-origin:center}
.kitchen-media,.place-image,.all-photos picture{overflow:hidden}
.journey{padding-bottom:45svh}
@media(max-width:760px){.journey{padding-bottom:25svh}}
@media(max-height:650px){.journey{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.journey{padding-bottom:0}.hero-picture img,.story-picture img,.kitchen-media img,.place-image img,.all-photos picture img{transform:none!important;will-change:auto}}

.footer-credit a{text-decoration:underline;text-underline-offset:4px}.footer-credit a:hover{color:var(--ink)}

/* Iemanjá: ocean, warm earth and botanical shapes. */
:root{--sea:#316d61;--coral:#ba553e;--botanical:#437259;--sun:#d98c30}
.intro{background:#f3dfb3}.experience-details{background:#dce9bb}.kitchen{background:#f4ccb2}.program{background:#e2dced}.place{background:#cde5df}.travel{background:#f5deb5}.gallery{background:#f5ead0}.portal{background:#bcddd0}.contact{background:#efc4b1}.tickets{background:#b44e39}.manifesto{background:#173f3a}.marquee{background:#b44e39}
.intro,.experience-details,.kitchen,.program,.place,.travel,.gallery,.portal,.contact{position:relative;isolation:isolate}
.intro::before,.program::before,.travel::before,.portal::before,.contact::before{content:'';position:absolute;pointer-events:none;z-index:-1;opacity:.18;right:6%;top:54px;width:145px;height:145px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%23bd6944' stroke-width='2'%3E%3Ccircle cx='80' cy='80' r='36'/%3E%3Ccircle cx='80' cy='80' r='27'/%3E%3Cpath d='M80 7v24m0 98v24M7 80h24m98 0h24M28 28l17 17m70 70 17 17M28 132l17-17m70-70 17-17M52 13l9 22m38 90 9 22M13 52l22 9m90 38 22 9M13 108l22-9m90-38 22-9M52 147l9-22m38-90 9-22'/%3E%3C/svg%3E")}
.program::before,.portal::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%2329667e' stroke-width='2'%3E%3Cpath d='M80 145V30M80 95C24 94 14 52 21 19c34 8 62 28 59 76Zm0 25c55-2 68-42 59-76-34 7-62 29-59 76ZM80 95 34 39m46 81 46-54'/%3E%3C/svg%3E")}
.travel::before,.contact::before{width:190px;height:110px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 190 110' fill='none' stroke='%2329667e' stroke-width='2'%3E%3Cpath d='M0 29c32-32 63 32 95 0s63 32 95 0M0 53c32-32 63 32 95 0s63 32 95 0M0 77c32-32 63 32 95 0s63 32 95 0'/%3E%3C/svg%3E")}
.section-label{display:flex;align-items:center;gap:12px;line-height:1.6}.section-label::before{content:'';flex:0 0 30px;width:30px;height:14px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 14' fill='none' stroke='%2329667e' stroke-width='2'%3E%3Cpath d='M1 4c5-5 10 5 15 0s10 5 15 0M1 10c5-5 10 5 15 0s10 5 15 0'/%3E%3C/svg%3E")}
.journey .section-label::before,.manifesto .section-label::before,.tickets .section-label::before{filter:brightness(0) invert(1);opacity:.8}.tickets .section-label{justify-content:center}
.intro-poem{border-left:2px solid #ba553e;padding-left:22px}.intro .cta-band,.program .cta-band{border-top-color:#11373c33}.pillar-symbol{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid #43725966;border-radius:45% 55% 62% 38%;color:#31583e;background:#f5efcb80}.pillar-grid article:nth-child(3n+2) .pillar-symbol{background:#efb7a277;border-color:#a25d4777}.pillar-grid article:nth-child(3n) .pillar-symbol{background:#d0c3e477;border-color:#71638666}
.kitchen-media{border-radius:90px 24px 90px 24px}.place-image{border-radius:130px 130px 24px 24px}.kitchen-media,.place-image{border:1px solid #11373c22}
.all-photos picture{border-radius:24px 6px 24px 6px}.all-photos figure:nth-child(3n+2) picture{border-radius:6px 36px 6px 36px}.all-photos figcaption{padding:11px 4px;color:#31554d}
.program-tags span,.micro-list span{background:#f7f2e85e;font-size:10px}.manifesto-row>span{color:#e3b669}.manifesto-row h3{color:#f7efd7}.map-card{background:#cee4d7;border-radius:36px 8px 36px 8px}.map-preview{background:#b4d7cd;border-radius:22px 6px 22px 6px}.contact-status{border-block-color:#83493644}.footer-brand{width:fit-content}footer{background:#e8d7ad}
.travel h2 em,.portal h2 em,.contact h2 em{color:#316d61}.pillar-grid p,.travel-grid p,.map-card p,.intro-copy p:last-child,.kitchen-copy p:not(.section-label),.place-copy p:last-child{color:#31554d}
@media(max-width:760px){.intro::before,.program::before,.travel::before,.portal::before,.contact::before{width:80px;height:80px;top:20px;right:6%;opacity:.15}.travel::before,.contact::before{width:115px;height:70px}.kitchen-media{border-radius:60px 18px 60px 18px}.place-image{border-radius:85px 85px 18px 18px}.intro-poem{padding-left:17px}.all-photos picture{border-radius:18px 4px 18px 4px}.all-photos figure:nth-child(3n+2) picture{border-radius:4px 24px 4px 24px}.mobile-ticket circle{fill:#e8b457}.mobile-ticket text{fill:#173f3a}.mobile-ticket .ticket-arrow{stroke:#173f3a}}

/* Continuous parallax from the cover through the footer. */
.story-card{position:relative;top:auto;height:100svh;min-height:650px}
.journey{padding-bottom:0}
.hero-picture img,.story-picture img,.kitchen-media img,.place-image img,.all-photos picture img{transform:scale(1.24)}
.intro::before,.program::before,.travel::before,.portal::before,.contact::before{transform:translate3d(0,var(--parallax-y,0px),0)}
.experience-details,.kitchen,.manifesto-inner,.place,.tickets,.travel,.faq,.gallery,.portal,.contact,footer{position:relative;isolation:isolate;overflow:clip}
.experience-details::after,.kitchen::after,.manifesto-inner::after,.place::after,.tickets::after,.faq::after,.gallery::after,footer::after{content:'';position:absolute;z-index:-1;pointer-events:none;right:-90px;top:20%;width:280px;height:380px;border:1px solid currentColor;border-radius:43% 57% 65% 35%;opacity:.1;transform:translate3d(0,var(--parallax-y,0px),0) rotate(-24deg)}
.kitchen::after,.tickets::after,.gallery::after{right:auto;left:-160px;top:55%;width:400px;height:260px}
@media(max-width:760px){.story-card{height:100svh;min-height:620px}}
@media(max-height:650px){.story-card{height:auto;min-height:700px}}
@media(prefers-reduced-motion:reduce){.intro::before,.program::before,.travel::before,.portal::before,.contact::before,.experience-details::after,.kitchen::after,.manifesto-inner::after,.place::after,.tickets::after,.faq::after,.gallery::after,footer::after{transform:none}.hero-picture img,.story-picture img,.kitchen-media img,.place-image img,.all-photos picture img{transform:none!important}}

/* Restore the layered reveal; keep the last panel moving until the next section. */
.story-card{position:sticky;top:0}
.journey{padding-bottom:35svh}
.hero-picture img,.story-picture img,.kitchen-media img,.place-image img,.all-photos picture img{transform:scale(1.36)}
@media(max-height:650px){.story-card{position:relative}.journey{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.story-card{position:relative}.journey{padding-bottom:0}}


/* A dedicated photo collection, with an accessible full-screen viewer. */
.explore-photos{margin-top:16px}
.photo-gallery{padding-top:160px;background:#f5ead0;min-height:100vh}
.photo-gallery h1{font:400 clamp(52px,7vw,105px)/1.05 'Libre Caslon Display',serif;letter-spacing:-.025em;margin:25px 0}
.gallery-help{max-width:540px;margin-bottom:55px;color:#31554d}
.photo-grid{columns:3;column-gap:22px}
.photo-grid figure{break-inside:avoid;margin:0 0 28px}
.gallery-photo{display:block;border-radius:28px 6px;overflow:hidden;background:#d5ded0;cursor:zoom-in}
.gallery-photo picture{display:block}
.gallery-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .35s ease}
.photo-grid figure:nth-child(3n+2) img{aspect-ratio:4/5}
.gallery-photo:hover img{transform:scale(1.035)}
.photo-grid figcaption{font-size:13px;padding:10px 3px;color:#31554d}
.photo-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:70px 5% 24px;border:0;background:#071c20f7;color:#fff;overflow:hidden}
.photo-viewer::backdrop{background:#071c20}
.photo-viewer[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}
.photo-viewer figure{margin:0;min-height:0;flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}
.photo-viewer .viewer-image{width:100%;height:calc(100% - 45px);min-height:0;object-fit:contain;touch-action:pan-y pinch-zoom}
.viewer-caption{text-align:center;font-size:15px;min-height:25px}
.viewer-close{position:absolute;right:22px;top:max(16px,env(safe-area-inset-top));font-size:34px}
.photo-viewer button{color:#fff;background:transparent;border:1px solid #ffffff77;border-radius:50%;width:48px;height:48px;cursor:pointer}
.viewer-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:16px;padding-bottom:env(safe-area-inset-bottom)}
.viewer-controls button{font-size:24px}
.viewer-count{min-width:75px;text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:760px){.photo-gallery{padding-top:130px}.photo-grid{columns:2;column-gap:12px}.photo-grid figure{margin-bottom:18px}.photo-grid figcaption{font-size:11px}.gallery-help{margin-bottom:35px}.photo-viewer{padding:80px 12px 16px}.viewer-caption{font-size:13px}.gallery-photo{border-radius:18px 4px}}

/* A wider view of the ocean ritual, with the entire photograph on phones. */
.hero-picture img{object-position:50% 50%;transform:scale(1.04)}
@media(max-width:760px){
 .hero{height:auto;min-height:100svh;padding:96px 0 0;display:flex;flex-direction:column;background:#0d2c31}
 .hero-picture{position:relative;inset:auto;flex:none;width:100%;height:auto;aspect-ratio:2048/1151;overflow:hidden}
 .hero-picture img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;will-change:auto}
 .hero-wash,.hero .top-meta{display:none}
 .hero-copy{position:relative;inset:auto;max-width:none;width:100%;padding:28px 6% 36px}
 .hero h1{font-size:clamp(48px,13vw,78px);line-height:1;margin:14px 0 22px}
 .hero-lead{font-size:18px;line-height:1.5;max-width:580px}
 .hero .bottom-meta{position:relative;inset:auto;display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 6%;padding:18px 110px 28px 0}
}

/* Photo-only mosaic, inspired by the reference collection. */
.photo-grid{columns:2;column-gap:10px}
.photo-grid figure{margin:0 0 10px;break-inside:avoid}
.photo-grid .gallery-photo{border-radius:0}
.photo-grid .gallery-photo img,.photo-grid figure:nth-child(3n+2) img{aspect-ratio:auto;height:auto;object-fit:contain;transform:none}
.photo-grid .gallery-photo:hover img{transform:none;filter:brightness(.96)}
.photo-grid .gallery-photo:focus-visible{outline:3px solid #31554d;outline-offset:3px}
.all-photos figcaption,.photo-grid figcaption,.viewer-caption{display:none}
.photo-viewer .viewer-image{height:100%}
@media(max-width:760px){.photo-grid{column-gap:6px}.photo-grid figure{margin-bottom:6px}}

/* Production palette: ocean blues, sand and coral/orange accents. */
:root{--ink:#163d52;--deep:#0c3047;--cream:#eee2cf;--paper:#f7f0e4;--mist:#c2dfe5;--sea:#29667e;--coral:#b8523d;--line:rgba(22,61,82,.22);--botanical:#29667e;--sun:#c47745}
body{background:var(--paper);color:var(--ink)}
.site-header{background:linear-gradient(#0c3047e6,#0c304766)}
.site-header.scrolled{background:#0c3047f5}
.hero{background:#0c3047}
.hero-wash{background:linear-gradient(90deg,#08283de5,#08283d7d 60%,#08283d1a),linear-gradient(0deg,#08283d88,transparent 35%)}
.intro{background:#efe1ca}
.experience-details{background:#d7e9ec}
.kitchen{background:#f1d4bd}
.program{background:#c7dde4}
.place{background:#dbe9ed}
.travel{background:#eadcc5}
.gallery,.photo-gallery{background:#f7f0e4}
.portal{background:#bdd6e0}
.contact{background:#efd2be}
.tickets,.marquee{background:#b8523d}
.manifesto,.journey{background:#10394e}
footer{background:#e1d0b5}
.intro h2 em,.journey-intro h2 em,.gallery h2 em,.program h2 em,.place h2 em,.faq h2 em,.kitchen h2 em,.travel h2 em,.portal h2 em,.contact h2 em{color:#29667e}
.journey-intro h2 em{color:#c2dfe5}
.intro-copy p,.intro-copy p:last-child,.pillar-grid p,.kitchen-copy p:not(.section-label),.place-copy p,.place-copy p:last-child,.travel-grid p,.map-card p,.faq-title p:not(.section-label),.questions p,.pending,.gallery-help,.gallery-note,.photo-credit,.source-links,.footer-credit{color:#315467}
.intro-poem{border-left-color:#c66d4e}
.pillar-symbol{color:#245d75;background:#c2dfe580;border-color:#29667e66}
.pillar-grid article:nth-child(3n+2) .pillar-symbol{color:#163d52;background:#efb69780;border-color:#bb694c66}
.pillar-grid article:nth-child(3n) .pillar-symbol{color:#245d75;background:#eee2cf99;border-color:#b5916666}
.button{background:#ed9b76;border-color:#ed9b76;color:#163d52}
.button:hover{background:#f3b391;border-color:#f3b391}
.button-outline{background:#0c304744;border-color:#ffffffaa;color:#fff}
.button-outline:hover{background:#0c304799;border-color:#ffffffaa}
.cta-band{background:#cfE2e7}
.map-card{background:#cedfe3}
.map-preview{background:#b9d5df}
.questions details[open]{background:#e8e3d6}
.program-tags span,.micro-list span{background:#f7f0e480}
.manifesto-row h3{color:#fff1dc}
.manifesto-row>span{color:#efab7b}
.manifesto-row p{color:#d1e2e7}
.contact-status{border-block-color:#b8735555}
.gallery-photo,.all-photos picture{background:#d5e3e7}
.photo-grid .gallery-photo:focus-visible{outline-color:#29667e}
.footer-credit a:hover{color:#163d52}
@media(max-width:900px){.site-header nav{background:#0c3047}}
@media(max-width:760px){.hero{background:#0c3047}.mobile-ticket circle{fill:#ed9b76}.mobile-ticket text{fill:#163d52}.mobile-ticket .ticket-arrow{stroke:#163d52}}
