/* Glenarm Shorthorn Beef — shared styles (premium estate palette) */
:root{
  --navy-darkest:#142A3B;
  --navy-deep:#1F3E56;
  --navy:#34607F;
  --navy-light:#4E7B9B;
  --gold:#C59849;
  --gold-light:#D7B171;
  --cream:#F8F6F2;
  --white:#FFFFFF;
  --charcoal:#232629;
  --gold-dark:#A67D3B;
  --btn-inset:5px;
  --btn-icon-size:2.625rem;
  --btn-icon-radius:1.1rem;
  --btn-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
html{scroll-behavior:smooth}
main [id]{scroll-margin-top:6rem}
body{font-family:'Inter',system-ui,sans-serif;background:var(--navy-darkest);color:var(--cream)}
.font-serif{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif}
.text-gold{color:var(--gold)}
.text-gold-light{color:var(--gold-light)}
.bg-navy{background:var(--navy-deep)}
.bg-navy-deep{background:var(--navy-darkest)}
.bg-navy-mid{background:var(--navy)}
.border-gold{border-color:var(--gold)}

/* CTAs — stadium pill with inset icon well (reference shape, theme gold/blue) */
.btn-cta{
  --btn-bg:var(--gold);--btn-icon-bg:var(--gold-dark);
  display:inline-flex;align-items:center;
  padding:var(--btn-inset) var(--btn-inset) var(--btn-inset) 1.75rem;
  background:var(--btn-bg);color:#fff;border:0;border-radius:20px;
  text-decoration:none;cursor:pointer;text-align:left;
  font-family:'Inter',system-ui,sans-serif;
  transition:background .3s,transform .3s,box-shadow .3s,border-color .3s;
}
button.btn-cta{-webkit-appearance:none;appearance:none}
.btn-cta:hover{--btn-bg:var(--gold-light);--btn-icon-bg:#8F6A32;transform:translateY(-1px);box-shadow:0 8px 24px rgba(197,152,73,.35)}
.btn-cta__body{display:flex;flex-direction:column;justify-content:center;gap:.12rem;padding:.6rem 0;margin-right:1.25rem}
.btn-cta__label{
  font-family:inherit;font-size:.72rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;line-height:1.2;color:inherit;
}
.btn-cta__note{font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-weight:500;line-height:1.3}
.btn-cta__icon{
  flex-shrink:0;width:var(--btn-icon-size);height:var(--btn-icon-size);
  border-radius:var(--btn-icon-radius);background-color:var(--btn-icon-bg);
  background-image:var(--btn-arrow);background-repeat:no-repeat;background-position:center;background-size:1rem;
  transition:background-color .3s;
}
.btn-cta--blue{--btn-bg:var(--navy);--btn-icon-bg:var(--navy-deep)}
.btn-cta--blue:hover{--btn-bg:var(--navy-light);--btn-icon-bg:#1a3347;box-shadow:0 8px 24px rgba(52,96,127,.4)}
.btn-cta--outline{
  --btn-bg:transparent;--btn-icon-bg:rgba(166,125,59,.5);
  border:1px solid rgba(197,152,73,.55);color:var(--cream);
}
.btn-cta--outline:hover{--btn-bg:rgba(197,152,73,.1);--btn-icon-bg:var(--gold-dark);border-color:var(--gold);color:#fff}
.btn-cta--compact{
  --btn-inset:4px;--btn-icon-size:2rem;--btn-icon-radius:.5rem;
  padding-left:1.15rem;
}
.btn-cta--compact .btn-cta__body{padding:.35rem 0;margin-right:.85rem}
.btn-cta--compact .btn-cta__label{font-size:.62rem;letter-spacing:.18em}
.btn-cta--compact .btn-cta__icon{background-size:.875rem}
.btn-cta--solo .btn-cta__body,.btn-cta--solo>.btn-cta__label{padding:.55rem 0;display:block;margin-right:1.25rem}
.btn-cta--block{width:100%;justify-content:space-between}
.btn-cta--block .btn-cta__body{flex:1;margin-right:1.25rem}

/* Legacy aliases — cookie banner */
.btn-gold,.btn-outline-gold{
  --btn-bg:var(--gold);--btn-icon-bg:var(--gold-dark);
  display:inline-flex;align-items:center;gap:.85rem;
  padding:var(--btn-inset) var(--btn-inset) var(--btn-inset) 1.15rem;
  border-radius:9999px;font-family:'Inter',system-ui,sans-serif;
  font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  background:var(--btn-bg);color:#fff;border:0;cursor:pointer;
  transition:background .3s,transform .3s,box-shadow .3s,border-color .3s;
}
.btn-gold .btn-cta__icon,.btn-outline-gold .btn-cta__icon{
  --btn-icon-size:2rem;--btn-icon-radius:.5rem;
  background-size:.875rem;
}
.btn-gold:hover{--btn-bg:var(--gold-light);--btn-icon-bg:#8F6A32;transform:translateY(-1px);box-shadow:0 8px 24px rgba(197,152,73,.35)}
.btn-outline-gold{
  --btn-bg:transparent;--btn-icon-bg:rgba(166,125,59,.5);
  border:1px solid rgba(197,152,73,.55);color:var(--cream);
}
.btn-outline-gold:hover{--btn-bg:rgba(197,152,73,.1);--btn-icon-bg:var(--gold-dark);border-color:var(--gold);color:#fff}

/* Nav */
.nav-link{
  font-size:.72rem;letter-spacing:.28em;color:var(--cream);text-transform:uppercase;font-weight:600;
  text-decoration:none;position:relative;
}
.nav-link::after{
  content:'';position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--gold);
  transition:width .35s cubic-bezier(.22,1,.36,1);
}
.nav-link:hover::after,.nav-link.active::after,.nav-link:focus-visible::after{width:100%}

.divider-gold{height:2px;width:140px;background:linear-gradient(90deg,var(--gold),transparent)}
.eyebrow{color:var(--gold);letter-spacing:.32em;text-transform:uppercase;font-size:.72rem;font-weight:600}

/* Hero overlay — horizontal, dark navy fading right (per spec) */
.hero-overlay{background:linear-gradient(90deg,rgba(20,42,59,.92) 0%,rgba(20,42,59,.75) 35%,rgba(20,42,59,.35) 70%,rgba(20,42,59,.55) 100%)}
/* Generic image overlay for homepage sections */
.image-overlay{background:linear-gradient(180deg,rgba(20,42,59,.3) 0%,rgba(20,42,59,.85) 100%)}
.image-overlay-strong{background:linear-gradient(180deg,rgba(20,42,59,.6) 0%,rgba(20,42,59,.92) 100%)}
/* Panel cards — darken bottom-left only so photos stay visible */
.image-overlay-panel{
  background:linear-gradient(
    to top right,
    rgba(20,42,59,.92) 0%,
    rgba(20,42,59,.72) 22%,
    rgba(20,42,59,.35) 42%,
    rgba(20,42,59,.08) 58%,
    transparent 72%
  );
}
@media (max-width:1023px){
  .image-overlay-panel{
    background:linear-gradient(
      to top,
      rgba(20,42,59,.97) 0%,
      rgba(20,42,59,.9) 28%,
      rgba(20,42,59,.65) 52%,
      rgba(20,42,59,.25) 72%,
      transparent 100%
    );
  }
  .image-panel-copy{
    padding-top:2.5rem;
    background:linear-gradient(to top,rgba(20,42,59,.55),transparent);
    text-shadow:0 1px 4px rgba(20,42,59,.85),0 2px 16px rgba(20,42,59,.5);
  }
  .image-panel-copy .eyebrow{text-shadow:0 1px 3px rgba(20,42,59,.9)}
  .image-panel-copy h3{text-shadow:0 2px 8px rgba(20,42,59,.9),0 4px 24px rgba(20,42,59,.45)}
  .image-panel-copy p{font-size:1.05rem;line-height:1.65}
}
.section-overlay{background:linear-gradient(180deg,rgba(20,42,59,.75),rgba(20,42,59,.95))}

.fade-up{
  opacity:0;transform:translate3d(0,30px,0);
  transition:opacity 1s ease,transform 1s ease;
  transition-delay:var(--hero-delay,0ms);
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
}
.fade-up.visible{opacity:1;transform:translate3d(0,0,0)}
.fade-up .btn-cta--outline{border-color:rgba(197,152,73,.55)}
@media (prefers-reduced-motion:reduce){
  .fade-up,.fade-up.visible{opacity:1;transform:none;transition:none}
  .hero-animate--bg,.hero-ready .hero-animate--bg.visible{opacity:1;transition:none}
}

/* Hero entrance — immediate on load, no scroll observer */
.hero-animate--bg{opacity:0;transform:none;transition:opacity 1.4s ease;transition-delay:var(--hero-delay,0ms)}
.hero-ready .hero-animate--bg.visible{opacity:1}
.hero-bg-picture{position:relative;width:100%;height:100%}
.hero-bg-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;background:var(--navy-darkest);object-position:right center;
}
.hero-bg-img--tablet,.hero-bg-img--desktop{display:none}
.hero-bg-img--mobile{display:block}
@media (min-width:768px){
  .hero-bg-img--mobile{display:none}
  .hero-bg-img--tablet{display:block;object-position:center center}
}
@media (min-width:1280px){
  .hero-bg-img--tablet{display:none}
  /* image should be shifted right by 200px */
  .hero-bg-img--desktop{display:block;object-position:calc(100% - -200px) center}
}
@media (max-width:767px){
  .hero-cta-row{flex-direction:column;align-items:stretch}
  .hero-cta-row .btn-cta{width:100%;justify-content:space-between}
  .hero-cta-row .btn-cta__body{flex:1;margin-right:1.25rem}
}
.award-badge{width:4.25rem;height:4.25rem;object-fit:contain;border-radius:9999px}

header{
  background:transparent;border:none;box-shadow:none;
  transition:background .5s ease,box-shadow .5s ease;
}
header.scrolled{
  background:rgba(20,42,59,.95);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 4px 30px rgba(0,0,0,.4);
}

/* Mobile header — no bar background; logo + round menu only */
@media (max-width:1023px){
  header,header.scrolled{background:transparent!important;backdrop-filter:none!important;box-shadow:none!important}
  #site-header > div:first-of-type{padding-top:.85rem;padding-bottom:.85rem}
}

/* Mobile menu — staggered reveal */
body.mobile-menu-open{overflow:hidden}
.menu-btn{
  position:relative;z-index:60;display:flex;align-items:center;justify-content:center;
  width:2.75rem;height:2.75rem;padding:0;border:0;background:transparent;color:var(--gold);cursor:pointer;
}
@media (max-width:1023px){
  .menu-btn{
    width:3.15rem;height:3.15rem;border-radius:50%;
    border:1px solid rgba(197,152,73,.55);
    background:rgba(20,42,59,.45);backdrop-filter:blur(6px);
    transition:background .35s ease,border-color .35s ease,transform .35s ease;
  }
  .menu-btn:hover,.menu-btn:focus-visible{border-color:var(--gold);background:rgba(20,42,59,.65)}
  .menu-btn.is-open{border-color:var(--gold-light);background:rgba(20,42,59,.75)}
  .menu-btn__icon{width:1.25rem;gap:5px}
}
.menu-btn__icon{display:flex;flex-direction:column;justify-content:center;gap:6px;width:1.5rem;height:1.125rem}
.menu-btn__line{display:block;height:1.5px;width:100%;background:currentColor;border-radius:1px;transform-origin:center;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease,width .35s ease}
.menu-btn.is-open .menu-btn__line:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-btn.is-open .menu-btn__line:nth-child(2){opacity:0;transform:scaleX(0)}
.menu-btn.is-open .menu-btn__line:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.mobile-menu{
  position:fixed;inset:0;z-index:55;visibility:hidden;pointer-events:none;
}
.mobile-menu.is-open{visibility:visible;pointer-events:auto}
.mobile-menu__backdrop{
  position:absolute;inset:0;background:rgba(20,42,59,.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  opacity:0;transition:opacity .55s cubic-bezier(.4,0,.2,1);
}
.mobile-menu.is-open .mobile-menu__backdrop{opacity:1}
.mobile-menu__panel{
  position:relative;z-index:1;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:6rem 2rem 3rem;
  opacity:0;transform:translateY(1.75rem) scale(.98);
  transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);
}
.mobile-menu.is-open .mobile-menu__panel{opacity:1;transform:translateY(0) scale(1);transition-delay:.06s}
.mobile-menu__eyebrow{margin-bottom:2.5rem;opacity:0;transform:translateY(.75rem);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.mobile-menu.is-open .mobile-menu__eyebrow{opacity:1;transform:translateY(0);transition-delay:.1s}
.mobile-menu__nav{display:flex;flex-direction:column;align-items:center;gap:1.35rem;width:100%;max-width:20rem}
.mobile-menu__item{
  font-family:'Cormorant Garamond',Georgia,serif;font-size:2.1rem;font-weight:600;
  letter-spacing:.03em;color:var(--cream);text-decoration:none;text-align:center;
  opacity:0;transform:translateY(1.5rem);
  transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);
}
.mobile-menu__item::after{
  content:'';display:block;height:1px;width:0;margin:.4rem auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transition:width .45s cubic-bezier(.22,1,.36,1);
}
.mobile-menu__item:hover::after,.mobile-menu__item.active::after,.mobile-menu__item:focus-visible::after{width:3rem}
.mobile-menu.is-open .mobile-menu__item{opacity:1;transform:translateY(0)}
.mobile-menu.is-open .mobile-menu__item:nth-child(1){transition-delay:.14s}
.mobile-menu.is-open .mobile-menu__item:nth-child(2){transition-delay:.2s}
.mobile-menu.is-open .mobile-menu__item:nth-child(3){transition-delay:.26s}
.mobile-menu.is-open .mobile-menu__item:nth-child(4){transition-delay:.32s}
.mobile-menu__item--cta{margin-top:.75rem;opacity:0;transform:translateY(1.5rem) scale(.96);
  transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1),background .3s,border-color .3s}
.mobile-menu__item--cta::after{display:none}
.mobile-menu__item--cta{font-family:'Inter',system-ui,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.mobile-menu__item--cta .btn-cta__label{font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:inherit}
.mobile-menu.is-open .mobile-menu__item--cta{opacity:1;transform:translateY(0) scale(1);transition-delay:.4s}

@media (prefers-reduced-motion:reduce){
  .mobile-menu__backdrop,.mobile-menu__panel,.mobile-menu__eyebrow,.mobile-menu__item,.mobile-menu__item--cta,.menu-btn__line{transition-duration:.01ms!important;transition-delay:0s!important}
  .mobile-menu__panel,.mobile-menu__item{transform:none!important}
}

/* Logo circle medallion */
.logo-medallion{background:rgba(20,42,59,.55);border:1px solid rgba(197,152,73,.4);border-radius:9999px;padding:.35rem;backdrop-filter:blur(4px)}

/* Award badges row */
.award-row{
  border-top:1px solid rgba(197,152,73,.25);
  display:flex;flex-direction:column;align-items:flex-start;
  gap:1.5rem;
}
.award-item{position:relative}
@media (min-width:768px){
  .award-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.5rem 3rem}
  .award-item + .award-item{padding-left:3rem}
  .award-item + .award-item::before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:1px;background:rgba(197,152,73,.25)}
}

/* Scroll-down indicator */
.scroll-indicator{color:var(--gold);letter-spacing:.32em;font-size:.65rem;text-transform:uppercase}
.scroll-arrow{width:1px;height:32px;background:linear-gradient(180deg,var(--gold),transparent);margin:0 auto .6rem}

/* Bouncing chevron */
@keyframes softBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.chevron-bounce{animation:softBounce 2.4s ease-in-out infinite}

/* Cookie consent */
.cookie-consent{position:fixed;inset:auto 0 0 0;z-index:60;padding:1rem 1.25rem 1.25rem;pointer-events:none;opacity:0;transform:translateY(1rem);transition:opacity .5s ease,transform .5s ease}
.cookie-consent.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.cookie-consent__panel{max-width:720px;margin:0 auto;padding:1.5rem 1.75rem;background:rgba(20,42,59,.97);border:1px solid rgba(197,152,73,.35);box-shadow:0 12px 40px rgba(0,0,0,.45);backdrop-filter:blur(12px)}
.cookie-consent__text{margin-top:.75rem;font-size:.9rem;line-height:1.65;color:rgba(248,246,242,.8)}
.cookie-consent__actions{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.cookie-consent__actions .btn-gold,.cookie-consent__actions .btn-outline-gold{padding:var(--btn-inset) var(--btn-inset) var(--btn-inset) 1.15rem;font-size:.62rem}
.cookie-consent__link{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.cookie-consent__link:hover{color:var(--gold-light)}

/* Privacy-friendly video embed */
.video-embed__placeholder{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;
  width:100%;height:100%;border:0;cursor:pointer;
  background:linear-gradient(180deg,rgba(20,42,59,.75),rgba(20,42,59,.95));
  color:var(--cream);font-family:'Inter',system-ui,sans-serif;
  transition:background .3s;
}
.video-embed__placeholder:hover{background:linear-gradient(180deg,rgba(20,42,59,.85),rgba(20,42,59,1))}
.video-embed__play{
  width:4rem;height:4rem;border-radius:50%;border:2px solid var(--gold);
  background:rgba(197,152,73,.15);position:relative;
}
.video-embed__play::after{
  content:'';position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);
  border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent var(--gold);
}
.video-embed__label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold)}
