@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--cream:#f7f3e9;--red:#631d19;--ink:#29241f;--orange:#bd4b2c;--line:#dcd5c8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b94d28;outline-offset:5px}header{height:104px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:bold 31px 'Playfair Display',serif;color:var(--red);white-space:nowrap}.brand span{font-style:italic;font-size:22px;margin:0 4px}.brand small{font:9px 'DM Sans',sans-serif;letter-spacing:3px;display:block;margin-top:4px;text-align:center}nav{display:flex;gap:32px;font-size:13px}.header-right{display:flex;align-items:center;gap:20px}#lang{border:0;background:none;color:var(--red);font-weight:700}.pill{background:var(--red);color:white;border-radius:30px;padding:14px 22px;font-size:13px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.hero-text{padding:70px 10% 50px 12%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 24px}.hero h1{font:500 clamp(52px,5.9vw,91px)/1.04 'Playfair Display',serif;letter-spacing:-3px;color:var(--red);margin:0 0 28px}em{font-weight:500;color:var(--orange)}.intro{max-width:365px;line-height:1.8;color:#665b50;font-size:14px}.cta{display:inline-flex;align-items:center;gap:35px;background:var(--red);color:white;padding:19px 25px;border-radius:3px;font-size:13px;margin-top:20px}.cta span{font-size:22px}.hero-note{display:flex;align-items:center;gap:15px;margin-top:40px;font-size:11px;line-height:1.6}.sun{font-size:46px;color:var(--orange)}.hero-art{position:relative;background:#6d3b23;overflow:hidden;margin:25px 25px 25px 0;border-radius:160px 5px 5px 5px}.hero-art>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:49% center;filter:brightness(.86);animation:slow 20s ease-in-out infinite alternate}.round-label{position:absolute;top:35px;right:28px;transform:rotate(12deg);background:#e8b850;color:var(--red);border-radius:50%;width:115px;height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;letter-spacing:1px;box-shadow:0 0 0 5px #e8b85066}.round-label b{font:22px 'Playfair Display'}.image-caption{position:absolute;bottom:25px;left:28px;right:28px;color:white;display:flex;justify-content:space-between;font-size:12px}.ribbon{padding:22px;background:var(--red);color:#ead6ae;white-space:nowrap;overflow:hidden;font-size:12px;letter-spacing:3px;display:flex;justify-content:space-around;gap:50px}.ribbon span{color:#e8b850}.menu-section{padding:95px 6%}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}h2{font:500 clamp(38px,4vw,60px)/1.15 'Playfair Display',serif;letter-spacing:-1.7px;color:var(--red);margin:0}.section-top>p{font-size:13px;color:#665b50;line-height:1.8}.filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin-bottom:35px;display:flex;justify-content:space-between;gap:15px}.filters button{border:none;background:none;color:#6b6056;padding:11px 18px;font-size:12px;border-radius:22px}.filters .active{background:var(--red);color:white}input{background:transparent;border:0;border-bottom:1px solid #a59b8a;padding:9px;width:210px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.card{border-bottom:1px solid var(--line);padding-bottom:24px}.card-image{height:330px;overflow:hidden;position:relative;background:#e7dbc8;border-radius:3px}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.card:hover img{transform:scale(1.055)}.tag{position:absolute;left:15px;top:15px;background:var(--cream);color:var(--red);padding:8px 12px;border-radius:20px;font-size:9px;letter-spacing:1px}.card h3{font:25px 'Playfair Display',serif;color:var(--red);margin:20px 0 10px}.card p{font-size:12px;line-height:1.8;color:#665b50;min-height:64px}.card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:11px}.card-bottom button{width:38px;height:38px;border-radius:50%;background:transparent;border:1px solid var(--red);font-size:22px;color:var(--red)}.menu-note{font-size:11px;color:#665b50;margin-top:30px;line-height:1.8}.story{display:grid;grid-template-columns:1fr 1fr;background:#e9e5d9;gap:8%;padding:75px 8%;align-items:center}.story-photo{height:500px;border-radius:5px 140px 5px 5px;overflow:hidden}.story-photo img{width:100%;height:100%;object-fit:cover}.story>div>p:not(.eyebrow){line-height:1.9;font-size:14px;color:#665b50;margin-top:25px}.values{display:flex;gap:50px;border-top:1px solid #cfc8b8;margin-top:30px;padding-top:25px}.values strong{font:38px 'Playfair Display',serif;color:var(--red);display:block}.values span{font-size:10px;display:block;margin-top:8px}.gather{text-align:center;background:var(--red);color:var(--cream);padding:90px 20px;background-image:radial-gradient(ellipse at top right,#8f3729,transparent 70%)}.gather h2{color:var(--cream)}.gather em{color:#e6b558}.gather .cta{background:var(--cream);color:var(--red);margin-top:30px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:90px 8%;align-items:center}.visit p{font-size:13px;line-height:1.9}.text-link{display:inline-block;border-bottom:1px solid var(--red);padding-bottom:7px;font-size:12px;margin-top:20px}.logo-card{background:#ebe3d1;padding:30px;border:1px solid var(--line);transform:rotate(2deg)}.logo-card img{width:100%;display:block}.logo-card span{display:block;text-align:center;font:italic 18px 'Playfair Display';margin-top:20px;color:var(--red)}footer{background:#241e19;color:#e3d8c3;padding:40px 6%;display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:space-between}footer .brand{color:#e3d8c3}footer>div{display:flex;gap:25px;font-size:12px}footer button{background:none;border:0;color:inherit;padding:0;font-size:12px}footer p{width:100%;font-size:10px;opacity:.7;border-top:1px solid #4a3f32;padding-top:20px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:15px;z-index:99}.skip:focus{top:10px}dialog{border:0;background:var(--cream);color:var(--ink);padding:35px;max-width:500px;width:90%;border-radius:5px}dialog::backdrop{background:#21120dcc;backdrop-filter:blur(5px)}dialog img{width:100%;max-height:300px;object-fit:cover}dialog h3{font:30px 'Playfair Display';color:var(--red)}dialog p{line-height:1.8;font-size:14px}.close{float:right;background:none;border:0;font-size:28px;color:var(--red)}@keyframes slow{to{transform:scale(1.08)}}@media(max-width:900px){nav{display:none}.hero-text{padding:55px 8%}.hero{min-height:640px}.cards{grid-template-columns:repeat(2,1fr)}.card-image{height:300px}}@media(max-width:600px){header{height:84px;padding:0 5%}.brand{font-size:24px}.brand small{font-size:7px;letter-spacing:2px}.header-right{gap:10px}.pill{padding:11px 15px;font-size:11px}.hero{display:flex;flex-direction:column}.hero-text{padding:42px 6% 25px}.hero h1{font-size:61px;letter-spacing:-2px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.intro{font-size:13px;max-width:320px}.hero-note{margin-top:25px}.hero-art{height:420px;margin:0 16px 20px;border-radius:100px 4px 4px 4px}.round-label{width:90px;height:90px;font-size:8px}.round-label b{font-size:18px}.ribbon{padding:19px;font-size:10px;justify-content:start}.menu-section{padding:55px 5%}.section-top{display:block}.section-top>p{margin-top:20px}.filters{flex-direction:column}.filters button{padding:10px 13px}input{width:100%}.cards{grid-template-columns:1fr;gap:30px}.card-image{height:380px}.card h3{font-size:28px}.card p{min-height:0;font-size:13px}.story,.visit{grid-template-columns:1fr;padding:50px 6%;gap:35px}.story-photo{height:380px}.story h2{font-size:43px}.gather{padding:60px 6%}.gather .eyebrow{font-size:8px;line-height:1.9}.gather h2{font-size:37px}.logo-card{margin:5px}.values{gap:35px}footer{padding:35px 6%}footer>div{gap:18px}.card-bottom{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.hero-art video{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}#video-toggle{position:absolute;z-index:2;bottom:65px;right:25px;background:#231710aa;color:white;border:1px solid #fff8;border-radius:50%;width:44px;height:44px;font-size:20px}.hero-art{min-height:550px}@media(max-width:600px){.hero-art{height:auto;min-height:0;aspect-ratio:16/10;border-radius:65px 4px 4px 4px}.round-label{top:15px;right:15px;width:75px;height:75px}.round-label b{font-size:15px}.image-caption{font-size:10px;left:18px;right:18px;bottom:18px}#video-toggle{bottom:47px;right:18px;width:36px;height:36px}}

/* Dimensional identity and entrance choreography */
header{height:120px}.logo-3d{display:block;perspective:600px;width:192px;flex-shrink:0}.logo-3d .logo-window{display:block;width:192px;height:108px;overflow:hidden;margin:0;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s;filter:drop-shadow(0 3px 0 #713818) drop-shadow(0 6px 0 #3c2615) drop-shadow(0 10px 9px #30190544);border-radius:42%;background:#eee3c9}.logo-window img{position:relative;width:310px;max-width:none;height:175px;left:-57px;top:-31px;mix-blend-mode:multiply}.hero-art{min-height:570px;border-radius:120px 5px 5px 5px;background:#32221a}.hero-art video{object-fit:cover}.image-caption{align-items:center;gap:20px}#replay-entry{background:transparent;border:0;border-bottom:1px solid #fff8;padding:6px 0;color:white;font-size:11px}.entrance-preview{display:flex;align-items:center;gap:14px;margin-top:27px}.entrance-preview video{width:150px;aspect-ratio:16/9;object-fit:contain;background:#272018;border-radius:5px;box-shadow:0 5px 20px #321b1520}.entrance-preview span{font:italic 17px 'Playfair Display';color:var(--red)}#facade-toggle{display:block;border:0;background:none;padding:7px 0;color:var(--red);font-size:10px;text-decoration:underline}.hero-note{margin-top:22px}#entrance-scene{position:fixed;inset:0;z-index:1000;overflow:hidden;perspective:1100px;pointer-events:none;background:#25190e;transition:opacity .45s;display:block}.door{position:absolute;top:0;width:50.1%;height:100%;background-image:linear-gradient(#1b130c22,#1b130c33),url('assets/cover-poster.jpg');background-size:200% 100%;background-repeat:no-repeat;backface-visibility:hidden;transition:transform 1.5s cubic-bezier(.4,0,.15,1),filter 1.5s;box-shadow:0 0 40px #0008}.door-left{left:0;background-position:left center;transform-origin:left center;border-right:1px solid #ecc48266}.door-right{right:0;background-position:right center;transform-origin:right center;border-left:1px solid #ecc48266}.entrance-glow{position:absolute;inset:0;background:radial-gradient(ellipse,#e3a44999,#391b0a 75%)}.welcome-sign{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff5de;text-shadow:0 3px 20px #000;transition:opacity .45s,transform .8s;background:#20160c33}.welcome-sign span{font-size:11px;letter-spacing:5px}.welcome-sign strong{font:500 clamp(44px,7vw,95px) 'Playfair Display';margin:15px}.welcome-sign small{font:italic 22px 'Playfair Display'}.opening .door-left{transform:rotateY(-100deg);filter:brightness(.6)}.opening .door-right{transform:rotateY(100deg);filter:brightness(.6)}.opening .welcome-sign{opacity:0;transform:scale(1.1)}#entrance-scene.opening{background:transparent}#entrance-scene.opening .entrance-glow{opacity:0;transition:opacity 1s .2s}#entrance-scene.gone{opacity:0;visibility:hidden}#skip-intro{position:absolute;bottom:35px;right:35px;color:white;background:#25190e99;border:1px solid #fff8;padding:12px 22px;border-radius:30px;pointer-events:auto}.gone #skip-intro{pointer-events:none}@media(max-width:600px){header{height:100px}.logo-3d,.logo-3d .logo-window{width:145px}.logo-3d .logo-window{height:83px}.logo-window img{width:235px;height:132px;left:-43px;top:-23px}.hero-art{min-height:0;aspect-ratio:16/11;border-radius:65px 4px 4px 4px}.entrance-preview video{width:142px}.welcome-sign strong{font-size:43px}.welcome-sign small{font-size:18px}.door{background-size:200% 100%}#skip-intro{right:22px;bottom:24px}.hero-text{padding-top:32px}}@media(prefers-reduced-motion:reduce){#entrance-scene{display:none}.logo-3d .logo-window{transform:none!important}}

/* Warm Colombian earth palette */
:root{--cream:#f4e9d5;--red:#3c4b30;--ink:#352b20;--orange:#a34928;--line:#d8c5a7}body{background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.035' filter='url(%23n)'/%3E%3C/svg%3E")}.story{background:#e5dbc3}.ribbon{background:#79472d;color:#fff2d6}.ribbon span{color:#efc15c}.gather{background-color:#34472f;background-image:radial-gradient(ellipse at top right,#65764a,transparent 75%)}.gather em{color:#efc15c}.logo-card{background:transparent;border:0;transform:none}.logo-card img{max-width:400px;margin:auto}.round-label{background:#d5a84e;color:#392a19;box-shadow:0 0 0 5px #d5a84e44}footer{background:#30271c}.logo-3d .logo-window{width:192px;height:108px;border-radius:0;background:transparent;overflow:visible;filter:drop-shadow(0 2px 0 #653b23) drop-shadow(0 5px 5px #36251038);animation:logo-breathe 7s ease-in-out infinite}.logo-window img{position:static;display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}.card-image img,.story-photo img{animation:photo-breathe 10s ease-in-out infinite alternate;will-change:transform}.card:nth-child(2) img{animation-delay:-4s}.card:nth-child(3) img{animation-delay:-7s}.card:hover img{transform:none}.entrance-preview video{box-shadow:0 6px 20px #4c301c33}#video-toggle{opacity:.85}@keyframes photo-breathe{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.085) translateY(-5px)}}@keyframes logo-breathe{0%,100%{transform:perspective(600px) rotateY(-5deg) translateY(0)}50%{transform:perspective(600px) rotateY(5deg) translateY(-3px)}}@media(max-width:600px){.logo-3d .logo-window{width:145px;height:83px}.logo-window img{position:static;width:100%;height:100%}}@media(prefers-reduced-motion:reduce){.card-image img,.story-photo img,.logo-3d .logo-window{animation:none!important}}

/* The entrance must always release the page, even if JavaScript fails. */
#entrance-scene{animation:entry-failsafe 2.8s forwards}
#entrance-scene.entry-active{animation:entry-failsafe 2.8s forwards}
@keyframes entry-failsafe{0%,85%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){#entrance-scene{display:none!important}}
