/* Extra botanical illustrations across the full visitor experience. */
.hero-copy,.menu,.story,.island-gallery,.journal-home,.visit,.faq,.service-directory,footer,.journal-intro,.journal-all,.article-heading,.article-layout,.research-content{
 background-image:url('assets/botanical-repeat.svg');background-repeat:repeat-y;background-size:max(100%,1000px) auto;background-position:center top;
}
.hero-copy{background-image:url('assets/botanical-repeat.svg'),linear-gradient(140deg,#f3d69e,#ebbb7b);background-size:850px auto,auto;background-position:65% top,center;background-repeat:repeat-y,no-repeat}
.catering-copy,.last-call,.article-bottom-cta{background-image:url('assets/botanical-repeat-gold.svg');background-size:1000px auto;background-position:70% 40%;background-repeat:repeat-y}
header{background-image:url('assets/botanical-repeat.svg');background-size:1100px auto;background-position:45% 25%}
.hero-copy:before{opacity:.15}.menu:before{opacity:.14}.story:before{opacity:.20}.visit:before{opacity:.15}.faq:before{opacity:.12}.island-gallery:before{opacity:.15}.journal-home:before{opacity:.15}.service-directory:before{opacity:.15}.botanical-surface:before{opacity:.15}
/* Oval island signs: a restrained wood grain, crisp edges, and no shadows. */
.button,.text-link,.nav-toggle,.menu-tabs button,.occasion-buttons button,.mobile-order>a:not(.button){
 position:relative;border-radius:999px;box-shadow:none!important;filter:none;background-color:#d9ad72;background-image:url('assets/island-woodgrain.svg');background-size:360px 90px;color:#164c3c;border:1px solid #876438;transform:none;
}
.button{padding:14px 28px;gap:22px;font-weight:700}
.button:before{content:'';position:absolute;inset:4px;border:1px solid #86613a66;border-radius:inherit;pointer-events:none}
.button span{background:#62c5c8;color:#164b3e;transform:none;width:27px;height:27px;min-width:27px}
.button.small{border-radius:999px;padding:11px 24px}
.button.gold{background-color:#e9c181;border-color:#93713e;color:#164c3c;box-shadow:none!important}
.button.gold span{background:#246a59;color:#f3d49a}
.text-link{padding:11px 23px;border-width:1px;letter-spacing:.1px;font-weight:600}
.button:hover,.button.gold:hover,.text-link:hover,.nav-toggle:hover,.menu-tabs button:hover,.occasion-buttons button:hover{background-color:#eac58e;box-shadow:none!important;transform:none;filter:none}
.button:active,.button.gold:active,.text-link:active{background-color:#cf9b60;box-shadow:none!important;transform:none}
.menu-tabs button{padding:11px 23px;background-color:#dfbb85}
.menu-tabs button[aria-selected=true],.menu-tabs button[aria-selected=true]:hover{background-color:#276956;color:#f5dba7;border-color:#174b3d;box-shadow:none!important}
.occasion-buttons button{background-color:#cda36c;color:#123f37;border-color:#e2bb80}
.occasion-buttons button.active{background-color:#efcd91;color:#123f37;border-color:#f1d6a2}
.nav-toggle{padding:9px 19px;border-radius:999px}
.mobile-order{box-shadow:none}.mobile-order .button{box-shadow:none!important;border-radius:999px}
.mobile-order>a:not(.button){border-radius:999px;background-color:#dfbb85}
.journal-card-copy>.text-link{padding:10px 20px}
@media(max-width:760px){
 .hero-copy,.menu,.story,.island-gallery,.journal-home,.visit,.faq,.service-directory,footer,.journal-intro,.journal-all,.article-heading,.article-layout,.research-content{background-size:800px auto;background-position:35% top}
 .hero-copy{background-image:url('assets/botanical-repeat.svg'),linear-gradient(140deg,#f3d69e,#ebbb7b);background-size:800px auto,auto;background-position:35% top,center}
 .catering-copy,.last-call,.article-bottom-cta{background-size:850px auto;background-position:45% 45%}
 header{background-size:850px auto;background-position:35% 23%}
 .hero .button{padding:12px 24px}.hero .text-link{padding:11px 22px}.button.small{padding:11px 22px}.menu-tabs button{padding:10px 17px}.occasion-buttons button{padding:9px 16px}.mobile-order .button{padding:11px 17px}.mobile-order>a:not(.button){padding:9px 17px}
}

/* Mobile polish: vector sunbursts and a quieter arrow treatment. */
.island-sun{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none}
.sun{display:inline-flex;align-items:center;justify-content:center;flex:none}
.button:not(.gold)>span{background:transparent}
@media(max-width:760px){
 .hero{grid-template-columns:minmax(0,1fr)}
 .hero-copy{min-width:0}
 .hero h1{font-size:clamp(46px,14.5vw,92px);line-height:1.02;white-space:nowrap}
 .hero h1 br:last-of-type{display:initial}
 .hero .eyebrow{gap:10px;letter-spacing:1px}
 .hero .actions{align-items:flex-start;gap:14px}
 .hero .button{max-width:100%;gap:16px}
 .hero-visual{width:100%;min-width:0;height:clamp(300px,82vw,500px);min-height:0;aspect-ratio:auto}
 .mobile-order{gap:12px;padding:10px 6% calc(10px + env(safe-area-inset-bottom,0px))}
 .mobile-order>a.button{height:44px;min-height:44px;padding:10px 14px;line-height:1;font-size:12px;white-space:nowrap;min-width:0}
 .mobile-order>.mobile-catering{flex:0 0 36%;background-color:#dfbb85}
}
@media(max-width:380px){
 header .brand img{width:56px;height:50px}
 header .brand{gap:8px}
 header .brand>span{font-size:10px}
 header .brand strong{font-size:19px}
 header .nav-toggle{padding:9px 14px;gap:10px;font-size:11px}
 header .nav-toggle span{font-size:17px}
}

/* On phones, the photograph becomes the entire hero canvas. */
@media(max-width:760px){
 .hero{position:relative;isolation:isolate;min-height:620px}
 .hero-copy{grid-area:1/1;z-index:2;background:none;color:#fff1d6;padding:34px 7% 62px;display:flex;flex-direction:column;justify-content:center;overflow:visible}
 .hero-copy:before{display:none}
 .hero h1{color:#fff1d6}
 .hero h1 em{color:#f4ca82}
 .hero .eyebrow,.hero .sun{color:#f4ca82}
 .hero-desc,.hero-foot{color:#fff1d6}
 .hero-visual{grid-area:1/1;position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;z-index:0;background:none}
 .hero-photo{object-position:57% center}
 .hero-visual:after{inset:0;background:linear-gradient(90deg,rgba(8,38,32,.82),rgba(8,38,32,.42)),linear-gradient(0deg,rgba(8,38,32,.48),transparent 60%)}
 .hero .photo-label,.hero .seal{display:none}
 .hero .photo-caption{font-size:8px;color:#fff1d6;left:7%;bottom:17px;z-index:1}
}
