/* Shared interaction and navigation design. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .18s ease both}
::view-transition-new(root){animation:page-in .38s var(--ease-out) both}
@keyframes page-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes page-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
body{overflow-x:clip}
.header{backdrop-filter:blur(20px)}
.header-inner{height:96px}
.desktop-nav{gap:29px}
.desktop-nav>a,.nav-split>a{position:relative;padding:14px 0;line-height:1.5;transition:color .2s}
.desktop-nav>a:after,.nav-split>a:after{content:'';height:2px;background:var(--red);position:absolute;bottom:5px;left:0;width:100%;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-out)}
.desktop-nav>a:hover,.nav-split>a:hover,.desktop-nav [aria-current=page]{color:var(--red)}
.desktop-nav>a:hover:after,.nav-split>a:hover:after,.desktop-nav [aria-current=page]:after{transform:scaleX(1);transform-origin:left}
.nav-split{display:flex;gap:3px;align-items:center}
.nav-trigger{padding:10px 4px;border-radius:3px}
.nav-chevron{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .25s}
.nav-trigger[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}
.dropdown{top:calc(100% + 10px);width:245px;padding:18px;animation:dropdown-in .25s var(--ease-out) both;border-radius:8px;box-shadow:0 16px 45px #252b2515}
.dropdown a{padding:13px 10px;font-size:13px;display:flex;justify-content:space-between;align-items:center;transition:background .2s,padding .25s}
.dropdown a:hover{padding-left:16px}
.dropdown a span{font-size:9px;color:var(--muted)}
.dropdown-eyebrow{display:block;font-size:8px;letter-spacing:1.3px;margin:2px 10px 11px;color:var(--muted)}
.dropdown .dropdown-all{border-top:1px solid var(--line);border-radius:0;margin-top:8px;color:var(--red);padding-top:17px;padding-bottom:3px}
@keyframes dropdown-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.scroll-progress{position:absolute;left:0;bottom:-1px;right:0;height:2px;background:var(--red);transform-origin:left;transform:scaleX(var(--scroll-progress,0));pointer-events:none}
.button{border-radius:6px;gap:24px;padding:13px 15px 13px 23px;min-height:58px;overflow:hidden;isolation:isolate;box-shadow:0 2px 0 #8a201320;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .25s}
.button:before{content:'';position:absolute;inset:-1px;z-index:-1;background:#a5291e;transform:translateX(-102%);border-radius:inherit;transition:transform .4s var(--ease-out)}
.button:hover{background:var(--red);transform:translateY(-3px);box-shadow:0 10px 22px #9f2a2126}
.button:hover:before{transform:translateX(0)}
.button:active{transform:translateY(0) scale(.975);box-shadow:0 1px 0 #8a201320;transition-duration:.12s}
.button>.icon{width:32px;height:32px;padding:7px;border-radius:50%;background:#ffffff18;transition:transform .4s var(--ease-out),background .25s;stroke-width:1.8;flex-shrink:0}
.button:hover>.icon{transform:translateX(2px) rotate(-7deg);background:#ffffff30}
.button-small{padding:9px 10px 9px 17px;min-height:47px;gap:17px}
.button-small>.icon{width:28px;height:28px;padding:6px}
.button-wave{position:absolute;width:20px;height:20px;left:var(--wave-x,50%);top:var(--wave-y,50%);margin:-10px;border-radius:50%;background:#ffffff35;pointer-events:none;animation:button-wave .65s ease-out both;z-index:-1}
@keyframes button-wave{from{transform:scale(0);opacity:.7}to{transform:scale(25);opacity:0}}
.button-secondary{background:transparent!important;border-color:var(--green);color:var(--green);box-shadow:none}
.button-secondary:before{background:var(--green)}
.button-secondary>.icon{background:#264a3e12}
.button-secondary:hover{color:var(--paper)}
.button-secondary:hover>.icon{background:#ffffff22}
.text-link{position:relative;border-bottom:0;padding-bottom:6px;gap:12px;transition:color .2s}
.text-link:before{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;opacity:.45;transition:transform .3s var(--ease-out),opacity .3s}
.text-link:hover{gap:12px}.text-link:hover:before{transform:scaleX(.75);transform-origin:left;opacity:1}
.text-link>.icon,.text-link>span[aria-hidden]{transition:transform .3s var(--ease-out)}
.text-link:hover>.icon,.text-link:hover>span[aria-hidden]{transform:translate(3px,-2px)}
.round-arrow{transition:background .25s,color .25s,transform .4s var(--ease-out)}
.hero-photo{transform:translateY(var(--photo-shift,0px)) scale(1.08);transition:transform .8s var(--ease-out)}
.hero-art:hover .hero-photo{transform:translateY(var(--photo-shift,0px)) scale(1.12)}
.image-tilt{transition:transform .6s var(--ease-out);transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.reveal{--reveal-delay:0ms}
.js-motion .reveal{translate:0 22px;transition:opacity .75s ease var(--reveal-delay),translate .85s var(--ease-out) var(--reveal-delay)}
.js-motion .reveal.visible{translate:0 0}
.page-hero{position:relative}
.page-hero h1{font-size:clamp(55px,6.5vw,88px);letter-spacing:-3.4px;line-height:1.02;margin:20px 0 24px}
.page-hero h1 em{font-size:1.05em;font-weight:400;line-height:1.05}
.page-hero .eyebrow{font-size:10px}
.breadcrumb{font-size:10px;color:var(--muted);display:flex;gap:12px;align-items:center;margin-bottom:35px}
.breadcrumb a:hover{color:var(--red)}
.footer-controls{display:flex;align-items:center;justify-content:space-between;padding:0 0 24px;gap:20px;color:var(--muted);font-size:9px;letter-spacing:1.3px}
.motion-toggle--footer{position:static;transform:none;width:auto;height:35px;border:1px solid #d3d4c7;display:inline-flex;gap:8px;padding:8px 12px;box-shadow:none;background:none;color:var(--green);border-radius:20px;font-size:10px;letter-spacing:0}
.motion-toggle--footer:hover{background:#e9eadf}.motion-toggle--footer .motion-symbol{font-size:14px;min-width:12px}
.motion-paused .hero-photo{transform:scale(1.08)}
.motion-paused .image-tilt{transform:none}
.motion-paused::view-transition-old(root),.motion-paused::view-transition-new(root){animation:none!important}
.motion-paused .reveal{opacity:1;translate:0 0}
.motion-paused .button:hover{transform:none}
@media(max-width:1100px){.desktop-nav{gap:22px}.header-inner{gap:20px}.button{font-size:13px}.button-small{font-size:11px}.hero-actions .button{padding:13px 14px 13px 18px}.page-hero h1{font-size:clamp(55px,7.2vw,78px)}}
@media(max-width:850px){.desktop-nav{gap:16px}.desktop-nav>a:last-child{display:block}.header-order{padding:8px 9px 8px 13px;gap:9px;font-size:10px}.header-order>.icon{width:24px;height:24px}.page-hero h1{font-size:58px}}
@media(max-width:680px){.header-inner{height:77px}.header-order{padding:8px 8px 8px 12px;min-height:42px;font-size:10px;gap:10px}.header-order>.icon{width:25px;height:25px;padding:5px}.mobile-nav{position:absolute;left:0;right:0;top:77px;max-height:calc(100dvh - 90px);overflow:auto;padding:16px 24px 22px;box-shadow:0 20px 40px #252b2525;animation:dropdown-in .3s var(--ease-out) both;border-bottom:1px solid var(--line)}.mobile-nav>a{display:flex;align-items:center;font-size:23px;padding:16px 0;letter-spacing:-.6px;border-bottom:1px solid var(--line);gap:18px;animation:mobile-link-in .35s var(--ease-out) both;animation-delay:calc(var(--item-index,0)*.035s)}.mobile-nav>a small{font-size:9px;letter-spacing:.3px;color:var(--red)}.mobile-nav>a>span{margin-left:auto;font-size:21px}.mobile-nav>a[aria-current=page]{color:var(--red)}.mobile-nav-bottom{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);padding-top:20px;gap:15px}.mobile-nav-bottom a{font-size:10px;padding:0}.hero-actions .button{min-width:165px;min-height:55px;padding:11px 12px 11px 17px}.button>.icon{width:29px;height:29px;padding:6px}.button-small>.icon{width:25px;height:25px;padding:5px}.hero-actions .text-link{font-size:10px;gap:9px}.page-hero h1{font-size:clamp(49px,12.5vw,72px);letter-spacing:-2px}.page-hero h1 em{letter-spacing:-1.5px}.page-hero .eyebrow{font-size:8px}.breadcrumb{font-size:9px;margin-bottom:25px}.mobile-order{left:16px;right:16px;bottom:12px;border:1px solid #a52a20;min-height:55px;padding:11px 13px 11px 20px;transition:transform .4s var(--ease-out),box-shadow .25s}.mobile-order:hover{transform:translateY(100px)}.mobile-order.shown:hover{transform:translateY(-2px)}.footer-controls{font-size:7px;letter-spacing:.9px;padding-bottom:20px}.motion-toggle--footer{font-size:9px;padding:8px 10px;gap:6px}}
@keyframes mobile-link-in{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.image-tilt{transform:none}.hero-photo{transform:scale(1.08)}.button:hover,.button:active{transform:none}}
.announcement a:focus-visible,.cp-corporate a:focus-visible,.cp-bottom-cta a:focus-visible,.cp-address-card a:focus-visible,.menu-next a:focus-visible{outline-color:var(--cream)}
.button.cp-button-light:before{background:#fff}.button.cp-button-light>.icon{background:#264a3e12}.button.cp-button-light:hover>.icon{background:#264a3e22}
.button.menu-outline:before{background:var(--green)}.button.menu-outline>.icon{background:#264a3e12}.button.menu-outline:hover>.icon{background:#ffffff22}
.mobile-order{visibility:hidden}.mobile-order.shown{visibility:visible}.mobile-menu-open .mobile-order,body:has(dialog[open]) .mobile-order{visibility:hidden;pointer-events:none}
.menu-navigation{top:96px}@media(max-width:680px){.menu-navigation{top:77px}}
.motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important}
.header-order{white-space:nowrap;flex-shrink:0}@media(max-width:360px){.header-inner{gap:10px}.logo span{font-size:5px;letter-spacing:.5px}}
