:root{
  --cream:#f5ecdb;--beige:#e8d8ba;--gold:#cba963;--gold-hi:#f0dca5;
  --green:#123b2b;--green-2:#2f684c;--dark:#07140e;--dark-2:#040b07;
  --video-opacity:.40;--ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{background:var(--dark)}
body{margin:0;min-width:320px;min-height:100svh;overflow-x:hidden;background:var(--dark);color:var(--cream);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}img{display:block;max-width:100%}

/* Cinematic background remains attractive even before/without video. */
#ih-cinema-bg{position:fixed;inset:0;z-index:0;overflow:hidden;contain:paint;pointer-events:none;background:radial-gradient(circle at 50% 16%,#214d31 0,#102d1d 27%,#091c12 52%,#07140e 77%,#040b07 100%)}
.ih-video{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;object-position:50% 50%;opacity:0;transform:scale(1.02);transition:opacity .75s ease;pointer-events:none}
#ih-cinema-bg.is-playing .ih-video{opacity:var(--video-opacity)}
.ih-cinema-grade,.ih-atmosphere,.ih-cinema-frame{position:absolute;inset:0}
.ih-cinema-grade{z-index:2;background:linear-gradient(180deg,rgba(2,9,5,.24),rgba(4,13,8,.32) 46%,rgba(3,10,6,.68)),radial-gradient(circle at 50% -4%,rgba(240,220,165,.12),transparent 36%),radial-gradient(circle at 50% 108%,rgba(18,59,43,.32),rgba(3,10,6,.56) 74%)}
.ih-atmosphere{z-index:3;opacity:.66;background:radial-gradient(circle at 13% 19%,rgba(203,169,99,.13),transparent 21%),radial-gradient(circle at 87% 31%,rgba(47,104,76,.22),transparent 24%),linear-gradient(116deg,transparent 0 31%,rgba(203,169,99,.033) 44%,transparent 60%)}
.ih-cinema-frame{z-index:4;inset:16px;border:1px solid rgba(203,169,99,.13);border-radius:28px;box-shadow:inset 0 0 80px rgba(0,0,0,.22)}

.site-shell{position:relative;z-index:5;isolation:isolate;display:flex;flex-direction:column;justify-content:center;width:min(1540px,100%);min-height:100svh;margin:auto;padding:clamp(24px,3.6vh,48px) clamp(20px,4vw,64px) clamp(18px,2.5vh,32px)}
.brand-header{width:min(760px,100%);margin:0 auto clamp(20px,3vh,34px);text-align:center;animation:reveal .65s var(--ease) both}
.brand-logo{width:clamp(220px,24vw,372px);height:auto;margin:0 auto clamp(12px,1.5vh,17px);filter:drop-shadow(0 11px 24px rgba(0,0,0,.24))}
.brand-rule{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:13px;width:min(330px,72vw);margin:0 auto 12px}
.brand-rule span{height:1px;background:linear-gradient(90deg,transparent,rgba(203,169,99,.68))}.brand-rule span:last-child{background:linear-gradient(90deg,rgba(203,169,99,.68),transparent)}
.brand-rule i{display:block;width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg);box-shadow:0 0 12px rgba(203,169,99,.30)}
.eyebrow{margin:0 0 7px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.34em;text-transform:uppercase}
h1{margin:0;color:var(--cream);font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3.8vw,58px);font-weight:500;line-height:1;letter-spacing:-.035em;text-shadow:0 5px 24px rgba(0,0,0,.30)}
.intro{margin:11px auto 0;color:rgba(245,236,219,.72);font-size:clamp(12px,1.05vw,15px);letter-spacing:.035em}

.locations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,1.75vw,26px);width:100%;margin:0 auto}
.location-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:clamp(350px,45vh,500px);overflow:hidden;contain:layout paint;border:1px solid rgba(203,169,99,.30);border-radius:24px;background:linear-gradient(155deg,rgba(17,56,39,.66),rgba(5,17,11,.78) 58%,rgba(4,13,8,.88));box-shadow:0 20px 50px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);text-decoration:none;transform:translateY(14px);opacity:0;animation:cardIn .62s var(--ease) calc(.10s + var(--i)*.08s) forwards;transition:transform .32s var(--ease),border-color .32s ease,box-shadow .32s ease,background .32s ease}
.location-card::before{content:"";position:absolute;z-index:0;inset:-30%;background:radial-gradient(circle at 50% 38%,rgba(203,169,99,.13),transparent 34%),radial-gradient(circle at 50% 90%,rgba(47,104,76,.22),transparent 39%);opacity:.72;transition:opacity .32s ease,transform .55s var(--ease)}
.location-card::after{content:"";position:absolute;z-index:1;top:-28%;left:-92%;width:42%;height:165%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(240,220,165,.11),transparent);transition:left .62s var(--ease);pointer-events:none}
.location-card:hover{transform:translateY(-7px);border-color:rgba(240,220,165,.65);background:linear-gradient(155deg,rgba(21,72,49,.76),rgba(6,20,13,.86) 58%,rgba(4,13,8,.93));box-shadow:0 28px 64px rgba(0,0,0,.34),0 0 0 1px rgba(203,169,99,.07),0 0 36px rgba(47,104,76,.16)}
.location-card:hover::before{opacity:1;transform:scale(1.05)}.location-card:hover::after{left:150%}
.location-card:active{transform:translateY(-1px) scale(.988);transition-duration:.1s}.location-card:focus-visible{outline:2px solid var(--gold-hi);outline-offset:5px}
.card-index{position:absolute;z-index:4;top:18px;left:20px;color:rgba(245,236,219,.45);font-size:9px;font-weight:800;letter-spacing:.24em}
.card-index::after{content:"";display:inline-block;width:38px;height:1px;margin:0 0 3px 10px;background:linear-gradient(90deg,rgba(203,169,99,.68),transparent)}
.card-aura{position:absolute;z-index:0;left:50%;top:42%;width:70%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(47,104,76,.22),rgba(203,169,99,.04) 45%,transparent 70%);transition:transform .48s var(--ease),opacity .32s ease}.location-card:hover .card-aura{transform:translate(-50%,-50%) scale(1.08);opacity:1}
.art-wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:clamp(30px,2.7vw,44px) clamp(14px,2vw,28px) 4px}
.art-wrap img{width:min(96%,420px);height:auto;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.20));transition:transform .42s var(--ease),filter .32s ease}.location-card:hover .art-wrap img{transform:translateY(-6px) scale(1.028);filter:drop-shadow(0 16px 26px rgba(0,0,0,.25)) drop-shadow(0 0 11px rgba(203,169,99,.09))}
.card-footer{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;margin:0 15px 15px;padding:11px 14px;border:1px solid rgba(203,169,99,.12);border-radius:13px;background:linear-gradient(90deg,rgba(3,12,7,.58),rgba(13,42,28,.42));transition:background .28s ease,border-color .28s ease}
.location-card:hover .card-footer{border-color:rgba(203,169,99,.28);background:linear-gradient(90deg,rgba(3,12,7,.72),rgba(19,61,41,.54))}
.card-cta{display:inline-flex;align-items:center;gap:9px;flex:none;color:var(--gold-hi);font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.card-cta b{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(203,169,99,.44);border-radius:50%;font-size:14px;font-weight:400;transition:transform .26s var(--ease),background .26s ease,color .26s ease,border-color .26s ease}.location-card:hover .card-cta b{transform:translate(2px,-2px);border-color:var(--gold);background:var(--gold);color:var(--dark)}
.site-footer{display:flex;align-items:center;justify-content:center;gap:16px;width:min(560px,90%);margin:clamp(14px,2.2vh,26px) auto 0;color:rgba(232,216,186,.48)}
.site-footer span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(203,169,99,.22))}.site-footer span:last-child{background:linear-gradient(90deg,rgba(203,169,99,.22),transparent)}
.site-footer p{margin:0;font-size:8px;font-weight:700;letter-spacing:.23em;white-space:nowrap}

@keyframes reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes cardIn{to{opacity:1;transform:none}}

@media (max-width:1100px){
  .site-shell{justify-content:flex-start;padding-top:30px}.brand-header{margin-bottom:24px}.locations{gap:14px}.location-card{min-height:360px;border-radius:20px}.art-wrap{padding-inline:10px}.card-footer{margin:0 11px 11px;padding:10px}.card-cta{font-size:8px;letter-spacing:.10em}
}
@media (max-width:820px){
  :root{--video-opacity:.32}.ih-cinema-frame{inset:9px;border-radius:18px}.site-shell{padding:26px 16px 24px}.brand-logo{width:min(330px,76vw)}.locations{grid-template-columns:1fr;width:min(620px,100%);gap:15px}.location-card{min-height:0;aspect-ratio:1.38/1;border-radius:20px}.art-wrap{padding:32px 16px 2px}.art-wrap img{width:min(84%,365px)}.card-footer{margin:0 13px 13px}.site-footer{margin-top:23px}
}
@media (max-width:540px){
  :root{--video-opacity:.26}.ih-cinema-frame{display:none}.site-shell{padding:22px 10px 20px}.brand-header{margin-bottom:19px}.brand-logo{width:min(292px,80vw);margin-bottom:11px}.brand-rule{margin-bottom:10px}.eyebrow{font-size:9px}h1{font-size:36px}.intro{max-width:290px;line-height:1.45}.locations{gap:12px}.location-card{aspect-ratio:auto;min-height:350px;border-radius:18px}.card-index{top:14px;left:15px}.art-wrap{padding:31px 10px 1px}.art-wrap img{width:min(94%,330px)}.card-footer{margin:0 9px 9px;padding:10px;border-radius:12px}.card-cta{font-size:7px;letter-spacing:.10em}.card-cta b{width:27px;height:27px}.site-footer{gap:9px;width:94%}.site-footer p{font-size:7px;letter-spacing:.15em}
}
@media (max-width:380px){.location-card{min-height:330px}}

/* Keep the complete selector visible on shorter laptop screens when possible. */
@media (min-width:821px) and (max-height:760px){
  .site-shell{justify-content:flex-start;padding-top:18px;padding-bottom:16px}.brand-header{margin-bottom:16px}.brand-logo{width:clamp(210px,21vw,310px);margin-bottom:9px}.brand-rule{margin-bottom:8px}.eyebrow{margin-bottom:5px}h1{font-size:clamp(34px,3.2vw,49px)}.intro{margin-top:8px}.location-card{min-height:330px}.art-wrap{padding-top:25px}.site-footer{margin-top:12px}
}
@media (hover:none){.location-card:hover{transform:none}.location-card:hover::before{transform:none}.location-card:hover::after{left:-92%}.location-card:hover .art-wrap img{transform:none}.location-card:hover .card-cta b{transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ih-video{display:none!important}.location-card{opacity:1;transform:none}}
