/* ÖND rebuild — components added on top of the original compiled stylesheet */
:root{--ink:#171618;--ink2:#2a2520;--mute:#5a5047;--mute2:#9a8b78;--sand:#d6c1a8;--sea:#729398;--terra:#9a564b;--cream:#faf7f2;--alt:#f0ebe2;--serif:var(--font-cormorant),'Cormorant Garamond',Georgia,serif}
html{scroll-padding-top:120px}
.o-wrap{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media(min-width:1024px){.o-wrap{padding:0 3rem}}
.o-narrow{max-width:56rem}
.o-serif{font-family:var(--serif);font-weight:400}
.o-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--cream);padding:.75rem 1rem}
.o-skip:focus{left:1rem;top:1rem}
/* header */
.o-header{position:fixed;inset:0 0 auto 0;z-index:50}
.o-topbar{background:var(--ink);text-align:center;padding:.375rem 0}
.o-topbar a{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:rgba(214,193,168,.7);transition:color .2s}
.o-topbar a:hover{color:var(--sand)}
.o-bar{background:rgba(250,247,242,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(214,193,168,.2)}
.o-bar-in{display:flex;align-items:center;justify-content:space-between;height:5rem;gap:1.5rem}
.o-logo{display:flex;align-items:center;gap:.75rem;color:var(--ink);flex-shrink:0}
.o-logo-text{display:flex;flex-direction:column}
.o-logo-word{font-family:var(--serif);font-size:1.5rem;letter-spacing:.3em;line-height:1.2}
.o-logo-sub{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--mute2)}
.o-nav{display:none}
@media(min-width:1180px){.o-nav{display:block}}
.o-nav-list{display:flex;align-items:center;gap:1.75rem;list-style:none;margin:0;padding:0}
.o-nav-link{display:flex;align-items:center;gap:.35rem;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);background:none;border:0;padding:.5rem 0;cursor:pointer;white-space:nowrap;transition:color .2s;font-family:inherit}
.o-nav-link:hover,.o-nav-link[aria-current],.o-has-sub.is-active>.o-nav-link{color:var(--ink)}
.o-nav-link[aria-current]{box-shadow:inset 0 -1px 0 var(--sand)}
.o-nav-link svg{width:9px;height:6px;transition:transform .2s}
.o-has-sub{position:relative}
.o-sub{position:absolute;left:-1.25rem;top:100%;min-width:15rem;list-style:none;margin:0;padding:.75rem 0;background:var(--cream);border:1px solid rgba(214,193,168,.35);box-shadow:0 18px 40px -20px rgba(23,22,24,.25);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.o-has-sub:hover .o-sub,.o-has-sub:focus-within .o-sub,.o-has-sub.open .o-sub{opacity:1;visibility:visible;transform:none}
.o-has-sub:hover .o-nav-link svg,.o-has-sub.open .o-nav-link svg{transform:rotate(180deg)}
.o-sub a{display:block;padding:.6rem 1.25rem;font-size:12px;letter-spacing:.06em;color:var(--mute);transition:background .2s,color .2s}
.o-sub a:hover,.o-sub a[aria-current]{background:var(--alt);color:var(--ink)}
.o-actions{display:flex;align-items:center;gap:.75rem}
.o-btn,.o-btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.4rem;font-size:10px;letter-spacing:.25em;text-transform:uppercase;transition:all .3s;white-space:nowrap}
.o-btn{background:var(--ink);color:var(--cream);border:1px solid var(--ink)}
.o-btn:hover{background:var(--ink2)}
.o-btn-ghost{border:1px solid rgba(214,193,168,.6);color:var(--ink)}
.o-btn-ghost:hover{border-color:var(--sand);background:rgba(214,193,168,.12)}
.o-actions .o-btn-ghost{display:none}
@media(min-width:1180px){.o-actions .o-btn-ghost{display:inline-flex}}
@media(max-width:480px){.o-actions .o-btn{padding:.7rem 1rem}}
.o-burger{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:0;cursor:pointer;padding:10px}
.o-burger span{display:block;height:1px;background:var(--ink);transition:transform .3s}
.o-burger[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.o-burger[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media(min-width:1180px){.o-burger{display:none}}
.o-drawer{background:var(--cream);border-bottom:1px solid rgba(214,193,168,.35);max-height:calc(100vh - 108px);overflow:auto}
.o-drawer ul{list-style:none;margin:0;padding:0}
.o-drawer>nav>ul{padding:1rem 1.5rem 2rem}
.o-drawer a{display:block;padding:.8rem 0;font-family:var(--serif);font-size:1.35rem;color:var(--ink);border-bottom:1px solid rgba(214,193,168,.2)}
.o-d-group>span{display:block;padding:1.25rem 0 .25rem;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--sea)}
.o-d-group ul a{font-size:1.1rem;padding-left:.75rem}
.o-d-cta{margin-top:1rem;text-align:center;background:var(--ink);color:var(--cream)!important;font-family:inherit!important;font-size:11px!important;letter-spacing:.25em;text-transform:uppercase;padding:1rem!important}
@media(min-width:1180px){.o-drawer{display:none!important}}
/* breadcrumbs */
.o-crumbs{margin:0 0 1.75rem}
.o-crumbs ol{display:flex;flex-wrap:wrap;gap:.35rem .6rem;list-style:none;margin:0;padding:0;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute2)}
.o-crumbs li{display:flex;align-items:center;gap:.6rem}
.o-crumbs li+li:before{content:"";width:14px;height:1px;background:var(--sand)}
.o-crumbs a{color:var(--mute);transition:color .2s}
.o-crumbs a:hover{color:var(--ink)}
.o-crumbs [aria-current]{color:var(--mute2);max-width:38ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-center .o-crumbs ol{justify-content:center}
/* shared text */
.o-eyebrow{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--sea);margin:0 0 1rem}
.o-h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.1;letter-spacing:.02em;color:var(--ink);margin:0 0 1.75rem}
.o-rule{width:4rem;height:1px;background:var(--sand);margin:0 0 1.75rem}
.o-lede{font-size:1.05rem;line-height:1.8;color:var(--mute);max-width:44rem;margin:0}
.o-link{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--sand);padding-bottom:.25rem;transition:border-color .2s}
.o-link:hover{border-color:var(--ink)}
/* topic chips */
.o-topics{margin-top:2.5rem}
.o-topics ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.o-topics a{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);border:1px solid rgba(214,193,168,.45);transition:all .2s}
.o-topics a span{color:var(--mute2);font-size:9px}
.o-topics a:hover{border-color:var(--sand);color:var(--ink)}
.o-topics a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.o-topics a[aria-current] span{color:var(--sand)}
/* cards */
.o-grid3{display:grid;gap:3rem 2rem;grid-template-columns:1fr}
@media(min-width:720px){.o-grid3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.o-grid3{grid-template-columns:repeat(3,1fr)}}
.o-card-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--alt)}
.o-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.o-card:hover .o-card-img img{transform:scale(1.04)}
.o-card-body{padding-top:1.25rem}
.o-card-meta{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute2);margin:0 0 .75rem}
.o-card-meta a{color:var(--sea)}
.o-card-title{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.3;color:var(--ink);margin:0 0 .75rem}
.o-card-title a:hover{color:var(--mute)}
.o-card-desc{font-size:.875rem;line-height:1.7;color:var(--mute);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.o-related,.o-archive{padding:6rem 0;background:var(--cream);border-top:1px solid rgba(214,193,168,.25)}
.o-archive{background:var(--alt)}
.o-related-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;margin-bottom:3rem}
.o-related-head .o-eyebrow{width:100%;margin:0}
.o-related-head h2{font-size:clamp(1.9rem,3.5vw,2.6rem);color:var(--ink);margin:0}
/* hubs */
.o-hub-hero{padding:10rem 0 3.5rem;background:var(--cream)}
.o-hub-list{padding:3rem 0 7rem;background:var(--cream)}
.o-feature{display:grid;gap:2.5rem;align-items:center;margin-bottom:5rem;padding-bottom:5rem;border-bottom:1px solid rgba(214,193,168,.3)}
@media(min-width:1024px){.o-feature{grid-template-columns:1.2fr 1fr;gap:4rem}}
.o-feature-img{display:block;aspect-ratio:4/3;overflow:hidden}
.o-feature-img img{width:100%;height:100%;object-fit:cover}
.o-feature h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;color:var(--ink);margin:0 0 1.25rem}
.o-feature p{color:var(--mute);line-height:1.8;margin:0 0 2rem}
.o-hub-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;margin-top:5rem;padding-top:3rem;border-top:1px solid rgba(214,193,168,.3)}
.o-hub-cta p{width:100%;text-align:center;font-family:var(--serif);font-size:1.4rem;color:var(--ink);margin:0 0 .5rem}
/* forms */
.o-form-status{font-size:.85rem;line-height:1.6;margin:1rem 0 0;color:var(--mute)}
.o-form-status.ok{color:#3f6b5a}
.o-form-status.err{color:var(--terra)}
.o-form-status a{text-decoration:underline}
form.is-sent{opacity:.55;pointer-events:none}
[data-hidden]{display:none!important}
:focus-visible{outline:1px solid var(--sea);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(max-width:640px){.o-topbar a{letter-spacing:.2em;font-size:8.5px}.o-crumbs li[aria-current]{display:none}}
@media(max-width:767px){.o-home-hero{padding-top:9rem;padding-bottom:4rem;align-items:flex-start}.o-scrollcue{display:none!important}}
/* original toolbar */
.o-header nav a[aria-current]{color:#171618}
.o-sub-right{left:auto;right:-1rem;min-width:11rem}
.o-burger.o-orig{display:inline-flex;width:auto;height:auto;padding:.5rem}
@media(min-width:1180px) and (max-width:1279px){.o-drawer{display:block!important}.o-drawer[hidden]{display:none!important}}
.o-header nav[aria-label=Primary]>a,.o-header nav[aria-label=Primary] button,.o-header a.flex-col span{white-space:nowrap}
@media(min-width:1280px){.o-header nav[aria-label=Primary]{gap:.55rem}.o-header nav[aria-label=Primary]>a:not(.relative),.o-header nav[aria-label=Primary] button{letter-spacing:.05em}.o-header nav[aria-label=Primary]>a.relative{padding-left:1rem;padding-right:1rem;margin-left:.25rem}.o-header .max-w-7xl{padding-left:2rem;padding-right:2rem}}

/* click-to-call bar (mobile) */
.ond-call-bar{display:none}
@media (max-width:768px){
 .ond-call-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#171618;border-top:1px solid #d6c1a8;padding-bottom:env(safe-area-inset-bottom)}
 .ond-call-bar a{flex:1;text-align:center;padding:.95rem .5rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}
 .ond-call-bar .ocb-call{background:#d6c1a8;color:#171618}
 .ond-call-bar .ocb-enquire{color:#faf7f2}
 body.has-ond-call-bar{padding-bottom:3.3rem}
}

/* Nine Pillars photos */
.o-pillar-img img { transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
.group:hover .o-pillar-img img { transform: scale(1.045); }
.o-pillar-img + span, .group > span.absolute { z-index: 2; }
.group > .o-pillar-img ~ span.absolute { top: 14px !important; right: 18px !important; opacity: 0.95 !important; color: #faf7f2 !important; font-size: 2rem !important; line-height: 1; text-shadow: 0 1px 10px rgba(0,0,0,0.35); }

/* Where ÖND Is Commissioned — destination photos */
.o-place-img img { transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
.o-place:hover .o-place-img img { transform: scale(1.045); }
@media (min-width: 768px) { .o-place-wide { grid-column: span 2 / span 2; } }
@media (max-width: 767px) { .o-place-wide .o-place-img { aspect-ratio: 4/3 !important; } }
