:root{--cream:#f6f3ec;--ink:#303831;--slate:#363f49;--gold:#a57527;--muted:#65675e;--line:#d8d5cb;--radius:22px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;object-fit:cover}
a{color:inherit;text-underline-offset:5px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b4822e;outline-offset:5px}
p{margin:0 0 1.3em}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.045em;margin:0}
h1{font-size:clamp(3.2rem,6.65vw,6.8rem)}
h2{font-size:clamp(2.35rem,4.1vw,4rem)}
h3{font-size:2.3rem}
em{font-weight:400;color:var(--gold)}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:25px;line-height:1.6}
.site-header{background:var(--slate);color:#f6f3ec}
.nav-wrap{width:min(1280px,calc(100% - 112px));margin:auto;min-height:101px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0;height:63px}
.brand-icon{width:43px;height:51px;overflow:hidden;display:block;position:relative}
.brand-icon img{max-width:none;width:66px;height:54px;object-fit:fill;position:absolute;left:-12px;top:0}
.wordmark{position:relative;width:138px;height:31px;overflow:hidden;display:block}
.wordmark img{max-width:none;width:258px;height:258px;position:absolute;left:-57px;top:-159px;object-fit:fill}
.site-header nav{display:flex;gap:37px;align-items:center}
.site-header nav a{font-size:.86rem;text-decoration:none;padding:12px 0;position:relative}
.site-header nav a[aria-current=page]:after,.site-header nav a:hover:after{content:'';position:absolute;height:1px;bottom:6px;left:0;right:0;background:#d1a154}
.nav-toggle{display:none}
.skip{position:fixed;top:-100px;left:12px;padding:10px 20px;background:white;z-index:20}
.skip:focus{top:12px}
.home-hero{padding-top:72px}
.hero-title .eyebrow{color:var(--muted)}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin:33px 0 44px}
.hero-bottom>p{max-width:730px;font-size:1.05rem;margin:0;line-height:1.7}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;text-decoration:none;border-bottom:1px solid var(--ink);padding:9px 0;font-size:.91rem;white-space:nowrap}
.text-link span{font-size:1.35rem;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
figure{margin:0}
.hero-image{position:relative;overflow:hidden;border-radius:var(--radius)}
.hero-image>img{width:100%;height:clamp(360px,40vw,535px);object-position:center 55%}
.hero-image figcaption{position:absolute;bottom:24px;left:28px;color:white;font:italic 1.55rem var(--serif);background:#202723b3;padding:7px 12px}
.image-tag{position:absolute;right:28px;bottom:34px;color:white;font-size:.73rem;letter-spacing:.15em;text-transform:uppercase;background:#202723b3;padding:6px 10px}
.principles{padding-block:112px}
.section-intro{display:grid;grid-template-columns:1fr 2.1fr;column-gap:50px;margin-bottom:55px}
.section-intro .eyebrow{grid-row:span 2;margin-top:8px}
.section-intro>p:last-child{grid-column:2;margin-top:22px;color:var(--muted)}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.number{color:var(--gold);font-size:.85rem;letter-spacing:.1em}
.principle-grid .number{display:block;border-top:1px solid var(--line);padding:15px 0}
.principle-grid img{width:100%;height:285px;margin-bottom:26px;border-radius:18px}
.principle-grid h3{margin-bottom:17px}
.principle-grid p{font-size:1rem;color:var(--muted);max-width:335px;margin:0}
.beyond{background:#eae6dc;padding:100px 0}
.beyond-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:90px;align-items:center}
.beyond h2{margin-bottom:28px}
.beyond p:not(.eyebrow){max-width:415px;color:var(--muted)}
.photo-pair{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;align-items:end}
.photo-pair img:first-child{height:415px;width:100%;border-radius:var(--radius)}
.photo-pair img:last-child{height:285px;width:100%;margin-bottom:40px;border-radius:18px}
.pineapple-teaser{padding-block:110px;display:grid;grid-template-columns:1fr 1.25fr;gap:110px;align-items:center}
.mark-panel{background:var(--slate);min-height:360px;display:grid;place-items:center;border-radius:var(--radius)}
.mark-panel img{width:70%;height:auto;object-fit:contain}
.pineapple-teaser h2{margin-bottom:26px}
.pineapple-teaser p:not(.eyebrow){max-width:440px;color:var(--muted)}
footer{background:var(--slate);color:var(--cream);padding:60px max(56px,calc((100% - 1280px)/2)) 24px}
.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:45px;align-items:flex-start}
.footer-top>p{font:1.7rem/1.25 var(--serif)}
footer em{color:#d4b578}
footer nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px}
footer nav a{font-size:.88rem;text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #657079;padding-top:22px;font-size:.78rem;color:#c9cdd0}
.page-heading{padding-block:80px 55px}
.about-photo img{width:100%;height:480px;object-position:center 45%;border-radius:var(--radius)}
.caption{font-size:.8rem;margin:10px 0;color:var(--muted)}
.story-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:100px;padding-block:100px}
.story-layout aside h2{font-size:2.8rem}
.prose{font-size:1.12rem;line-height:1.85}
.story-layout .prose p:first-child{font:1.7rem/1.5 var(--serif)}
.story-layout .prose p:last-child{font:italic 2.2rem/1.3 var(--serif);color:var(--gold)}
.values{padding-bottom:40px}
.value-row{display:grid;grid-template-columns:50px 1.2fr 1fr;gap:40px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}
.value-row h2{font-size:2.25rem}
.value-row p{margin:0;font-size:1rem;color:var(--muted)}
.closing{padding-block:75px 110px;display:flex;justify-content:space-between;gap:40px;align-items:center}
.article-heading{padding-block:75px 65px;border-bottom:1px solid var(--line)}
.article-heading h1{font-size:clamp(3.2rem,6.4vw,6.5rem)}
.article-deck{max-width:600px;font-size:1.2rem;line-height:1.65;margin:32px 0 24px}
.byline{font-size:.8rem;color:var(--muted);margin:0}
.article-layout{display:grid;grid-template-columns:260px minmax(0,740px);gap:95px;padding-top:65px;padding-bottom:100px;justify-content:space-between}
.contents{align-self:start;position:sticky;top:35px}
.contents nav{display:flex;flex-direction:column;gap:12px}
.contents nav a{text-decoration:none;font-size:.88rem}
.contents nav a:hover{text-decoration:underline}
.contents img{margin-top:40px;width:140px;height:auto}
.article-body section{padding-bottom:50px;scroll-margin-top:32px}
.article-body h2{font-size:2.65rem;margin:0 0 27px}
.article-body h3{font-size:1.6rem;letter-spacing:-.025em;margin:0 0 14px}
.article-body .eyebrow{margin-bottom:17px;color:var(--gold)}
.article-body p{margin-bottom:22px}
.article-body .lead{font:1.5rem/1.6 var(--serif)}
.article-body a{color:#765219}
.history-note{border-left:2px solid #b38a43;padding-left:25px;margin-block:30px}
.hospitality-credo{margin:36px 0 10px;padding:34px 38px;border-radius:var(--radius);background:var(--slate);color:var(--cream)}
.hospitality-credo p{margin:0;font:italic 1.7rem/1.45 var(--serif)}
.hospitality-credo-light{background:#e8e0d1;color:var(--ink);border:1px solid #d8cbb5}
.sources{border-top:1px solid var(--line);padding-top:35px;font-size:.92rem}
.sources h2{font-size:1.65rem}
.sources ol{padding-left:22px}
.sources li{margin-bottom:15px}
details{border-top:1px solid var(--line);padding:20px 0;font-size:1rem}
summary{cursor:pointer;font-weight:600;line-height:1.5;padding-right:15px}
details p{margin:20px 0 0!important}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:110px;padding-block:80px 100px}
.contact-intro h1{font-size:clamp(3.2rem,4.8vw,5rem)}
.contact-intro>p:not(.eyebrow){font-size:1.1rem;max-width:370px;margin:32px 0}
.contact-intro img{width:100%;height:310px;margin-top:50px;border-radius:var(--radius)}
.contact-form{padding-top:8px}
.contact-form h2{font-size:2.3rem;margin-bottom:20px}
.form-intro{font-size:1rem;color:var(--muted)}
.field{margin-top:23px}
label{display:block;font-size:.9rem;margin-bottom:8px}
label span{font-size:.8rem;color:var(--muted);margin-left:4px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #b9bbb2;border-radius:2px;background:#fdfbf6;color:var(--ink);min-height:49px}
textarea{resize:vertical}
.honey{display:none}
.button{width:100%;background:var(--slate);color:var(--cream);border:0;padding:17px 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.95rem;transition:background .2s}
.button:hover{background:#4b5661}
.form-privacy{font-size:.78rem;line-height:1.6;color:var(--muted);margin:20px 0}
.form-fallback{font-size:.85rem;margin-top:22px}
.hero-title{animation:arrive .6s ease-out both}
@keyframes arrive{from{opacity:.6;transform:translateY(12px)}
to{opacity:1;transform:translateY(0)}
}

@media(min-width:1600px){.home-hero h1{font-size:7.3rem}
}
@media(max-width:1050px){.wrap,.nav-wrap{width:calc(100% - 64px)}
.hero-bottom{gap:40px}
.hero-bottom p{max-width:65%}
.principle-grid{gap:24px}
.principle-grid img{height:230px}
.beyond-grid{gap:45px}
.pineapple-teaser{gap:60px}
.contact-layout{gap:55px}
.article-layout{grid-template-columns:200px minmax(0,1fr);gap:50px}
.story-layout{gap:55px}
footer{padding-inline:32px}
.value-row{gap:25px;grid-template-columns:35px 1.2fr 1fr}
}

@media(max-width:760px){.wrap,.nav-wrap{width:calc(100% - 40px)}
.nav-wrap{min-height:86px;flex-wrap:wrap;gap:0}
.brand{transform:scale(.9);transform-origin:left center}
.nav-toggle{display:flex;gap:14px;align-items:center;background:none;border:1px solid #74808b;border-radius:2px;color:inherit;font-size:.85rem;padding:8px 12px;min-height:44px}
.site-header nav{display:none;width:100%;padding:8px 0 24px;gap:0;flex-direction:column;align-items:stretch}
.site-header nav.open{display:flex}
.site-header nav a{padding:13px 0;border-top:1px solid #56616a}
.site-header nav a[aria-current=page]:after,.site-header nav a:hover:after{display:none}
.site-header nav a[aria-current=page]{color:#e6c288}
.home-hero{padding-top:46px}
h1{font-size:clamp(2.8rem,8.8vw,4.9rem);letter-spacing:-.05em}
.eyebrow{font-size:.73rem;margin-bottom:20px}
.hero-bottom{display:block;margin:25px 0 30px}
.hero-bottom p{max-width:none;font-size:1rem}
.hero-bottom .text-link{margin-top:15px}
.hero-image>img{height:380px;object-position:58% center}
.hero-image figcaption{left:15px;bottom:16px;font-size:1.15rem;max-width:calc(100% - 30px)}
.image-tag{display:none}
.principles{padding-block:65px}
.section-intro{display:block;margin-bottom:32px}
.section-intro>p:last-child{font-size:.95rem;margin-top:22px}
.principle-grid{grid-template-columns:1fr;gap:45px}
.principle-grid article{display:grid;grid-template-columns:1fr 1fr;gap:0 23px}
.principle-grid .number{grid-column:1/-1}
.principle-grid img{grid-row:span 2;height:220px;margin:0}
.principle-grid h3{font-size:2rem;align-self:end;margin-bottom:15px}
.principle-grid p{font-size:.93rem}
.beyond{padding-block:60px}
.beyond-grid{grid-template-columns:1fr;gap:40px}
.photo-pair img:first-child{height:310px}
.photo-pair img:last-child{height:230px;margin-bottom:22px}
.pineapple-teaser{grid-template-columns:1fr;gap:35px;padding-block:65px}
.mark-panel{min-height:240px}
.mark-panel img{width:200px}
.pineapple-teaser h2{font-size:2.6rem}
.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.footer-top .brand{grid-column:1/-1}
.footer-top>p{font-size:1.4rem}
.footer-top nav{display:flex;flex-direction:column;gap:9px}
.footer-bottom{font-size:.75rem;gap:18px}
footer{padding:38px 20px 22px}
.page-heading{padding-block:48px 35px}
.about-photo img{height:330px}
.story-layout{display:block;padding-block:55px}
.story-layout aside{margin-bottom:30px}
.story-layout aside h2{font-size:2.4rem}
.prose{font-size:1.02rem}
.value-row{grid-template-columns:30px 1fr;gap:12px 17px;padding-block:25px}
.value-row h2{font-size:1.85rem}
.value-row p{grid-column:2;font-size:.95rem}
.closing{display:block;padding-block:45px 65px}
.closing .text-link{margin-top:20px}
.article-heading{padding-block:45px 35px}
.article-heading h1{font-size:clamp(2.75rem,9.5vw,4.8rem)}
.article-deck{font-size:1.05rem;margin-top:25px}
.article-layout{display:block;padding-block:30px 50px}
.contents{position:static;border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:38px}
.contents nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.contents img{display:none}
.article-body h2{font-size:2.15rem}
.article-body section{padding-bottom:35px}
.article-body .lead{font-size:1.3rem}
.hospitality-credo{padding:26px 24px;border-radius:16px}
.hospitality-credo p{font-size:1.45rem}
.contact-layout{display:block;padding-block:45px 65px}
.contact-intro h1{font-size:3.45rem}
.contact-intro img{height:220px;margin-top:25px}
.contact-form{margin-top:48px}
.contact-form h2{font-size:2rem}
}

@media(max-width:400px){.principle-grid article{display:block}
.principle-grid img{width:100%;height:230px;margin-bottom:22px}
.contact-intro h1{font-size:2.9rem}
.footer-bottom{flex-direction:column;gap:6px}
.hero-image>img{height:310px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}
