/* Nomadeer Editorial Homepage — scoped to the replacement front-page shell. */
:root { --nm-ink:#202623; --nm-muted:#626b65; --nm-orange:#f4511e; --nm-paper:#fff; --nm-warm:#f7f5ef; --nm-line:#e8e8e2; --nm-green:#244039; }
html { scroll-behavior: smooth; }
body.nm-home-body { margin:0; padding:0; background:#fff; }
#nm-page, #nm-page * { box-sizing:border-box; }
#nm-page { font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--nm-ink); background:var(--nm-paper); font-size:16px; font-weight:400; line-height:1.5; -webkit-font-smoothing:antialiased; }
#nm-page a { color:inherit; text-decoration:none; }
#nm-page button, #nm-page input { font:inherit; }
#nm-page button { cursor:pointer; }
#nm-page :is(h1,h2,h3,p) { margin:0; padding:0; }
#nm-page :is(h1,h2,h3) { font-family:Manrope,'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing:-.042em; line-height:1.19; font-weight:800; }
#nm-page img { display:block; max-width:100%; height:auto; }
#nm-page :focus-visible { outline:3px solid var(--nm-orange); outline-offset:4px; }
#nm-page [hidden] { display:none !important; }
#nm-page .nm-container { width:min(100% - 64px,1250px); margin-inline:auto; }
#nm-page .nm-skip { position:absolute; z-index:200; padding:12px 20px; top:-70px; left:12px; background:#fff; color:#222; }
#nm-page .nm-skip:focus { top:10px; }

/* Header */
#nm-page .nm-topline { background:var(--nm-green); color:#f4f4ed; font-size:10px; line-height:1.3; font-weight:700; letter-spacing:.125em; }
#nm-page .nm-topline-inner { display:flex; justify-content:space-between; gap:20px; padding-block:9px; }
#nm-page .nm-header { position:sticky; top:0; z-index:99; background:rgba(255,255,255,.98); border-bottom:1px solid var(--nm-line); box-shadow:0 4px 20px rgba(21,30,24,.025); }
body.admin-bar #nm-page .nm-header { top:32px; }
#nm-page .nm-header-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; min-height:84px; }
#nm-page .nm-brand { flex-shrink:0; }
#nm-page .nm-brand-link { display:inline-flex; align-items:center; }
#nm-page .nm-brand-wordmark { color:var(--nm-orange); font-family:Manrope,'DM Sans',sans-serif; font-size:27px; font-weight:800; letter-spacing:-.065em; line-height:1; }
#nm-page .nm-brand-dot { color:var(--nm-green); }
#nm-page img.nm-brand-image { object-fit:contain; max-height:45px; width:auto; max-width:235px; }
#nm-page .nm-navigation { display:flex; align-items:center; justify-content:flex-end; margin-left:auto; }
#nm-page .nm-nav-menu { display:flex; gap:clamp(15px,2.8vw,37px); list-style:none; padding:0; margin:0; align-items:center; }
#nm-page .nm-nav-menu li { padding:0; margin:0; position:relative; list-style:none; }
#nm-page .nm-nav-menu a { font-size:12px; color:var(--nm-ink); font-weight:800; text-transform:uppercase; letter-spacing:.07em; display:block; padding-block:14px; transition:color .2s; }
#nm-page .nm-nav-menu a:hover, #nm-page .nm-nav-menu .current-menu-item>a { color:var(--nm-orange); }
#nm-page .nm-nav-menu .sub-menu { opacity:0; pointer-events:none; transform:translateY(6px); position:absolute; left:0; top:100%; background:#fff; min-width:190px; border:1px solid var(--nm-line); padding:10px 20px; margin:0; list-style:none; box-shadow:0 15px 45px rgba(0,0,0,.08); transition:opacity .15s,transform .15s; }
#nm-page .nm-nav-menu li:hover>.sub-menu, #nm-page .nm-nav-menu li:focus-within>.sub-menu { opacity:1; pointer-events:auto; transform:translateY(0); }
#nm-page .nm-header-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
#nm-page .nm-icon-button { display:inline-flex; align-items:center; justify-content:center; background:transparent; border:1px solid #dedfd9; color:var(--nm-ink); border-radius:50%; height:43px; width:43px; padding:0; transition:background .2s,border-color .2s; }
#nm-page .nm-icon-button:hover { background:var(--nm-warm); border-color:var(--nm-muted); }
#nm-page .nm-mobile-toggle { display:none; flex-direction:column; gap:5px; }
#nm-page .nm-mobile-toggle span { display:block; width:19px; height:1.7px; background:currentColor; }
#nm-page .nm-search-panel { border-top:1px solid var(--nm-line); background:#fff; }
#nm-page .nm-search-form { max-width:700px; margin:0 auto; padding:23px 24px 27px; }
#nm-page .nm-search-form label { display:block; margin:0 0 8px; font-size:12px; font-weight:700; }
#nm-page .nm-search-field { display:flex; width:100%; }
#nm-page .nm-search-field input { padding:14px 16px; min-width:0; flex:1; border:1px solid #d6d9d4; border-right:0; background:#fff; color:var(--nm-ink); border-radius:0; box-shadow:none; }
#nm-page .nm-search-field button { padding:0 23px; border:0; background:var(--nm-orange); color:#fff; font-size:13px; font-weight:800; border-radius:0; }

/* Intro */
#nm-page .nm-intro { padding-block:70px 43px; }
#nm-page .nm-intro-inner { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,.72fr); align-items:end; gap:clamp(40px,8vw,120px); }
#nm-page .nm-overline, #nm-page .nm-section-kicker { font-size:11px; font-weight:800; letter-spacing:.16em; color:var(--nm-orange); line-height:1.5; text-transform:uppercase; }
#nm-page .nm-overline { display:flex; align-items:center; gap:11px; margin-bottom:18px; }
#nm-page .nm-overline-rule { display:block; height:2px; width:26px; background:var(--nm-orange); }
#nm-page .nm-intro h1 { font-size:clamp(38px,4.5vw,67px); max-width:820px; line-height:1.11; letter-spacing:-.06em; }
#nm-page .nm-intro-side { padding-bottom:6px; }
#nm-page .nm-intro-side p { font-size:16px; line-height:1.73; color:#59615d; max-width:365px; }
#nm-page .nm-text-link { display:inline-flex; align-items:center; gap:15px; margin-top:22px; font-weight:800; color:var(--nm-orange); font-size:13px; border-bottom:1px solid currentColor; padding-bottom:5px; transition:gap .2s; }
#nm-page .nm-text-link:hover { gap:22px; }

/* Hero */
#nm-page .nm-feature-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); grid-template-rows:repeat(2,230px); gap:16px; }
#nm-page .nm-feature-lead { grid-row:1 / span 2; }
#nm-page .nm-feature-card { position:relative; background:var(--nm-green); overflow:hidden; min-height:0; border-radius:4px; }
#nm-page .nm-feature-link { display:block; height:100%; min-height:100%; position:relative; isolation:isolate; }
#nm-page .nm-feature-image { position:absolute; inset:0; overflow:hidden; z-index:-2; }
#nm-page .nm-feature-image:after { content:""; inset:0; position:absolute; background:linear-gradient(180deg,transparent 21%,rgba(7,19,15,.28) 46%,rgba(5,18,15,.91) 100%); z-index:1; }
#nm-page .nm-photo { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
#nm-page .nm-photo--fallback { display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#47665c,#183b33); color:rgba(255,255,255,.12); }
#nm-page .nm-photo--fallback span { font-size:110px; font-family:Manrope,sans-serif; font-weight:800; }
#nm-page .nm-feature-card:hover .nm-photo { transform:scale(1.045); }
#nm-page .nm-feature-copy { position:absolute; bottom:0; width:100%; z-index:1; color:#fff; padding:32px 36px 32px; }
#nm-page .nm-feature-copy h2 { color:#fff; font-size:clamp(21px,2.45vw,33px); line-height:1.24; max-width:580px; padding-right:40px; }
#nm-page .nm-feature-lead .nm-feature-copy h2 { font-size:clamp(29px,3vw,44px); }
#nm-page .nm-feature-copy p { font-size:14px; line-height:1.65; max-width:490px; opacity:.89; margin-top:13px; }
#nm-page .nm-card-eyebrow { display:inline-block; color:#f6cbb9; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.15em; margin-bottom:13px; }
#nm-page .nm-feature-arrow { position:absolute; right:28px; bottom:25px; display:flex; align-items:center; justify-content:center; height:34px; width:34px; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:18px; transition:background .2s; }
#nm-page .nm-feature-card:hover .nm-feature-arrow { background:var(--nm-orange); border-color:var(--nm-orange); }
#nm-page .nm-feature-small .nm-feature-copy { padding:23px 27px 25px; }
#nm-page .nm-feature-small .nm-card-eyebrow { margin-bottom:8px; }
#nm-page .nm-feature-small .nm-feature-copy h2 { font-size:clamp(19px,1.75vw,24px); line-height:1.25; padding-right:35px; }
#nm-page .nm-feature-small .nm-feature-arrow { width:28px; height:28px; right:20px; bottom:19px; font-size:15px; }

/* Common editorial sections */
#nm-page .nm-section { padding-block:92px 0; }
#nm-page .nm-section-heading { display:flex; gap:30px; justify-content:space-between; align-items:end; padding-bottom:31px; }
#nm-page .nm-section-kicker { margin-bottom:11px; }
#nm-page .nm-section-heading h2, #nm-page .nm-about-inner h2 { font-size:clamp(29px,3.05vw,43px); letter-spacing:-.05em; }
#nm-page .nm-orange-period { color:var(--nm-orange); }
#nm-page .nm-section-heading > p { color:var(--nm-muted); max-width:335px; font-size:14px; line-height:1.7; }

/* Destinations */
#nm-page .nm-destination-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
#nm-page .nm-destination-card { min-height:352px; aspect-ratio:3 / 4; position:relative; display:block; isolation:isolate; overflow:hidden; background:#25453d; border-radius:4px; }
#nm-page .nm-destination-card:before { position:absolute; content:""; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,0) 31%,rgba(8,27,19,.83) 100%); z-index:1; pointer-events:none; }
#nm-page .nm-destination-card .nm-photo { position:absolute; inset:0; z-index:0; }
#nm-page .nm-destination-card:hover .nm-photo { transform:scale(1.05); }
#nm-page .nm-destination-contents { z-index:2; position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; padding:24px; }
#nm-page .nm-destination-type { font-size:9px; letter-spacing:.17em; font-weight:800; opacity:.87; }
#nm-page .nm-destination-name { font-family:Manrope,'DM Sans',sans-serif; font-weight:800; letter-spacing:-.05em; font-size:clamp(23px,2.2vw,31px); padding-top:5px; line-height:1.15; }
#nm-page .nm-destination-bottom { display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,.37); margin-top:19px; padding-top:14px; font-size:12px; font-weight:600; }
#nm-page .nm-destination-bottom span { font-size:18px; }

/* Interest cards */
#nm-page .nm-interests-wrap { margin-top:96px; padding:83px 0 90px; background:var(--nm-warm); }
#nm-page .nm-interests-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#nm-page .nm-interest { background:#fff; display:flex; flex-direction:column; position:relative; min-height:235px; padding:26px 27px; border:1px solid #eeeae0; transition:transform .2s,border-color .2s,box-shadow .2s; }
#nm-page .nm-interest:hover { transform:translateY(-4px); border-color:#e9cec3; box-shadow:0 12px 28px rgba(40,43,34,.06); }
#nm-page .nm-interest-icon { width:47px; height:47px; border-radius:50%; background:#fff1eb; color:var(--nm-orange); display:flex; align-items:center; justify-content:center; margin-bottom:27px; }
#nm-page .nm-interest-icon svg { height:25px; width:25px; }
#nm-page .nm-interest-content { display:flex; flex-direction:column; gap:8px; padding-right:28px; }
#nm-page .nm-interest-content strong { font-family:Manrope,'DM Sans',sans-serif; font-size:19px; line-height:1.2; font-weight:800; letter-spacing:-.035em; }
#nm-page .nm-interest-content>span { color:var(--nm-muted); font-size:13px; line-height:1.65; }
#nm-page .nm-interest-arrow { position:absolute; right:24px; bottom:25px; color:var(--nm-orange); font-size:23px; }

/* Latest articles */
#nm-page .nm-latest { padding-block:94px 104px; }
#nm-page .nm-section-heading--line { border-bottom:1px solid var(--nm-line); margin-bottom:32px; }
#nm-page .nm-latest-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 23px; }
#nm-page .nm-latest-card { min-width:0; }
#nm-page .nm-latest-image { display:block; aspect-ratio: 3 / 2; position:relative; overflow:hidden; background:#e3e5df; border-radius:3px; }
#nm-page .nm-latest-image .nm-photo { width:100%; height:100%; }
#nm-page .nm-latest-image:hover .nm-photo { transform:scale(1.055); }
#nm-page .nm-latest-meta { display:flex; justify-content:space-between; gap:14px; margin:20px 0 10px; color:var(--nm-muted); text-transform:uppercase; font-weight:800; letter-spacing:.08em; font-size:10px; }
#nm-page .nm-latest-meta span:first-child { color:var(--nm-orange); }
#nm-page .nm-latest-card h3 { font-size:21px; line-height:1.36; letter-spacing:-.035em; }
#nm-page .nm-latest-card h3 a:hover { color:var(--nm-orange); }
#nm-page .nm-latest-card p { margin-top:10px; color:var(--nm-muted); font-size:13px; line-height:1.7; }
#nm-page .nm-read-more { display:inline-block; font-size:12px; font-weight:800; margin-top:14px; padding-bottom:5px; color:var(--nm-ink); border-bottom:1px solid var(--nm-orange); }
#nm-page .nm-read-more span { padding-left:9px; color:var(--nm-orange); }

/* About / footer */
#nm-page .nm-about-wrap { background:var(--nm-green); color:#fff; }
#nm-page .nm-about-inner { display:grid; grid-template-columns:1fr .8fr; gap:100px; padding-block:76px 82px; align-items:center; }
#nm-page .nm-about-inner .nm-section-kicker { color:#fac0a7; margin-bottom:14px; }
#nm-page .nm-about-inner h2 { color:#fff; font-size:clamp(34px,3.6vw,51px); }
#nm-page .nm-about-copy p { color:#dce7e1; font-size:15px; line-height:1.82; max-width:480px; }
#nm-page .nm-button-outline { display:inline-flex; gap:23px; align-items:center; margin-top:27px; padding:14px 20px; border:1px solid rgba(255,255,255,.6); color:#fff; font-size:12px; font-weight:800; transition:background .2s; }
#nm-page .nm-button-outline:hover { background:rgba(255,255,255,.1); }
#nm-page .nm-footer { background:#182820; color:#c3d0c9; }
#nm-page .nm-footer-top { display:grid; grid-template-columns:2.4fr 1fr 1fr; gap:50px; padding-top:68px; padding-bottom:63px; }
#nm-page .nm-footer-logo { font-family:Manrope,'DM Sans',sans-serif; font-size:28px; font-weight:800; letter-spacing:-.06em; color:#fff; }
#nm-page .nm-footer-logo span { color:var(--nm-orange); }
#nm-page .nm-footer-about p { font-size:13px; line-height:1.8; margin-top:22px; max-width:290px; }
#nm-page .nm-footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
#nm-page .nm-footer-links h2 { color:#fff; font-family:'DM Sans',sans-serif; text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:800; margin:0 0 10px; }
#nm-page .nm-footer-links a { font-size:13px; transition:color .2s; }
#nm-page .nm-footer-links a:hover { color:#fff; }
#nm-page .nm-footer-bottom { border-top:1px solid rgba(255,255,255,.14); padding-block:19px 28px; display:flex; justify-content:space-between; gap:20px; font-size:11px; color:#a0b4aa; }

@media (max-width:1050px) {
  #nm-page .nm-container { width:min(100% - 48px,1250px); }
  #nm-page .nm-intro-inner { grid-template-columns:1.4fr 1fr; gap:40px; }
  #nm-page .nm-feature-grid { grid-template-rows:repeat(2,210px); }
  #nm-page .nm-feature-copy { padding:27px; }
  #nm-page .nm-destination-card { min-height:0; aspect-ratio: .82; }
  #nm-page .nm-destination-contents { padding:18px; }
  #nm-page .nm-section-heading > p { max-width:275px; }
}
@media (max-width:820px) {
  body.admin-bar #nm-page .nm-header { top:46px; }
  #nm-page .nm-container { width:min(100% - 40px,1250px); }
  #nm-page .nm-header-inner { min-height:72px; }
  #nm-page .nm-mobile-toggle { display:flex; }
  #nm-page .nm-navigation { display:none; position:absolute; top:100%; left:0; width:100%; padding:10px 20px 22px; background:#fff; border-top:1px solid var(--nm-line); box-shadow:0 12px 22px rgba(0,0,0,.065); }
  #nm-page .nm-navigation.is-open { display:block; }
  #nm-page .nm-nav-menu { display:flex; flex-direction:column; gap:0; align-items:stretch; }
  #nm-page .nm-nav-menu>li { border-bottom:1px solid var(--nm-line); }
  #nm-page .nm-nav-menu a { padding:13px 4px; }
  #nm-page .nm-nav-menu .sub-menu { position:static; opacity:1; pointer-events:auto; transform:none; border:0; box-shadow:none; padding:0 0 10px 20px; }
  #nm-page .nm-nav-menu .sub-menu a { padding:7px; }
  #nm-page .nm-intro { padding-top:48px; }
  #nm-page .nm-intro-inner { grid-template-columns:1fr; gap:22px; }
  #nm-page .nm-intro h1 { max-width:680px; }
  #nm-page .nm-intro-side { display:flex; justify-content:space-between; gap:24px; align-items:end; }
  #nm-page .nm-intro-side p { max-width:520px; }
  #nm-page .nm-text-link { white-space:nowrap; }
  #nm-page .nm-feature-grid { grid-template-columns:1fr 1fr; grid-template-rows:330px 235px; }
  #nm-page .nm-feature-lead { grid-column:span 2; grid-row:span 1; }
  #nm-page .nm-feature-small .nm-feature-copy h2 { font-size:20px; }
  #nm-page .nm-destination-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #nm-page .nm-destination-card { aspect-ratio:4 / 3; }
  #nm-page .nm-interests-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #nm-page .nm-interest { padding:22px 18px; min-height:250px; }
  #nm-page .nm-interest-content strong { font-size:17px; }
  #nm-page .nm-latest-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #nm-page .nm-about-inner { gap:30px; }
}
@media (max-width:610px) {
  #nm-page .nm-container { width:min(100% - 32px,1250px); }
  #nm-page .nm-topline-inner { justify-content:center; }
  #nm-page .nm-topline-inner span:last-child { display:none; }
  #nm-page .nm-header-inner { min-height:65px; gap:13px; }
  #nm-page .nm-brand-wordmark { font-size:24px; }
  #nm-page img.nm-brand-image { max-width:185px; max-height:38px; }
  #nm-page .nm-icon-button { height:37px; width:37px; }
  #nm-page .nm-header-actions { gap:5px; }
  #nm-page .nm-intro { padding-block:44px 29px; }
  #nm-page .nm-intro h1 { font-size:clamp(34px,9vw,48px); }
  #nm-page .nm-intro-side { display:block; }
  #nm-page .nm-intro-side p { font-size:14px; }
  #nm-page .nm-text-link { margin-top:15px; }
  #nm-page .nm-feature-grid { display:flex; flex-direction:column; gap:12px; }
  #nm-page .nm-feature-card { flex:none; height:245px; }
  #nm-page .nm-feature-lead { height:410px; }
  #nm-page .nm-feature-copy { padding:24px; }
  #nm-page .nm-feature-lead .nm-feature-copy h2 { font-size:30px; }
  #nm-page .nm-feature-small .nm-feature-copy h2 { font-size:21px; }
  #nm-page .nm-feature-copy p { font-size:12px; }
  #nm-page .nm-section { padding-top:65px; }
  #nm-page .nm-section-heading { display:block; padding-bottom:23px; }
  #nm-page .nm-section-heading h2, #nm-page .nm-about-inner h2 { font-size:30px; }
  #nm-page .nm-section-heading>p { margin-top:12px; max-width:100%; }
  #nm-page .nm-destination-grid { gap:11px; }
  #nm-page .nm-destination-card { aspect-ratio:3 / 4.3; }
  #nm-page .nm-destination-contents { padding:15px; }
  #nm-page .nm-destination-name { font-size:23px; }
  #nm-page .nm-destination-bottom { font-size:10px; margin-top:14px; padding-top:10px; }
  #nm-page .nm-interests-wrap { margin-top:65px; padding:56px 0 62px; }
  #nm-page .nm-interests-grid { grid-template-columns:1fr; gap:11px; }
  #nm-page .nm-interest { flex-direction:row; min-height:116px; align-items:center; padding:20px 18px; gap:20px; }
  #nm-page .nm-interest-icon { flex:0 0 44px; width:44px; height:44px; margin:0; }
  #nm-page .nm-interest-content { gap:5px; padding:0 15px 0 0; }
  #nm-page .nm-interest-content strong { font-size:16px; }
  #nm-page .nm-interest-content>span { font-size:12px; }
  #nm-page .nm-interest-arrow { right:15px; bottom:auto; font-size:19px; }
  #nm-page .nm-latest { padding-block:67px 72px; }
  #nm-page .nm-latest-grid { grid-template-columns:1fr; gap:39px; }
  #nm-page .nm-latest-image { aspect-ratio:16 / 10; }
  #nm-page .nm-latest-meta { margin-top:14px; }
  #nm-page .nm-latest-card h3 { font-size:21px; }
  #nm-page .nm-about-inner { grid-template-columns:1fr; padding-block:58px 64px; gap:20px; }
  #nm-page .nm-about-copy p { font-size:14px; }
  #nm-page .nm-footer-top { grid-template-columns:repeat(2,1fr); gap:38px 20px; padding-block:48px; }
  #nm-page .nm-footer-about { grid-column:span 2; }
  #nm-page .nm-footer-bottom { display:block; line-height:2; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  #nm-page *, #nm-page *:before, #nm-page *:after { transition:none !important; animation:none !important; }
}
