/* Ellie homepage — reference-led layout with Ellie's own brand palette.
   Hero photo artwork is provisional until the restaurant supplies photography.
   Does not change menu page styling. */
.contra-home{overflow:hidden;background:#d4e3de}
.contra-home .contra-hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:760px;height:100svh;max-height:1100px;padding:clamp(130px,18vh,200px) clamp(25px,6vw,90px) clamp(72px,9vh,110px);isolation:isolate;color:var(--chalk);text-align:center}
.contra-photo{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(circle at 45% 50%,#b7a68c 0%,#a18e79 25%,#6e7566 76%,#454c43 100%)}
.contra-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#272b25a6 0%,#242e2535 22%,#1d251c55 65%,#242a228e 100%);pointer-events:none}
.contra-photo-light{position:absolute;inset:-8%;background:radial-gradient(ellipse at 48% 27%,#e5d1b6aa,transparent 46%),radial-gradient(ellipse at 68% 83%,#8b4b3f77,transparent 40%);filter:blur(18px)}
.contra-photo-glass{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:min(74vw,630px);aspect-ratio:1;border-radius:50%;border:clamp(5px,.8vw,11px) solid #e6d9c987;box-shadow:0 0 0 2px #48453f9c,20px 33px 55px #15190f8a, inset 0 0 35px #ece7d4a1;background:radial-gradient(circle at 34% 30%,#ecd9bfaa 0 9%,transparent 40%),radial-gradient(circle at 56% 49%,#c18d6a 0%,#b7836c 44%,#816556 82%,#59453d 100%)}
.contra-photo-surface{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(ellipse at 45% 43%,#d6b298a0,transparent 70%),repeating-radial-gradient(circle at 51% 52%,transparent 0 9px,#f2d0bc20 10px 12px);opacity:.55}
.contra-photo-shadow{position:absolute;bottom:-20%;right:-5%;width:55%;aspect-ratio:1;border-radius:50%;background:#282c23b3;filter:blur(30px)}
.contra-hero-brand{width:min(84vw,930px);position:relative;z-index:1;margin:auto 0 0}
.contra-hero-brand img{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 4px #252e2850)}
.contra-hero-details{z-index:1;position:relative;font:600 clamp(16px,2vw,29px)/1.2 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.02em;margin:clamp(36px,6vh,85px) 0 clamp(28px,4vh,60px);text-transform:none;text-shadow:0 2px 12px #2d2f2c8c}
.contra-hero-details p{margin:0 0 6px}
.contra-hero-cta{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:740px;min-height:clamp(72px,10vh,100px);background:var(--blue);color:var(--dark);font:500 clamp(16px,1.65vw,24px)/1.3 var(--utility);letter-spacing:.01em;text-decoration:none;transition:background-color .25s ease,transform .25s ease}
.contra-hero-cta:hover{background:#e2eef0;transform:translateY(-2px)}
.contra-photo-note{position:absolute;bottom:12px;right:18px;color:#fffbedb8;font:400 10px/1.3 'IBM Plex Mono',monospace;text-align:right;margin:0;z-index:1}
.contra-banner{height:clamp(160px,22vw,238px);background:var(--blue);border-top:0;display:flex;align-items:center;overflow:hidden;color:var(--dark)}
.contra-banner-track{min-width:max-content;width:max-content;display:flex;align-items:center;gap:clamp(30px,5vw,80px);height:75px;border-top:1px solid var(--dark);border-bottom:1px solid var(--dark);padding:0 38px;animation:ellie-address-scroll 32s linear infinite;will-change:transform}
.contra-banner-track span{white-space:nowrap;font:800 clamp(18px,2vw,27px)/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.015em;text-transform:uppercase}
.contra-banner-track i{display:block;flex:0 0 10px;width:10px;height:10px;background:var(--dark);transform:rotate(45deg)}
@keyframes ellie-address-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.contra-info{background:var(--blue);padding:clamp(40px,6vw,110px) var(--ellie-inset) clamp(95px,12vw,190px);color:var(--dark)}
.contra-intro{padding:clamp(35px,6vw,100px) 0 clamp(100px,13vw,215px);max-width:1180px}
.contra-info h1,.contra-info h2{font-family:'Barlow Condensed',Impact,sans-serif!important;font-weight:800!important;line-height:1.03!important;letter-spacing:-.015em!important;text-transform:uppercase;margin:0}
.contra-info h1{font-size:clamp(34px,5.1vw,75px)!important;max-width:1150px}
.contra-intro>p{font:700 clamp(19px,2.25vw,33px)/1.25 'Barlow Condensed',Impact,sans-serif;margin:clamp(34px,5vw,72px) 0 0;max-width:1050px}
.contra-visit{max-width:1150px}
.contra-info h2{font-size:clamp(45px,5.6vw,86px)!important;margin:0 0 clamp(75px,9vw,140px)!important}
.contra-visit address,.contra-info-hours{font:700 clamp(23px,2.8vw,40px)/1.16 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.01em;font-style:normal;margin:0}
.contra-info-hours{margin:clamp(36px,4vw,66px) 0}
.contra-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(17px,2vw,28px)}
.contra-contact-links a{font:600 clamp(18px,2.05vw,30px)/1.15 'Barlow Condensed',Impact,sans-serif;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.contra-contact-links a:hover{opacity:.68}
.contra-home + .footer{background:var(--dark);color:var(--cream)}
@media(max-width:850px){
 .wild-header{z-index:41}
 .contra-home .contra-hero{height:100svh;min-height:640px;padding:145px 24px 65px}
 .contra-hero-brand{width:92%;margin:auto 0 0}
 .contra-photo-glass{width:80vw;top:42%}
 .contra-hero-details{font-size:clamp(19px,4.8vw,28px);line-height:1.17;margin:42px 0 34px}
 .contra-hero-cta{min-height:74px;width:100%;font-size:18px}
 .contra-banner{height:170px}
 .contra-banner-track{height:82px;gap:40px}
 .contra-banner-track span{font-size:22px}
 .contra-info{padding:24px 24px 115px}
 .contra-intro{padding:82px 0 180px}
 .contra-info h1{font-size:clamp(34px,8vw,58px)!important;line-height:1.06!important}
 .contra-intro>p{font-size:clamp(22px,5.2vw,31px);margin-top:54px}
 .contra-info h2{font-size:clamp(48px,10vw,72px)!important;margin-bottom:95px!important}
 .contra-visit address,.contra-info-hours{font-size:clamp(26px,6.5vw,36px)}
 .contra-info-hours{margin:52px 0 42px}
 .contra-contact-links{gap:27px}
 .contra-contact-links a{font-size:clamp(24px,5.7vw,34px)}
 .contra-photo-note{font-size:8px;bottom:10px;right:12px}
}
@media(max-width:440px){
 .contra-home .contra-hero{padding:136px 24px 60px}
 .contra-hero-brand{width:100%}
 .contra-hero-details{margin:36px 0 30px}
 .contra-hero-details p{margin-bottom:8px}
 .contra-hero-cta{min-height:68px}
 .contra-info h1{font-size:clamp(32px,8.7vw,40px)!important}
 .contra-intro{padding:76px 0 150px}
}
@media(prefers-reduced-motion:reduce){
 .contra-banner-track{animation:none}
 .contra-hero-cta{transition:none}
 .contra-hero-cta:hover{transform:none}
}
