/* Exact IGC tour-page design-system styles copied from the current 12-day flagship implementation. */
:root {



      --nj-ink:#173f49;



      --nj-deep:#0f444c;



      --nj-teal:#176f67;



      --nj-blue:#2d6f90;



      --nj-gold:#f3a637;



      --nj-cream:#efe6d7;



      --nj-paper:#fffdf8;



      --nj-muted:#66777b;



      --nj-line:rgba(23,63,73,.14);

      --nj-page-nav-top:70px;

      --nj-page-nav-height:58px;

      --nj-anchor-clearance:152px;



    }







    html { scroll-behavior:smooth; scroll-padding-top:var(--nj-anchor-clearance); }



    body { margin:0; background:var(--nj-paper); color:var(--nj-ink); font-family:"DM Sans",Arial,sans-serif; }



    .nj-tour,.nj-tour * { box-sizing:border-box; }



    .nj-tour { padding-bottom:110px; }



    .nj-shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; }



    .nj-eyebrow { margin:0 0 16px; color:var(--nj-blue); font-size:12px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }



    .nj-display { margin:0; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(45px,6.6vw,92px); font-weight:700; letter-spacing:-.05em; line-height:.95; }



    .nj-lede { color:var(--nj-muted); font-size:clamp(17px,1.7vw,20px); line-height:1.72; }



    .nj-button { display:inline-flex; min-height:54px; align-items:center; justify-content:center; padding:14px 24px; border:2px solid var(--nj-deep); border-radius:999px; color:var(--nj-deep) !important; font-size:13px; font-weight:700; letter-spacing:.055em; text-decoration:none !important; text-transform:uppercase; transition:transform .2s ease,background-color .2s ease,color .2s ease; }



    .nj-button--gold { border-color:var(--nj-gold); background:var(--nj-gold); color:#173f49 !important; }



    .nj-button--light { border-color:rgba(255,255,255,.78); color:#fff !important; }



    .nj-button:hover,.nj-button:focus { background:var(--nj-deep); color:#fff !important; transform:translateY(-2px); }



    .nj-button--gold:hover,.nj-button--gold:focus { border-color:#ffc363; background:#ffc363; color:#173f49 !important; }



    .nj-actions { display:flex; flex-wrap:wrap; gap:13px; }







    .nj-hero { position:relative; isolation:isolate; min-height:800px; height:min(94vh,960px); display:flex; align-items:flex-end; overflow:hidden; background:#143f49 url('/images/italy-cinematic-pause.png') center/cover no-repeat; }



    .nj-hero::after { position:absolute; inset:0; z-index:1; content:""; background:linear-gradient(90deg,rgba(5,30,38,.9),rgba(5,30,38,.58) 52%,rgba(5,30,38,.18)),linear-gradient(0deg,rgba(5,30,38,.56),transparent 58%); }



    .nj-hero__content { position:relative; z-index:2; width:100%; padding:0 0 clamp(78px,10vh,126px); }



    .nj-hero__inner { max-width:900px; }



    .nj-hero .nj-eyebrow { color:#f7c16d; }



    .nj-hero h1 { margin:0 0 18px; color:#fff; font-family:"Playfair Display",Georgia,serif; font-size:clamp(64px,8.4vw,122px); font-weight:700; letter-spacing:-.055em; line-height:.9; }



    .nj-hero__subhead { max-width:720px; margin:0 0 25px; color:rgba(255,255,255,.9); font-size:clamp(19px,2.1vw,25px); line-height:1.52; }



    .nj-trust { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 32px; padding:0; list-style:none; }



    .nj-trust li { padding:8px 12px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:rgba(255,255,255,.9); font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }















    .nj-journey-selector { padding:clamp(42px,6vw,72px) 0; background:linear-gradient(180deg,#fffdf8,#f7efe4); border-bottom:1px solid var(--nj-line); }



    .nj-journey-selector__head { display:grid; grid-template-columns:.86fr 1.14fr; gap:34px; align-items:end; margin-bottom:28px; }



    .nj-journey-selector__head h2 { margin:0; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(34px,4vw,58px); letter-spacing:-.045em; line-height:1; }



    .nj-journey-selector__head p { margin:0; color:var(--nj-muted); font-size:17px; line-height:1.65; }



    .nj-journey-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }



    .nj-journey-card { position:relative; display:flex; min-height:235px; flex-direction:column; justify-content:space-between; padding:28px; border:1px solid rgba(23,63,73,.13); border-radius:28px; background:#fff; box-shadow:0 18px 45px rgba(23,63,73,.07); color:var(--nj-ink); text-decoration:none !important; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }



    .nj-journey-card:hover,.nj-journey-card:focus { transform:translateY(-4px); box-shadow:0 26px 62px rgba(23,63,73,.13); border-color:rgba(23,111,103,.34); }



    .nj-journey-selector .nj-journey-card--active[aria-current="page"] { z-index:1; border:3px solid #df861b; background:linear-gradient(180deg,#fff7e9 0%,#fffdf8 55%,#fff 100%); box-shadow:0 28px 60px rgba(23,63,73,.13),0 10px 28px rgba(223,134,27,.14); }

    .nj-journey-selector .nj-journey-card--active[aria-current="page"]::after { position:absolute; bottom:-8px; left:50%; width:112px; max-width:40%; height:3px; border-radius:999px; background:#df861b; box-shadow:0 2px 8px rgba(223,134,27,.22); content:""; pointer-events:none; transform:translateX(-50%); }

    .nj-journey-selector .nj-journey-card:focus-visible { border-radius:28px; outline:3px solid var(--nj-blue); outline-offset:4px; }



    .nj-journey-badge { display:inline-flex; width:max-content; margin-bottom:18px; padding:7px 10px; border-radius:999px; background:rgba(23,111,103,.12); color:var(--nj-deep); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }



    .nj-journey-card--active .nj-journey-badge { background:var(--nj-gold); color:#173f49; }



    .nj-journey-card h3 { margin:0 0 8px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(30px,3.1vw,42px); letter-spacing:-.045em; line-height:1; }



    .nj-journey-duration { margin:0 0 13px; color:var(--nj-blue); font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }



    .nj-journey-route { margin:0 0 16px; color:var(--nj-ink); font-size:18px; font-weight:700; letter-spacing:-.02em; }



    .nj-journey-card p:not(.nj-journey-duration):not(.nj-journey-route) { margin:0; color:var(--nj-muted); line-height:1.58; }



    .nj-journey-selector .nj-journey-current { display:inline-flex; width:max-content; align-items:center; gap:8px; margin-top:22px; color:#9a5408; font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }

    .nj-journey-selector .nj-journey-current::before { width:22px; height:2px; flex:0 0 22px; background:#df861b; content:""; }







    .nj-anchorbar { position:sticky; top:var(--nj-page-nav-top); z-index:30; background:rgba(255,253,248,.96); border-bottom:1px solid var(--nj-line); backdrop-filter:blur(16px); }

    .nj-anchorbar__inner { display:flex; min-height:var(--nj-page-nav-height); align-items:center; justify-content:center; gap:24px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scrollbar-width:none; white-space:nowrap; -webkit-overflow-scrolling:touch; }

    .nj-anchorbar__inner::-webkit-scrollbar { display:none; }

    .nj-anchorbar__link { position:relative; display:inline-flex; min-width:44px; min-height:44px; flex:0 0 auto; align-items:center; justify-content:center; color:var(--nj-deep) !important; font-size:12px; font-weight:700; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }

    .nj-anchorbar__link::after { position:absolute; right:0; bottom:5px; left:0; height:2px; background:var(--nj-gold); content:""; opacity:0; transform:scaleX(.25); transition:opacity .2s ease,transform .2s ease; }

    .nj-anchorbar__link:hover,.nj-anchorbar__link:focus,.nj-anchorbar__link.is-current { color:var(--nj-deep) !important; }

    .nj-anchorbar__link:hover::after,.nj-anchorbar__link:focus::after,.nj-anchorbar__link.is-current::after { opacity:1; transform:scaleX(1); }

    .nj-anchorbar__link:focus-visible { outline:2px solid var(--nj-blue); outline-offset:3px; border-radius:2px; }

    .nj-anchor-alias { display:block; width:0; height:0; visibility:hidden; pointer-events:none; }

    .nj-return-top { display:flex; justify-content:flex-end; margin:28px 0 0; }

    .nj-return-top__link { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; color:var(--nj-blue); font-family:"DM Sans",Arial,sans-serif; font-size:12px; font-weight:700; letter-spacing:.1em; line-height:1.2; text-decoration:none; text-transform:uppercase; }

    .nj-small-link { display:inline-flex; min-height:44px; align-items:center; }

    .nj-return-top__link:hover { color:var(--nj-deep); }

    .nj-return-top__link:focus-visible,.nj-small-link:focus-visible { border-radius:3px; outline:2px solid var(--nj-blue); outline-offset:3px; }

    .nj-section--deep .nj-return-top__link { color:#f7c16d; }

    .nj-section--deep .nj-return-top__link:focus-visible { outline-color:#f7c16d; }





    .nj-glance { background:var(--nj-deep); color:#fff; }



    .nj-glance__grid { display:grid; grid-template-columns:repeat(5,1fr); }



    .nj-glance__item { padding:25px 16px; border-right:1px solid rgba(255,255,255,.12); text-align:center; }



    .nj-glance__item:last-child { border-right:0; }



    .nj-glance strong { display:block; color:#fff; font-size:15px; }



    .nj-glance span { color:#b7c8ca; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

    .nj-complete-transition { padding:clamp(54px,7vw,88px) 0; border-top:1px solid var(--nj-line); border-bottom:1px solid var(--nj-line); background:linear-gradient(135deg,#fffdf8,#f5ecdf); }

    .nj-complete-transition__inner { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:clamp(64px,8vw,112px); align-items:center; }

    .nj-complete-transition__copy { width:100%; max-width:940px; }

    .nj-complete-transition .nj-display { font-size:clamp(40px,5vw,68px); }

    .nj-complete-transition .nj-lede { margin:18px 0 0; }

    .nj-complete-transition__action { flex:0 0 auto; }

    .nj-complete-transition__download { width:280px; max-width:100%; justify-self:end; padding:20px; border:1px solid rgba(23,63,73,.1); border-radius:18px; background:rgba(255,255,255,.38); }

    .nj-complete-transition__download p { margin:0 0 16px; color:#6e7c7f; font-size:13px; line-height:1.55; }

    .nj-complete-transition__download .nj-button { width:100%; min-height:46px; padding:10px 13px; font-size:11px; letter-spacing:.04em; text-align:center; }

    .nj-chapter-jump { padding:4px 0; border-bottom:1px solid var(--nj-line); background:#fffdf8; }

    .nj-chapter-jump__inner { display:flex; min-width:0; align-items:center; gap:12px; }

    .nj-chapter-jump__label { flex:0 0 auto; color:var(--nj-muted); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }

    .nj-chapter-jump__links { display:flex; min-width:0; flex:1 1 auto; align-items:center; margin:0; padding:4px 2px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scroll-padding-inline:10px; scrollbar-width:thin; white-space:nowrap; list-style:none; -webkit-overflow-scrolling:touch; }

    .nj-chapter-jump__links li { display:flex; flex:0 0 auto; align-items:center; }

    .nj-chapter-jump__links li + li::before { color:rgba(23,63,73,.38); content:"\00b7"; }

    .nj-chapter-jump__links a { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; padding:0 10px; color:var(--nj-deep) !important; font-size:13px; font-weight:700; scroll-margin-inline:10px; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; }

    .nj-chapter-jump__links a:hover { color:var(--nj-blue) !important; text-decoration-color:currentColor; }

    .nj-chapter-jump__links a:focus-visible { border-radius:4px; outline:2px solid var(--nj-blue); outline-offset:2px; }


    /* Complete Journey itinerary chapters */

    .nj-tour .nj-itinerary-chapter { background:var(--nj-paper); }

    .nj-tour .nj-itinerary-cover { position:relative; isolation:isolate; display:flex; min-height:clamp(560px,60vw,760px); align-items:flex-end; overflow:hidden; background:var(--nj-deep); }

    .nj-tour .nj-itinerary-cover::after { position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(5,30,38,.9),rgba(5,30,38,.18) 60%); content:""; }

    .nj-tour .nj-itinerary-cover__image { position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }

    .nj-tour .nj-itinerary-cover__inner { position:relative; z-index:2; padding:clamp(70px,10vw,112px) 0; color:#fff; }

    .nj-tour .nj-itinerary-cover .nj-eyebrow { margin-bottom:7px; color:#f7c16d; }

    .nj-tour .nj-itinerary-cover__days { margin:0 0 22px; color:rgba(255,255,255,.78); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

    .nj-tour .nj-itinerary-cover h2 { max-width:980px; margin:0 0 20px; color:#fff; font-family:"Playfair Display",Georgia,serif; font-size:clamp(60px,8vw,116px); letter-spacing:-.06em; line-height:.9; }

    .nj-tour .nj-itinerary-cover__lede { max-width:720px; margin:0; color:rgba(255,255,255,.92); font-size:clamp(19px,2vw,25px); line-height:1.62; }

    .nj-tour .nj-itinerary-body { padding:clamp(92px,12vw,150px) 0; background:var(--nj-paper); }

    .nj-tour .nj-itinerary-chapter--cream .nj-itinerary-body { background:var(--nj-cream); }

    .nj-tour .nj-itinerary-layout { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); gap:clamp(42px,6vw,70px); align-items:start; }

    .nj-tour .nj-itinerary-intro { position:static; max-width:500px; }

    .nj-tour .nj-itinerary-intro h3 { margin:0 0 24px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(38px,4.4vw,64px); letter-spacing:-.05em; line-height:.98; }

    .nj-tour .nj-itinerary-intro p { max-width:68ch; color:var(--nj-muted); font-size:18px; line-height:1.76; }

    .nj-tour .nj-itinerary-day > p { max-width:68ch; color:var(--nj-muted); font-size:17px; line-height:1.72; }

    .nj-tour .nj-itinerary-intro p { margin:0; }

    .nj-tour .nj-itinerary-day > p { margin:0 0 16px; }

    .nj-tour .nj-itinerary-day > p:last-of-type { margin-bottom:0; }

    .nj-tour .nj-itinerary-days { display:grid; gap:22px; }

    .nj-tour .nj-itinerary-days > .nj-return-top { margin-top:6px; }

    .nj-tour .nj-itinerary-day { padding:clamp(26px,4vw,38px); border:1px solid rgba(23,63,73,.11); border-radius:30px; background:rgba(255,255,255,.92); box-shadow:0 18px 45px rgba(23,63,73,.07); }

    .nj-tour .nj-itinerary-day__kicker { margin:0 0 9px !important; color:var(--nj-blue) !important; font-size:12px !important; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

    .nj-tour .nj-itinerary-day h3 { margin:0 0 14px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(30px,3.5vw,46px); font-weight:700; letter-spacing:-.05em; line-height:1; }

    .nj-tour .nj-itinerary-included { margin-top:24px; padding:22px 24px; border:1px solid rgba(23,63,73,.12); border-radius:22px; background:rgba(15,68,76,.07); }

    .nj-tour .nj-itinerary-included__label { margin:0 0 13px; color:var(--nj-ink); font-family:inherit; font-size:12px; font-weight:700; letter-spacing:.16em; line-height:1.35; text-transform:uppercase; }

    .nj-tour .nj-itinerary-included ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; margin:0; padding:0; list-style:none; }

    .nj-tour .nj-itinerary-included li { display:grid; grid-template-columns:8px minmax(0,1fr); gap:10px; color:var(--nj-ink); font-size:15px; line-height:1.5; }

    .nj-tour .nj-itinerary-included li::before { width:7px; height:7px; margin-top:.55em; border-radius:50%; background:var(--nj-gold); content:""; }

    .nj-tour .nj-itinerary-signature { margin:28px 0 34px; padding:clamp(28px,4vw,42px); border:1px solid rgba(255,255,255,.1); border-radius:32px; background:var(--nj-deep); color:#fff; box-shadow:0 24px 60px rgba(23,63,73,.15); }

    .nj-tour .nj-itinerary-signature .nj-eyebrow { margin-bottom:10px; color:#f7c16d; }

    .nj-tour .nj-itinerary-signature h3 { margin:0 0 14px; color:#fff; font-family:"Playfair Display",Georgia,serif; font-size:clamp(34px,4vw,54px); letter-spacing:-.05em; line-height:1; }

    .nj-tour .nj-itinerary-signature p:last-child { max-width:68ch; margin:0; color:rgba(255,255,255,.88); font-size:18px; line-height:1.72; }

    .nj-tour .nj-itinerary-hotel-panel { margin:30px 0 0; }

    .nj-tour .nj-itinerary-hotel-panel__heading { margin:0 0 22px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(34px,4vw,54px); font-weight:600; letter-spacing:-.045em; line-height:normal; }

    .nj-tour .nj-itinerary-hotel-panel__feature { display:grid; grid-template-columns:1fr 1fr; gap:0; overflow:hidden; border-radius:32px; background:#fff; box-shadow:0 24px 60px rgba(23,63,73,.1); }

    .nj-tour .nj-itinerary-hotel-panel__media { min-width:0; min-height:420px; margin:0; overflow:hidden; background:var(--nj-deep); }

    .nj-tour .nj-itinerary-hotel-panel__image { display:block; width:100%; height:100%; min-height:420px; object-fit:cover; object-position:center; }

    .nj-tour .nj-itinerary-hotel-panel__content { min-width:0; padding:clamp(34px,5vw,58px); }

    .nj-tour .nj-itinerary-hotel-panel__title { margin:0 0 14px; color:var(--nj-ink); font-family:"Century Gothic","Fira Sans","DM Sans",Arial,sans-serif; font-size:28px; font-weight:700; letter-spacing:-.04em; line-height:normal; }

    .nj-tour .nj-itinerary-hotel-panel__description { margin:0 0 30px; color:var(--nj-muted); font-family:"DM Sans",Arial,sans-serif; font-size:15px; font-weight:400; line-height:1.68; }

    .nj-tour .nj-itinerary-hotel-panel__alternates { margin:18px 0 30px; padding-top:16px; border-top:1px solid var(--nj-line); color:var(--nj-ink); font-family:"DM Sans",Arial,sans-serif; font-size:15px; font-weight:400; line-height:1.68; }

    .nj-tour .nj-itinerary-hotel-panel__alternates strong { color:var(--nj-ink); font-weight:700; }

    .nj-tour .nj-itinerary-hotel-panel__quote { margin:26px 0 0; padding:24px 0 0; border:0; border-top:1px solid var(--nj-line); color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:28px; font-weight:600; letter-spacing:-.035em; line-height:1.2; }

    .nj-tour .nj-itinerary-hotel-panel__quote-label { display:block; margin-top:14px; color:var(--nj-muted); font-family:"DM Sans",Arial,sans-serif; font-size:13px; font-weight:700; letter-spacing:.08em; line-height:1.2; text-transform:uppercase; }

    .nj-tour .nj-itinerary-hotel-panel a { display:inline-flex; min-height:44px; align-items:center; color:var(--nj-blue) !important; font-weight:700; text-underline-offset:3px; }

    .nj-tour .nj-itinerary-hotel-panel a:focus-visible { border-radius:2px; outline:2px solid var(--nj-blue); outline-offset:3px; }

    .nj-tour .nj-option-trigger {
      display:grid;
      width:100%;
      min-height:92px;
      grid-template-columns:minmax(0,1fr) 46px;
      gap:20px;
      align-items:center;
      margin:26px 0 4px;
      padding:21px 22px 21px 25px;
      border:1px solid rgba(168,102,8,.24);
      border-left:4px solid #c78a2c;
      border-radius:0 20px 20px 0;
      background:linear-gradient(118deg,rgba(255,249,237,.98),rgba(255,253,248,.72));
      box-shadow:0 14px 32px rgba(73,49,16,.055);
      color:var(--nj-ink);
      font:inherit;
      text-align:left;
      cursor:pointer;
      transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
    }
    .nj-tour .nj-option-trigger:hover { border-color:rgba(168,102,8,.46); box-shadow:0 18px 38px rgba(73,49,16,.09); transform:translateY(-1px); }
    .nj-tour .nj-option-trigger:focus-visible { outline:2px solid var(--nj-blue); outline-offset:4px; }
    .nj-tour .nj-option-trigger__eyebrow { display:block; margin-bottom:5px; color:#8b5b12; font-size:10px; font-weight:800; letter-spacing:.18em; line-height:1.3; text-transform:uppercase; }
    .nj-tour .nj-option-trigger__context { display:block; margin-bottom:7px; color:var(--nj-muted); font-size:14px; line-height:1.45; }
    .nj-tour .nj-option-trigger__title { display:block; color:var(--nj-ink); font-size:15px; font-weight:800; letter-spacing:.01em; line-height:1.35; }
    .nj-tour .nj-option-trigger__icon { display:flex; width:46px; height:46px; align-items:center; justify-content:center; border:1px solid rgba(168,102,8,.36); border-radius:50%; background:#fffaf0; color:#8b5b12; font-size:25px; font-weight:300; line-height:1; transition:background-color .2s ease,color .2s ease,transform .2s ease; }
    .nj-tour .nj-option-trigger:hover .nj-option-trigger__icon { background:#a86608; color:#fff; transform:rotate(90deg); }
    .nj-tour .nj-optional-dinner { margin:15px 0 0; padding-left:16px; border-left:2px solid rgba(199,138,44,.5); color:var(--nj-muted); font-size:14px; font-style:italic; line-height:1.6; }

    .nj-tour .nj-option-index { position:relative; overflow:hidden; }
    .nj-tour .nj-option-index::before { position:absolute; top:-170px; right:-130px; width:360px; height:360px; border:1px solid rgba(199,138,44,.15); border-radius:50%; content:""; pointer-events:none; }
    .nj-tour .nj-option-index__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:38px; }
    .nj-tour .nj-option-index__card { display:flex; min-width:0; min-height:176px; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:24px; overflow:hidden; padding:25px; border:1px solid rgba(23,63,73,.13); border-radius:20px; background:#fffdf8; color:var(--nj-ink); font:inherit; text-align:left; white-space:normal; cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
    .nj-tour .nj-option-index__card:hover { border-color:rgba(168,102,8,.38); box-shadow:0 18px 38px rgba(23,63,73,.08); transform:translateY(-2px); }
    .nj-tour .nj-option-index__card:focus-visible { outline:2px solid var(--nj-blue); outline-offset:4px; }
    .nj-tour .nj-option-index__place { display:block; margin-bottom:9px; color:#8b5b12; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
    .nj-tour .nj-option-index__description { display:block; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:22px; font-weight:700; letter-spacing:-.025em; line-height:1.18; }
    .nj-tour .nj-option-index__action { display:flex; align-items:center; gap:8px; color:var(--nj-teal); font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
    .nj-tour .nj-option-index__action::after { content:"+"; color:#a86608; font-size:20px; font-weight:400; line-height:1; }

    body.nj-option-is-open { position:fixed; width:100%; overflow:hidden; }
    .nj-tour .nj-option-layer { position:fixed; inset:0; z-index:2147483646; }
    .nj-tour .nj-option-layer[hidden] { display:none; }
    .nj-tour .nj-option-backdrop { position:absolute; inset:0; border:0; background:rgba(8,34,41,.48); opacity:0; backdrop-filter:blur(3px); transition:opacity .24s ease; }
    .nj-tour .nj-option-drawer {
      position:absolute;
      top:0;
      right:0;
      display:flex;
      width:min(620px,calc(100vw - 44px));
      height:100%;
      flex-direction:column;
      border-left:4px solid #c78a2c;
      background:#fffaf0;
      box-shadow:-30px 0 80px rgba(7,31,38,.23);
      transform:translateX(102%);
      transition:transform .3s cubic-bezier(.22,.72,.25,1);
    }
    .nj-tour .nj-option-layer.is-open .nj-option-backdrop { opacity:1; }
    .nj-tour .nj-option-layer.is-open .nj-option-drawer { transform:translateX(0); }
    .nj-tour .nj-option-drawer__top { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:20px; padding:25px 30px 18px; border-bottom:1px solid rgba(168,102,8,.2); background:rgba(255,250,240,.98); }
    .nj-tour .nj-option-drawer__eyebrow { margin:0; color:#8b5b12; font-size:10px; font-weight:800; letter-spacing:.18em; line-height:1.35; text-transform:uppercase; }
    .nj-tour .nj-option-drawer__close { display:flex; width:44px; height:44px; flex:0 0 44px; align-items:center; justify-content:center; padding:0; border:1px solid rgba(73,49,16,.24); border-radius:50%; background:#fffdf8; color:var(--nj-ink); font-size:25px; line-height:1; cursor:pointer; }
    .nj-tour .nj-option-drawer__close:hover { background:#8b5b12; color:#fff; }
    .nj-tour .nj-option-drawer__close:focus-visible { outline:2px solid var(--nj-blue); outline-offset:3px; }
    .nj-tour .nj-option-drawer__scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:35px 34px max(42px,env(safe-area-inset-bottom)); -webkit-overflow-scrolling:touch; }
    .nj-tour .nj-option-drawer__title { margin:0 0 17px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(38px,4.4vw,52px); font-weight:700; letter-spacing:-.05em; line-height:1.01; }
    .nj-tour .nj-option-drawer__intro { margin:0 0 30px; color:var(--nj-muted); font-size:16px; line-height:1.7; }
    .nj-tour .nj-option-drawer__section-label { display:flex; align-items:center; gap:12px; margin:33px 0 15px; color:#8b5b12; font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
    .nj-tour .nj-option-drawer__section-label::after { height:1px; flex:1 1 auto; background:rgba(168,102,8,.2); content:""; }
    .nj-tour .nj-option-card { margin-bottom:13px; padding:21px 22px; border:1px solid rgba(73,49,16,.14); border-radius:18px; background:rgba(255,255,255,.76); box-shadow:0 10px 26px rgba(73,49,16,.045); }
    .nj-tour .nj-option-card--favorite { border-color:rgba(168,102,8,.38); background:linear-gradient(140deg,#fffdf8,#fff3d9); }
    .nj-tour .nj-option-card__favorite { display:inline-flex; margin:0 0 10px; padding:5px 9px; border-radius:999px; background:#8b5b12; color:#fff; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
    .nj-tour .nj-option-card__title { margin:0 0 9px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:23px; font-weight:700; letter-spacing:-.025em; line-height:1.16; }
    .nj-tour .nj-option-card__description { margin:0 0 13px; color:var(--nj-muted); font-size:14px; line-height:1.62; }
    .nj-tour .nj-option-card__price { margin:0 0 11px; color:var(--nj-ink); font-size:15px; font-weight:800; line-height:1.45; }
    .nj-tour .nj-option-card__meta { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
    .nj-tour .nj-option-card__meta li { padding:6px 9px; border:1px solid rgba(23,111,103,.17); border-radius:999px; background:rgba(255,255,255,.7); color:#446066; font-size:10px; font-weight:700; letter-spacing:.035em; line-height:1.3; }
    .nj-tour .nj-option-card__note { margin:12px 0 0; padding:10px 0 0; border-top:1px solid rgba(73,49,16,.11); color:#5e4a2d; font-size:12px; line-height:1.55; }
    .nj-tour .nj-option-card__action { display:inline-flex; min-height:44px; align-items:center; margin-top:8px; color:var(--nj-teal) !important; font-size:12px; font-weight:800; letter-spacing:.035em; text-decoration:underline !important; text-decoration-color:rgba(23,111,103,.35) !important; text-underline-offset:4px; }
    .nj-tour .nj-option-card__action:focus-visible { border-radius:2px; outline:2px solid var(--nj-blue); outline-offset:3px; }
    .nj-tour .nj-option-leisure { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
    .nj-tour .nj-option-leisure li { padding:16px 18px; border-left:2px solid rgba(199,138,44,.5); background:rgba(255,255,255,.48); }
    .nj-tour .nj-option-leisure strong { display:block; margin-bottom:5px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:18px; line-height:1.2; }
    .nj-tour .nj-option-leisure span { display:block; color:var(--nj-muted); font-size:13px; line-height:1.55; }
    .nj-tour .nj-option-drawer__invitation { margin-top:34px; padding:24px; border-radius:18px; background:var(--nj-deep); color:#fff; }
    .nj-tour .nj-option-drawer__invitation h3 { margin:0 0 8px; color:#fff; font-family:"Playfair Display",Georgia,serif; font-size:25px; letter-spacing:-.03em; line-height:1.15; }
    .nj-tour .nj-option-drawer__invitation p { margin:0 0 15px; color:#d5e1e2; font-size:14px; line-height:1.6; }
    .nj-tour .nj-option-drawer__cta { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:11px 16px; border:1px solid #f3b451; border-radius:999px; background:#f3b451; color:#183942 !important; font-size:12px; font-weight:800; letter-spacing:.04em; text-decoration:none !important; }
    .nj-tour .nj-option-drawer__cta:hover { background:#ffc86f; }
    .nj-tour .nj-option-drawer__cta:focus-visible { outline:2px solid #fff; outline-offset:3px; }

    .nj-tour .nj-journey-interlude { padding:clamp(50px,6vw,76px) 0; background:var(--nj-deep); color:#fff; text-align:center; }

    .nj-tour .nj-journey-interlude .nj-eyebrow { margin-bottom:12px; color:#f7c16d; }

    .nj-tour .nj-journey-interlude h2 { max-width:900px; margin:0 auto; color:#fff; font-family:"Playfair Display",Georgia,serif; font-size:clamp(36px,4.5vw,58px); letter-spacing:-.045em; line-height:1; }

    .nj-tour .nj-journey-interlude p:last-child { max-width:690px; margin:20px auto 0; color:#c8d8da; font-size:17px; line-height:1.72; }

    .nj-tour .nj-itinerary-next { padding:30px 20px; border-top:1px solid var(--nj-line); border-bottom:1px solid var(--nj-line); background:#fffdf8; color:var(--nj-muted); text-align:center; }

    .nj-tour .nj-itinerary-next .nj-eyebrow { margin:0 0 6px; }

    .nj-tour .nj-itinerary-next p:last-child { margin:0; line-height:1.65; }

    .nj-tour .nj-itinerary-next strong { color:var(--nj-ink); }

    @media (max-width:1024px) {

      .nj-tour .nj-itinerary-hotel-panel__feature { grid-template-columns:1fr; }

      .nj-tour .nj-itinerary-hotel-panel__media,.nj-tour .nj-itinerary-hotel-panel__image { min-height:0; aspect-ratio:16/9; }

      .nj-tour .nj-option-index__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

    }

    @media (max-width:900px) {

      .nj-tour .nj-itinerary-layout { grid-template-columns:1fr; }

      .nj-tour .nj-itinerary-intro { max-width:68ch; }

      .nj-tour .nj-itinerary-cover { min-height:620px; }

    }

    @media (max-width:650px) {

      .nj-tour .nj-itinerary-cover { min-height:560px; }

      .nj-tour .nj-itinerary-cover__inner { padding:60px 0; }

      .nj-tour .nj-itinerary-cover h2 { font-size:clamp(52px,15vw,68px); }

      #sorrento .nj-itinerary-cover__image { object-position:32% center; }

      .nj-tour .nj-itinerary-body { padding:72px 0; }

      .nj-tour .nj-option-trigger { min-height:88px; padding:18px 16px 18px 19px; }

      .nj-tour .nj-option-index__grid { grid-template-columns:1fr; gap:12px; margin-top:28px; }

      .nj-tour .nj-option-index__card { min-height:0; padding:21px; }

      .nj-tour .nj-itinerary-day { padding:24px 20px; }

      .nj-tour .nj-itinerary-included ul { grid-template-columns:1fr; }

      .nj-tour .nj-itinerary-hotel-panel__content { padding:34px 22px; }

      .nj-tour .nj-itinerary-hotel-panel__quote { font-size:clamp(23px,6.4vw,26px); }

    }



    /* Signature Journey at a Glance component */

    .nj-journey-map,.nj-journey-map * { box-sizing:border-box; }

    .nj-journey-map { overflow:hidden; background:#f2ece1; color:var(--nj-ink); }

    .nj-journey-map__inner { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:24px 0 26px; }

    .nj-journey-map__header { text-align:center; }

    .nj-journey-map__eyebrow { margin:0 0 4px; color:var(--nj-blue); font-size:10px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }

    .nj-journey-map__title { margin:0; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(38px,4vw,48px); font-weight:700; letter-spacing:-.045em; line-height:.98; }

    .nj-journey-map__lede { margin:8px 0 0; color:var(--nj-muted); font-size:15px; line-height:1.55; }

    .nj-journey-map__stage { position:relative; isolation:isolate; width:100%; max-width:1080px; height:255px; overflow:hidden; margin:13px auto 0; border-top:1px solid rgba(23,63,73,.09); border-bottom:1px solid rgba(23,63,73,.11); border-radius:3px; background:radial-gradient(circle at 50% 34%,rgba(236,242,239,.88),rgba(207,222,221,.82) 48%,rgba(185,206,207,.9)),#cfdddc; box-shadow:inset 0 1px 0 rgba(255,255,255,.52),inset 0 -1px 0 rgba(23,63,73,.06); }

    .nj-journey-map__defs { position:absolute; width:0; height:0; overflow:hidden; }

    .nj-journey-map__cartography { position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%; pointer-events:none; animation:nj-journey-map-fade .42s ease both; }

    .nj-journey-map__cartography--mobile { display:none; }

    .nj-journey-map__coast-shadow { fill:#607b80; opacity:.24; transform:translate(2.3px,3px); }

    .nj-journey-map__land { stroke:#968b77; stroke-width:.9; vector-effect:non-scaling-stroke; }

    .nj-journey-map__coast-highlight { fill:none; stroke:#fff9ec; stroke-width:.8; opacity:.62; transform:translate(-.55px,-.65px); vector-effect:non-scaling-stroke; }

    .nj-journey-map__terrain { opacity:.23; }

    .nj-journey-map__relief { fill:none; stroke:#9b8060; stroke-width:.65; opacity:.26; stroke-linecap:round; vector-effect:non-scaling-stroke; }

    .nj-journey-map__sea-line { fill:none; stroke:#65858b; stroke-width:.65; opacity:.24; vector-effect:non-scaling-stroke; }

    .nj-journey-map__sea-label { fill:#55757b; font-family:"DM Sans",Arial,sans-serif; font-size:7px; font-weight:600; letter-spacing:.25em; opacity:.34; text-transform:uppercase; }

    .nj-journey-map__connector { fill:none; stroke:#7d9294; stroke-width:.75; opacity:.72; vector-effect:non-scaling-stroke; }

    .nj-journey-map__route-shadow { fill:none; stroke:#244f55; stroke-width:5.4; stroke-dasharray:1; stroke-dashoffset:0; stroke-linecap:round; stroke-linejoin:round; opacity:.15; vector-effect:non-scaling-stroke; animation:nj-journey-map-route 1.2s cubic-bezier(.55,.08,.35,1) .12s both; }

    .nj-journey-map__route { fill:none; stroke:#9f7338; stroke-width:2.4; stroke-dasharray:1; stroke-dashoffset:0; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; animation:nj-journey-map-route 1.2s cubic-bezier(.55,.08,.35,1) .12s both; }

    .nj-journey-map__final-leg-shadow { fill:none; stroke:#244f55; stroke-width:5.6; stroke-linecap:round; stroke-linejoin:round; opacity:.18; vector-effect:non-scaling-stroke; }

    .nj-journey-map__final-leg { fill:none; stroke:#9f7338; stroke-width:2.7; stroke-linecap:round; stroke-linejoin:round; opacity:1; vector-effect:non-scaling-stroke; }

    .nj-journey-map__direction { fill:none; stroke:#a67b3e; stroke-width:1.35; stroke-linecap:round; vector-effect:non-scaling-stroke; animation:nj-journey-map-fade .28s ease 1.02s both; }

    .nj-journey-map__marker { animation:nj-journey-map-marker .25s ease both; transform-box:fill-box; transform-origin:center; }

    .nj-journey-map__marker--01 { animation-delay:.24s; }

    .nj-journey-map__marker--02 { animation-delay:.46s; }

    .nj-journey-map__marker--03 { animation-delay:.68s; }

    .nj-journey-map__marker--04 { animation-delay:.9s; }

    .nj-journey-map__marker--05 { animation-delay:1.12s; }

    .nj-journey-map__marker-halo { fill:#dbe5e4; stroke:#9d7338; stroke-width:1.5; vector-effect:non-scaling-stroke; }

    .nj-journey-map__marker-core { fill:#9d7338; }

    .nj-journey-map__marker--start .nj-journey-map__marker-halo { stroke-width:2.2; }

    .nj-journey-map__marker--finish .nj-journey-map__marker-halo { fill:var(--nj-deep); stroke-width:2; }

    .nj-journey-map__marker--finish .nj-journey-map__marker-core { fill:#f1dfbd; }

    .nj-journey-map__stops { position:absolute; inset:0; z-index:2; margin:0; padding:0; list-style:none; pointer-events:none; }

    .nj-journey-map__stop { position:absolute; width:248px; animation:nj-journey-map-label .3s ease both; }

    .nj-journey-map__stop--01 { top:4%; left:14%; animation-delay:.29s; }

    .nj-journey-map__stop--02 { top:21%; left:64%; animation-delay:.51s; }

    .nj-journey-map__stop--03 { top:37%; left:10%; animation-delay:.73s; }

    .nj-journey-map__stop--04 { top:50%; left:67%; animation-delay:.95s; }

    .nj-journey-map__stop--05 { top:68%; left:17%; animation-delay:1.17s; }

    .nj-journey-map__label { display:flex; align-items:center; gap:11px; width:max-content; max-width:100%; padding:5px 8px; border-radius:1px; background:rgba(214,227,225,.76); box-shadow:inset 0 1px 0 rgba(255,255,255,.38); }

    .nj-journey-map__number { display:inline-flex; width:34px; height:34px; flex:0 0 34px; align-items:center; justify-content:center; border:1px solid #9f7338; border-radius:50%; background:rgba(246,239,225,.94); color:#765027; font-size:10px; font-weight:700; letter-spacing:.07em; box-shadow:0 1px 0 rgba(255,255,255,.75); }

    .nj-journey-map__stop--01 .nj-journey-map__number { background:#9f7338; color:#fffdf8; }

    .nj-journey-map__stop--05 .nj-journey-map__number { border-color:var(--nj-deep); background:var(--nj-deep); color:#f1dfbd; }

    .nj-journey-map__details { display:block; min-width:0; }

    .nj-journey-map__name { display:block; color:#173f49; font-family:"Playfair Display",Georgia,serif; font-size:14px; font-weight:700; letter-spacing:-.015em; line-height:1.05; }

    .nj-journey-map__meta { display:block; margin-top:4px; color:#52676b; font-size:9px; font-weight:700; letter-spacing:.095em; line-height:1.2; text-transform:uppercase; }

    .nj-journey-map__descriptor { color:#74572f; font-weight:600; }

    .nj-journey-map__footer { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:11px; text-align:center; }

    .nj-journey-map__summary { margin:0; color:var(--nj-ink); font-size:10px; font-weight:700; letter-spacing:.095em; line-height:1.7; text-transform:uppercase; }

    .nj-journey-map__link { display:inline-flex; min-height:44px; align-items:center; border-bottom:1px solid rgba(45,111,144,.36); color:var(--nj-blue) !important; font-size:11px; font-weight:700; letter-spacing:.05em; line-height:1.7; text-decoration:none !important; transition:border-color .2s ease,color .2s ease; }

    .nj-journey-map__link:hover,.nj-journey-map__link:focus { border-color:var(--nj-deep); color:var(--nj-deep) !important; }

    .nj-journey-map__link:focus-visible { border-radius:3px; outline:2px solid var(--nj-blue); outline-offset:3px; }

    .nj-journey-map__sr-only { position:absolute; width:1px; height:1px; overflow:hidden; padding:0; border:0; margin:-1px; clip:rect(0,0,0,0); white-space:nowrap; }

    @keyframes nj-journey-map-fade { from { opacity:0; } to { opacity:1; } }

    @keyframes nj-journey-map-route { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }

    @keyframes nj-journey-map-marker { from { opacity:0; transform:scale(.88); } to { opacity:1; transform:scale(1); } }

    @keyframes nj-journey-map-label { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:translateY(0); } }







    .nj-section { padding:clamp(90px,11vw,145px) 0; }



    .nj-section--paper { background:var(--nj-paper); }



    .nj-section--cream { background:var(--nj-cream); }



    .nj-section--deep { background:var(--nj-deep); color:#fff; }



    .nj-section--deep .nj-display,.nj-section--deep h2,.nj-section--deep h3 { color:#fff; }



    .nj-section--deep .nj-lede,.nj-section--deep p { color:#c8d8da; }



    .nj-section-head { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:end; margin-bottom:58px; }



    .nj-section-head .nj-lede { margin:0; }



    .nj-hotel-note { display:grid; gap:18px; margin:-28px 0 42px; }



    .nj-hotel-note__collections { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }



    .nj-hotel-note__card { padding:26px; border:1px solid rgba(23,63,73,.11); border-radius:8px; background:#fff; box-shadow:0 18px 45px rgba(23,63,73,.07); }



    .nj-hotel-note__card h3 { margin:0 0 10px; color:var(--nj-ink); font-size:22px; letter-spacing:-.035em; }



    .nj-hotel-note__card p { margin:0; color:var(--nj-muted); line-height:1.65; }



    .nj-hotel-note__close { margin:0; color:var(--nj-ink); font-weight:700; letter-spacing:.03em; }







    .nj-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:58px; align-items:center; }



    .nj-pullquote { padding:38px; border-radius:28px; background:#fff; box-shadow:0 24px 60px rgba(23,63,73,.08); color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(30px,3.2vw,46px); line-height:1.12; }



    .nj-pullquote cite { display:block; margin-top:20px; color:var(--nj-muted); font-family:"DM Sans",Arial,sans-serif; font-size:14px; font-style:normal; }



    .nj-editorial-invite { margin-top:54px; padding:clamp(34px,5vw,58px); border-radius:32px; background:linear-gradient(135deg,#fff,#f8efe1); box-shadow:0 24px 60px rgba(23,63,73,.09); }
    .nj-editorial-invite h3 { margin:0 0 16px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(36px,4.6vw,62px); letter-spacing:-.05em; line-height:.98; }



    .nj-editorial-invite p { max-width:800px; color:var(--nj-muted); font-size:18px; line-height:1.72; }



    .nj-editorial-invite__note { margin:18px 0 0 !important; color:#7f8b8d !important; font-size:14px !important; }







    .nj-compare { display:grid; grid-template-columns:1fr 1fr; gap:24px; }



    .nj-compare__panel { overflow:hidden; border-radius:28px; background:#fff; box-shadow:0 22px 55px rgba(23,63,73,.1); }



    .nj-compare__panel h3 { margin:0; padding:26px 30px; background:#f4eee5; color:var(--nj-ink); font-size:26px; font-weight:700; letter-spacing:-.04em; }



    .nj-compare__panel--now h3 { background:rgba(23,111,103,.13); }



    .nj-compare ul { margin:0; padding:0; list-style:none; }



    .nj-compare li { padding:18px 30px; border-top:1px solid var(--nj-line); color:var(--nj-muted); line-height:1.55; }



    .nj-compare__panel--now li { color:var(--nj-ink); font-weight:600; }













    .nj-included-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }



    .nj-included { padding:28px; border-radius:24px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); }



    .nj-included h3 { margin:0 0 11px; font-size:22px; letter-spacing:-.035em; }



    .nj-included p { margin:0; line-height:1.65; }







    .nj-hotel-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }



    .nj-hotel { overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 20px 50px rgba(23,63,73,.09); }



    .nj-hotel img { width:100%; height:210px; object-fit:cover; }



    .nj-hotel__copy { padding:22px; }



    .nj-hotel h3 { margin:0 0 8px; color:var(--nj-ink); font-size:22px; font-weight:700; letter-spacing:-.035em; }



    .nj-hotel p { margin:0; color:var(--nj-muted); line-height:1.62; }







    .nj-date-groups { display:grid; gap:34px; }



    .nj-featured-dates { margin-bottom:44px; padding:30px; border-radius:30px; background:#fff; box-shadow:0 24px 60px rgba(23,63,73,.1); }



    .nj-featured-dates h3 { margin:0 0 8px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:40px; letter-spacing:-.045em; }



    .nj-featured-dates p { max-width:760px; margin:0 0 24px; color:var(--nj-muted); line-height:1.68; }



    .nj-season h3 { margin:0 0 18px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:38px; letter-spacing:-.04em; }



    .nj-season__note { max-width:820px; margin:-6px 0 20px; color:var(--nj-muted); line-height:1.65; }



    .nj-date-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }



    .nj-date-card { padding:24px; border-radius:24px; background:#fff; box-shadow:0 18px 45px rgba(23,63,73,.08); }



    .nj-date-card--featured { border:1px solid rgba(243,166,55,.45); background:linear-gradient(180deg,#fffdf8,#fff7e8); }



    .nj-date-card__date { color:var(--nj-ink); font-size:22px; font-weight:700; letter-spacing:-.035em; }



    .nj-date-card__price { margin:14px 0; color:var(--nj-muted); line-height:1.55; }



    .nj-status { display:inline-flex; margin-bottom:16px; padding:6px 9px; border-radius:999px; background:rgba(243,166,55,.16); color:#7c5314; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }



    .nj-status--limited { background:rgba(45,111,144,.15); color:var(--nj-blue); }



    .nj-status--sold { background:rgba(23,63,73,.13); color:var(--nj-muted); }



    .nj-year-details { border-radius:30px; background:rgba(255,255,255,.44); border:1px solid rgba(23,63,73,.12); overflow:hidden; }



    .nj-year-details + .nj-year-details { margin-top:28px; }



    .nj-year-details summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 28px; cursor:pointer; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:34px; font-weight:700; letter-spacing:-.04em; }



    .nj-year-details summary span { font-family:"DM Sans",Arial,sans-serif; color:var(--nj-muted); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }



    .nj-year-details__content { display:grid; gap:34px; padding:0 28px 30px; }



    .nj-date-help { margin-top:38px; padding:30px; border-radius:28px; background:var(--nj-deep); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:22px; }



    .nj-date-help h3 { margin:0 0 8px; color:#fff; font-size:28px; font-weight:700; letter-spacing:-.04em; }



    .nj-date-help p { margin:0; color:#c8d8da; line-height:1.6; }







    .nj-reviews { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; }



    .nj-review-feature { padding:44px; border-radius:30px; background:#fff; box-shadow:0 24px 60px rgba(23,63,73,.1); }



    .nj-review-feature blockquote { margin:0; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(32px,3.5vw,52px); letter-spacing:-.045em; line-height:1.1; }



    .nj-review-feature cite,.nj-review-card cite { display:block; margin-top:20px; color:var(--nj-muted); font-style:normal; }



    .nj-review-stack { display:grid; gap:18px; }



    .nj-review-card { padding:28px; border-radius:24px; background:#fff; box-shadow:0 18px 45px rgba(23,63,73,.08); }



    .nj-review-card p { margin:0; color:var(--nj-muted); line-height:1.65; }







    .nj-practical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }



    .nj-practical-card { padding:28px; border:1px solid var(--nj-line); border-radius:24px; background:#fff; box-shadow:0 18px 45px rgba(23,63,73,.08); }



    .nj-practical-card h3 { margin:0 0 10px; color:var(--nj-ink); font-size:21px; letter-spacing:-.035em; }



    .nj-practical-card p { margin:0; color:var(--nj-muted); line-height:1.62; }



    .nj-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }



    .nj-faq { padding:26px; border-radius:22px; background:#fff; box-shadow:0 18px 45px rgba(23,63,73,.08); }



    .nj-faq h3 { margin:0 0 10px; color:var(--nj-ink); font-size:21px; letter-spacing:-.035em; }



    .nj-faq p { margin:0; color:var(--nj-muted); line-height:1.62; }







    .nj-final { position:relative; padding:clamp(64px,8vw,98px) 0; background:linear-gradient(180deg,#fffdf8,#f7efe4); border-top:1px solid var(--nj-line); text-align:center; }

    .nj-final::before { position:absolute; top:0; left:50%; width:min(720px,calc(100% - 40px)); height:1px; background:linear-gradient(90deg,transparent,rgba(243,166,55,.76),transparent); content:""; transform:translateX(-50%); }

    .nj-final__inner { position:relative; z-index:1; max-width:820px; }

    .nj-final-title { margin:0 0 22px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:60px; font-weight:700; letter-spacing:0; line-height:1; }

    .nj-final .nj-lede { max-width:690px; margin:0 auto 28px; }

    .nj-final .nj-actions { justify-content:center; }

    .nj-final__trust { margin:18px 0 0; color:var(--nj-muted); font-size:14px; line-height:1.6; }





    .nj-bookbar { position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom)); left:18px; z-index:40; display:flex; max-width:1120px; min-height:72px; align-items:center; justify-content:space-between; gap:18px; margin:0 auto; padding:12px 14px 12px 22px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:rgba(15,68,76,.94); box-shadow:0 20px 60px rgba(0,0,0,.22); color:#fff; backdrop-filter:blur(16px); transition:opacity .24s ease,transform .24s ease,visibility .24s ease; will-change:opacity,transform; }

    .nj-bookbar.is-yielding { visibility:hidden; opacity:0; pointer-events:none; transform:translateY(calc(100% + 36px)); }



    .nj-bookbar__facts { display:flex; flex-wrap:wrap; gap:14px; align-items:center; font-size:13px; }



    .nj-bookbar strong { color:#fff; }



    .nj-bookbar .nj-button { min-height:46px; padding:10px 18px; }





    @media (max-width:1199.98px) {

      :root { --nj-page-nav-top:0px; --nj-anchor-clearance:74px; }

      .nj-anchorbar__inner { justify-content:flex-start; padding-right:20px; padding-left:20px; }

    }



    @media (max-width:1000px) {



      .nj-section-head,.nj-intro-grid,.nj-compare,.nj-reviews,.nj-journey-selector__head,.nj-hotel-note__collections,.nj-complete-transition__inner { grid-template-columns:1fr; }



      .nj-complete-transition__inner { align-items:start; gap:26px; }

      .nj-complete-transition__download { width:min(100%,520px); justify-self:start; }

      .nj-glance__grid { grid-template-columns:repeat(3,1fr); }



      .nj-included-grid,.nj-hotel-grid,.nj-date-grid,.nj-practical-grid,.nj-faq-grid,.nj-journey-grid { grid-template-columns:repeat(2,1fr); }



    }



    @media (max-width:900px) {

      .nj-bookbar { flex-direction:row; align-items:center; padding:10px; border-radius:22px; }

      .nj-bookbar__facts,.nj-bookbar__chat { display:none; }

      .nj-bookbar .nj-actions { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }

      .nj-bookbar .nj-button { min-height:48px; padding:10px; }

    }



    @media (max-width:720px) {



      .nj-journey-map__inner { width:100%; padding:32px 15px 28px; }



      .nj-journey-map__title { font-size:38px; }



      .nj-journey-map__lede { max-width:360px; margin:8px auto 0; font-size:14px; }



      .nj-journey-map__stage { max-width:430px; height:340px; margin-top:16px; }



      .nj-journey-map__cartography--desktop { display:none; }



      .nj-journey-map__cartography--mobile { display:block; }



      .nj-journey-map__stop { width:142px; }



      .nj-journey-map__stop--01 { top:8%; left:2%; }



      .nj-journey-map__stop--02 { top:24%; left:58%; }



      .nj-journey-map__stop--03 { top:38%; left:2%; }



      .nj-journey-map__stop--04 { top:51%; left:58%; }



      .nj-journey-map__stop--05 { top:65%; left:2%; }



      .nj-journey-map__label { gap:7px; padding:4px 5px; }



      .nj-journey-map__number { width:30px; height:30px; flex-basis:30px; font-size:10px; }



      .nj-journey-map__name { font-size:12px; line-height:1.14; }



      .nj-journey-map__meta { font-size:9px; }



      .nj-journey-map__footer { flex-direction:column; gap:5px; margin-top:12px; }



      .nj-journey-map__summary { font-size:9px; }



    }



    @media (max-width:650px) {



      .nj-shell { width:min(100% - 30px,1180px); }



      .nj-hero { min-height:760px; height:94svh; }



      .nj-hero::after { background:linear-gradient(0deg,rgba(5,30,38,.92),rgba(5,30,38,.28)); }



      .nj-actions { flex-direction:column; align-items:stretch; }



      .nj-button { width:100%; }



      .nj-glance__grid,.nj-included-grid,.nj-hotel-grid,.nj-date-grid,.nj-practical-grid,.nj-faq-grid,.nj-journey-grid { grid-template-columns:1fr; }



      .nj-glance__item { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }



      .nj-final-title { font-size:40px; }

      .nj-anchorbar__inner { justify-content:flex-start; }

    }



    @media (max-width:340px) {

      .nj-bookbar { right:12px; left:12px; }

      .nj-bookbar .nj-actions { gap:6px; }

      .nj-bookbar .nj-button { padding-right:4px; padding-left:4px; letter-spacing:.02em; white-space:nowrap; }

    }



    @media (prefers-reduced-motion:reduce) {



      html { scroll-behavior:auto; }



      .nj-button,.nj-anchorbar__link::after,.nj-bookbar { transition:none; }



      .nj-journey-map__cartography,.nj-journey-map__route-shadow,.nj-journey-map__route,.nj-journey-map__direction,.nj-journey-map__marker,.nj-journey-map__stop { animation:none !important; }



      .nj-journey-map__route-shadow,.nj-journey-map__route { stroke-dashoffset:0; }



    }



    /* Borderless, scroll-led Now Journey Atlas */

    .nj-journey-map { position:relative; overflow:clip; background:#f5f0e8; }

    .nj-journey-map::before { position:absolute; top:5%; right:-13%; bottom:2%; width:76%; background:radial-gradient(ellipse at 46% 45%,rgba(187,211,209,.84) 0%,rgba(211,226,222,.68) 39%,rgba(235,237,226,.42) 61%,rgba(245,240,232,0) 77%); content:""; pointer-events:none; }

    .nj-journey-map__inner { position:relative; z-index:1; width:min(1180px,calc(100% - 56px)); padding:76px 0 62px; }

    .nj-journey-map__header { display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr); gap:clamp(28px,6vw,88px); align-items:end; text-align:left; }

    .nj-journey-map__eyebrow { grid-column:1 / -1; margin-bottom:-18px; }

    .nj-journey-map__title { font-size:clamp(44px,5vw,64px); line-height:.95; }

    .nj-journey-map__lede { max-width:440px; margin:0 0 3px; font-family:"Playfair Display",Georgia,serif; font-size:18px; font-style:italic; line-height:1.55; }

    .nj-journey-map__stage { position:relative; display:grid; grid-template-columns:minmax(0,.84fr) minmax(430px,1.16fr); grid-template-rows:520px; gap:clamp(36px,7vw,96px); align-items:start; width:100%; max-width:none; height:520px; overflow:visible; margin:28px auto 0; border:0; border-radius:0; background:none; box-shadow:none; }

    .nj-journey-map__stage::after { position:absolute; z-index:-1; top:2%; right:-7%; width:62%; height:78%; border-radius:50%; background:radial-gradient(ellipse,rgba(202,222,219,.62),rgba(225,233,226,.3) 53%,rgba(245,240,232,0) 75%); content:""; pointer-events:none; }

    .nj-journey-map__cartography--desktop { display:none !important; }

    .nj-journey-map__cartography--mobile { position:relative; inset:auto; top:auto; z-index:3; display:block; grid-column:2; grid-row:1; align-self:center; justify-self:center; width:100%; max-width:620px; height:520px; overflow:visible; background:radial-gradient(ellipse at 51% 45%,rgba(194,218,216,.78) 0%,rgba(216,230,226,.5) 51%,rgba(245,240,232,0) 77%); filter:drop-shadow(0 17px 22px rgba(27,67,72,.07)); animation:none; }

    .nj-journey-map__coast-shadow { fill:#446b70; opacity:.15; transform:translate(1.45px,1.9px); }

    .nj-journey-map__land { stroke:#806f57; stroke-width:.82; }

    .nj-journey-map__coast-highlight { stroke:#fffdf7; stroke-width:.9; opacity:.78; transform:translate(-.42px,-.5px); }

    .nj-journey-map__land-wash { opacity:.78; }

    .nj-journey-map__terrain { opacity:.18; }

    .nj-journey-map__relief { stroke:#8f714d; stroke-width:.54; opacity:.28; }

    .nj-journey-map__relief-spine { fill:none; stroke:#987b55; stroke-width:5.5; opacity:.075; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }

    .nj-journey-map__sea-line { stroke:#52777b; stroke-width:.55; opacity:.14; }

    .nj-journey-map__atlas-label { fill:#345d63; font-family:"DM Sans",Arial,sans-serif; font-size:6.2px; font-weight:600; letter-spacing:.24em; opacity:.3; text-transform:uppercase; }

    .nj-journey-map__atlas-label--country { fill:#725f46; font-family:"Playfair Display",Georgia,serif; font-size:11px; font-weight:600; letter-spacing:.3em; opacity:.22; }

    .nj-journey-map__connector { display:none; }

    .nj-journey-map__route-shadow { stroke:#244f55; stroke-width:4.2; opacity:.11; }

    .nj-journey-map__route { stroke:#966531; stroke-width:2.15; }

    .nj-journey-map__final-leg-shadow { stroke-width:4.4; opacity:.13; }

    .nj-journey-map__final-leg { stroke:#966531; stroke-width:2.3; }

    .nj-journey-map__direction { stroke:#966531; stroke-width:1.05; opacity:.17; animation:none; }

    .nj-journey-map__marker { opacity:.19; animation:none; transition:opacity .35s ease; }

    .nj-journey-map__marker-engraving { fill:none; stroke:#8c6637; stroke-width:.65; stroke-dasharray:.8 2.2; opacity:.72; vector-effect:non-scaling-stroke; }

    .nj-journey-map__marker.is-active { opacity:1; }

    .nj-journey-map__marker.is-active .nj-journey-map__marker-halo { fill:#faf5ea; stroke:#8c6232; stroke-width:1.65; }

    .nj-journey-map__marker.is-active .nj-journey-map__marker-core { fill:#173f49; }

    .nj-journey-map__marker--finish.is-active .nj-journey-map__marker-halo { fill:#173f49; stroke:#8c6232; }

    .nj-journey-map__marker--finish.is-active .nj-journey-map__marker-core { fill:#f1dfbd; }

    .nj-journey-map__traveler { pointer-events:none; will-change:transform; }

    .nj-journey-map__traveler-wake { fill:rgba(250,245,234,.5); stroke:rgba(140,98,50,.26); stroke-width:.75; vector-effect:non-scaling-stroke; }

    .nj-journey-map__traveler-engraving { fill:none; stroke:#8c6232; stroke-width:.7; stroke-dasharray:.85 2.2; opacity:.9; vector-effect:non-scaling-stroke; }

    .nj-journey-map__traveler-ring { fill:#faf5ea; stroke:#8c6232; stroke-width:1.55; vector-effect:non-scaling-stroke; }

    .nj-journey-map__traveler-core { fill:#173f49; }

    .nj-journey-map__rail { position:relative; z-index:2; grid-column:1; grid-row:1; align-self:start; width:100%; height:520px; min-height:0; overflow:visible; }

    .nj-journey-map__scroll-cue { position:absolute; top:-18px; right:18px; z-index:4; display:flex; align-items:center; gap:10px; margin:0; color:#6f5938; font-size:9px; font-weight:700; letter-spacing:.17em; line-height:1; text-transform:uppercase; pointer-events:none; transition:opacity .35s ease,transform .35s ease; }

    .nj-journey-map__scroll-cue--mobile { display:none; }

    .nj-journey-map__scroll-arrow { position:relative; display:block; width:1px; height:22px; background:linear-gradient(to bottom,rgba(159,115,56,.18),#9f7338); animation:nj-journey-map-scroll-cue 1.8s cubic-bezier(.55,.08,.35,1) infinite; }

    .nj-journey-map__scroll-arrow::after { position:absolute; right:-2px; bottom:0; width:5px; height:5px; border-right:1px solid #9f7338; border-bottom:1px solid #9f7338; content:""; transform:rotate(45deg); }

    .nj-journey-map.has-engaged .nj-journey-map__scroll-cue { opacity:0; transform:translateY(4px); }

    .nj-journey-map__stops { position:relative; inset:auto; z-index:2; display:block; width:100%; height:520px; min-height:0; overflow-x:hidden; overflow-y:auto; margin:0; padding:0 14px 360px 0; scroll-behavior:smooth; scroll-snap-type:y mandatory; scrollbar-color:rgba(159,115,56,.48) transparent; scrollbar-width:thin; pointer-events:auto; }

    .nj-journey-map__stops::-webkit-scrollbar { width:3px; }

    .nj-journey-map__stops::-webkit-scrollbar-track { background:transparent; }

    .nj-journey-map__stops::-webkit-scrollbar-thumb { border-radius:3px; background:rgba(159,115,56,.42); }

    .nj-journey-map__stops:focus-visible { outline:1px solid rgba(159,115,56,.62); outline-offset:8px; }

    @keyframes nj-journey-map-scroll-cue { 0%,100% { opacity:.42; transform:translateY(-2px); } 50% { opacity:1; transform:translateY(3px); } }

    .nj-journey-map__stop,.nj-journey-map__stop--01,.nj-journey-map__stop--02,.nj-journey-map__stop--03,.nj-journey-map__stop--04,.nj-journey-map__stop--05 { position:relative; top:auto; left:auto; display:flex; width:auto; height:200px; min-height:200px; align-items:center; padding:12px 0; border-top:1px solid rgba(111,86,53,.14); opacity:.34; transform:none; scroll-snap-align:start; scroll-snap-stop:always; animation:none; transition:opacity .4s ease; }

    .nj-journey-map__stop:last-child { border-bottom:1px solid rgba(111,86,53,.14); }

    .nj-journey-map__stop.is-active { opacity:1; }

    .nj-journey-map__stop:hover { opacity:.72; }

    .nj-journey-map__stop.is-active:hover { opacity:1; }

    .nj-journey-map__label { align-items:flex-start; gap:18px; width:100%; max-width:490px; padding:0; border-radius:0; background:none; box-shadow:none; }

    .nj-journey-map__number { width:42px; height:42px; flex:0 0 42px; margin-top:4px; border-color:rgba(140,98,50,.5); background:rgba(250,245,234,.62); color:#71502c; font-size:10px; box-shadow:0 0 0 3px rgba(140,98,50,.055); transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease; }

    .nj-journey-map__stop--01 .nj-journey-map__number,.nj-journey-map__stop--05 .nj-journey-map__number { border-color:rgba(159,115,56,.55); background:rgba(247,239,223,.64); color:#765027; }

    .nj-journey-map__stop.is-active .nj-journey-map__number { border-color:#8c6232; background:#8c6232; color:#fffdf8; box-shadow:0 0 0 4px rgba(140,98,50,.11); }

    .nj-journey-map__stop--05.is-active .nj-journey-map__number { border-color:var(--nj-deep); background:var(--nj-deep); color:#f1dfbd; }

    .nj-journey-map__name { color:#173f49; font-size:clamp(29px,3.25vw,43px); font-weight:700; letter-spacing:-.04em; line-height:1; }

    .nj-journey-map__stop--05 .nj-journey-map__name { font-size:clamp(28px,2.75vw,34px); line-height:1.06; }

    .nj-journey-map__meta { margin-top:6px; color:#52676b; font-size:10px; font-weight:700; letter-spacing:.12em; }

    .nj-journey-map__sentence { display:block; max-width:420px; margin-top:6px; color:#455f63; font-family:"Playfair Display",Georgia,serif; font-size:16px; font-style:italic; font-weight:400; letter-spacing:-.01em; line-height:1.38; }

    .nj-journey-map__footer { justify-content:flex-start; gap:26px; margin-top:22px; padding-right:56%; text-align:left; }

    .nj-journey-map__summary { line-height:1.55; }

    @media (max-width:900px) {

      .nj-journey-map::before { top:12%; right:-28%; bottom:12%; width:112%; }

      .nj-journey-map__inner { width:100%; padding:64px 22px 44px; }

      .nj-journey-map__header { display:block; }

      .nj-journey-map__eyebrow { margin-bottom:6px; }

      .nj-journey-map__lede { max-width:520px; margin-top:14px; }

      .nj-journey-map__stage { display:flex; height:auto; flex-direction:column; gap:0; margin-top:18px; }

      .nj-journey-map__stage::after { top:-2%; right:-28%; width:150%; height:38%; }

      .nj-journey-map__cartography--mobile { position:relative; top:auto; order:-1; width:min(100%,430px); height:auto; margin:0 auto; background:radial-gradient(ellipse at 51% 45%,rgba(194,218,216,.91),rgba(222,233,228,.76) 55%,rgba(245,240,232,0) 78%); filter:drop-shadow(0 12px 18px rgba(27,67,72,.06)); }

      .nj-journey-map__rail { order:0; width:100%; max-width:620px; height:230px; margin:0 auto; }

      .nj-journey-map__scroll-cue { top:13px; right:19px; gap:9px; }

      .nj-journey-map__scroll-cue--desktop { display:none; }

      .nj-journey-map__scroll-cue--mobile { display:inline; }

      .nj-journey-map__scroll-arrow { height:20px; transform:rotate(-90deg); animation:nj-journey-map-swipe-cue 1.8s cubic-bezier(.55,.08,.35,1) infinite; }

      .nj-journey-map.has-engaged .nj-journey-map__scroll-cue { transform:translateX(4px); }

      .nj-journey-map__stops { display:flex; width:100%; max-width:none; height:100%; overflow-x:auto; overflow-y:hidden; margin:0; padding:0 34px 0 0; scroll-snap-type:x mandatory; scrollbar-width:none; }

      .nj-journey-map__stops::-webkit-scrollbar { display:none; }

      .nj-journey-map__stop,.nj-journey-map__stop--01,.nj-journey-map__stop--02,.nj-journey-map__stop--03,.nj-journey-map__stop--04,.nj-journey-map__stop--05 { width:auto; height:100%; min-height:0; flex:0 0 calc(100% - 44px); margin-right:28px; padding:25px 12px 24px 0; border-bottom:1px solid rgba(111,86,53,.14); border-right:1px solid rgba(111,86,53,.1); scroll-snap-align:start; }

      .nj-journey-map__label { max-width:540px; }

      .nj-journey-map__name { font-size:clamp(31px,9vw,42px); }

      .nj-journey-map__sentence { font-size:16px; line-height:1.38; }

      .nj-journey-map__footer { flex-direction:column; align-items:flex-start; gap:8px; max-width:620px; margin:22px auto 0; padding-right:0; text-align:left; }

    }

    @media (max-width:480px) {

      .nj-journey-map__inner { padding-right:18px; padding-left:18px; }

      .nj-journey-map__title { font-size:42px; }

      .nj-journey-map__lede { font-size:17px; }

      .nj-journey-map__cartography--mobile { top:auto; width:calc(100% + 4px); margin-left:-2px; }

      .nj-journey-map__rail { height:225px; }

      .nj-journey-map__stops { height:100%; padding-right:26px; }

      .nj-journey-map__stop,.nj-journey-map__stop--01,.nj-journey-map__stop--02,.nj-journey-map__stop--03,.nj-journey-map__stop--04,.nj-journey-map__stop--05 { height:100%; min-height:0; flex-basis:calc(100% - 30px); margin-right:20px; padding:22px 10px 20px 0; }

      .nj-journey-map__label { gap:13px; }

      .nj-journey-map__number { width:36px; height:36px; flex-basis:36px; }

      .nj-journey-map__name { font-size:31px; }

      .nj-journey-map__stop--05 .nj-journey-map__name { font-size:26px; line-height:1.06; }

      .nj-journey-map__sentence { margin-top:6px; font-size:14.5px; line-height:1.35; }

    }

    @media (prefers-reduced-motion:reduce) {

      .nj-journey-map__marker,.nj-journey-map__number,.nj-journey-map__stop { transition:none; }

      .nj-journey-map__stops { scroll-behavior:auto; }

      .nj-journey-map__scroll-arrow { animation:none; }

    }

    @keyframes nj-journey-map-swipe-cue { 0%,100% { opacity:.42; transform:rotate(-90deg) translateY(-2px); } 50% { opacity:1; transform:rotate(-90deg) translateY(3px); } }



    /* Entirely new editorial atlas plate and route system */

    .nj-journey-map__stage::after { display:none; }

    .nj-journey-map__atlas-art { position:relative; z-index:3; grid-column:2; grid-row:1; align-self:center; justify-self:center; width:100%; max-width:620px; aspect-ratio:1375 / 1144; }

    .nj-journey-map__atlas-plate { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 18px 25px rgba(36,57,52,.065)); -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 49%,#000 0%,#000 78%,rgba(0,0,0,.98) 82%,rgba(0,0,0,.76) 89%,rgba(0,0,0,.28) 96%,transparent 100%); mask-image:radial-gradient(ellipse 50% 50% at 50% 49%,#000 0%,#000 78%,rgba(0,0,0,.98) 82%,rgba(0,0,0,.76) 89%,rgba(0,0,0,.28) 96%,transparent 100%); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-size:100% 100%; mask-size:100% 100%; }

    .nj-journey-map__atlas-overlay { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:visible; pointer-events:none; }

    .nj-atlas-plate__labels { pointer-events:none; }

    .nj-atlas-plate__place { fill:#173f49; font-family:"Playfair Display",Georgia,serif; font-size:26.4px; font-weight:700; letter-spacing:-.02em; paint-order:stroke; stroke:rgba(249,245,236,.9); stroke-width:5px; stroke-linejoin:round; }

    .nj-atlas-plate__region { fill:#6f6049; font-family:"DM Sans",Arial,sans-serif; font-size:14.3px; font-weight:700; letter-spacing:.14em; opacity:.78; paint-order:stroke; stroke:rgba(249,245,236,.9); stroke-width:4px; text-transform:uppercase; }

    .nj-atlas-plate__route-shadow,.nj-atlas-plate__route,.nj-atlas-plate__final-leg-shadow,.nj-atlas-plate__final-leg { fill:none; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }

    .nj-atlas-plate__route-shadow { stroke:#fbf7ed; stroke-width:12.5px; opacity:.92; }

    .nj-atlas-plate__route { stroke:#92562f; stroke-width:5.2px; }

    .nj-atlas-plate__final-leg-shadow { stroke:#fbf7ed; stroke-width:13.5px; opacity:.94; }

    .nj-atlas-plate__final-leg { stroke:#873f2d; stroke-width:5.8px; }

    .nj-atlas-plate__marker { opacity:.22; transition:opacity .35s ease; }

    .nj-atlas-plate__marker.is-active { opacity:1; }

    .nj-atlas-plate__marker-ring { fill:none; stroke:#85542e; stroke-width:1.8px; stroke-dasharray:2 5; vector-effect:non-scaling-stroke; }

    .nj-atlas-plate__marker-halo { fill:#fbf7ed; stroke:#85542e; stroke-width:1.6px; vector-effect:non-scaling-stroke; }

    .nj-atlas-plate__marker-core { fill:#173f49; }

    .nj-atlas-plate__marker--05.is-active .nj-atlas-plate__marker-halo { fill:#173f49; }

    .nj-atlas-plate__marker--05.is-active .nj-atlas-plate__marker-core { fill:#f1dfbd; }

    .nj-atlas-plate__traveler { pointer-events:none; will-change:transform; }

    .nj-atlas-plate__traveler-wake { fill:rgba(251,247,237,.82); stroke:rgba(133,84,46,.3); stroke-width:1px; vector-effect:non-scaling-stroke; }

    .nj-atlas-plate__traveler-ring { fill:#fbf7ed; stroke:#85542e; stroke-width:1.8px; vector-effect:non-scaling-stroke; }

    .nj-atlas-plate__traveler-core { fill:#173f49; }

    @media (max-width:900px) {

      .nj-journey-map__atlas-art { order:-1; width:min(100%,430px); margin:0 auto; }

      .nj-journey-map__atlas-plate { filter:drop-shadow(0 12px 18px rgba(36,57,52,.055)); }

    }

    @media (max-width:480px) {

      .nj-journey-map__atlas-art { width:calc(100% + 4px); margin-left:-2px; }

    }

    @media (prefers-reduced-motion:reduce) {

      .nj-atlas-plate__marker { transition:none; }

    }
/* Page-scoped IGC family refinement */
    .nj-tour .nj-cta-label--mobile,
    .nj-tour .nj-journey-selector__mobile-intro { display:none; }

    .nj-tour .nj-hero__reassurance { display:block; margin:12px 0 0; color:rgba(255,255,255,.78); font-size:12px; letter-spacing:.04em; line-height:1.5; }

    .nj-tour .nj-glance__item { padding:18px 14px; }
    .nj-tour .nj-glance strong { line-height:1.2; }
    .nj-tour .nj-glance span { display:block; margin-top:4px; line-height:1.2; }

    .nj-tour .nj-anchorbar a { position:relative; }
    .nj-tour .nj-anchorbar a::after {
      position:absolute;
      right:0;
      bottom:5px;
      left:0;
      height:2px;
      background:var(--nj-gold);
      content:"";
      opacity:0;
      transform:scaleX(.25);
      transition:opacity .2s ease,transform .2s ease;
    }
    .nj-tour .nj-anchorbar a:hover::after,
    .nj-tour .nj-anchorbar a:focus::after,
    .nj-tour .nj-anchorbar a.is-current::after { opacity:1; transform:scaleX(1); }
    .nj-tour .nj-anchorbar a[href="#proposal"] { display:inline-flex !important; }

    .nj-tour #overview,
    .nj-tour #why,
    .nj-tour #complete-journey,
    .nj-tour #itinerary,
    .nj-tour #hotels,
    .nj-tour #dates,
    .nj-tour #reviews,
    .nj-tour #faq,
    .nj-tour #proposal,
    .nj-tour #journeys { scroll-margin-top:88px; }

    .nj-tour .nj-pricing-key {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin:-10px 0 28px;
    }
    .nj-tour .nj-pricing-key__item {
      display:flex;
      min-width:0;
      flex-direction:column;
      gap:3px;
      padding:15px 18px;
      border:1px solid rgba(23,63,73,.12);
      border-radius:14px;
      background:#fff;
    }
    .nj-tour .nj-pricing-key__item--signature {
      border-color:rgba(185,120,20,.3);
      border-left:4px solid #e7a332;
      background:linear-gradient(145deg,#fffdf8,#fff5e3);
      box-shadow:0 12px 28px rgba(108,72,17,.08);
    }
    .nj-tour .nj-pricing-key__item--elevated {
      border-left:3px solid #6f939a;
      background:#f8fbfa;
    }
    .nj-tour .nj-pricing-key strong {
      color:var(--nj-deep);
      font-size:13px;
      font-weight:800;
      letter-spacing:.055em;
      line-height:1.25;
    }
    .nj-tour .nj-pricing-key span {
      color:var(--nj-muted);
      font-size:13px;
      line-height:1.35;
    }

    /* Keep Return to top only after the itinerary, Hotels, Dates & Prices and FAQs. */
    .nj-tour .nj-return-top { display:none; }
    .nj-tour #itinerary .nj-chapters > .nj-return-top,
    .nj-tour #sorrento .nj-itinerary-days > .nj-return-top,
    .nj-tour #hotels .nj-return-top,
    .nj-tour #dates .nj-return-top,
    .nj-tour #faq .nj-return-top { display:flex; }

    @media (max-width:767px) {
      .nj-tour { overflow-x:clip; }

      .nj-tour .nj-hero__actions {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px !important;
        align-items:stretch !important;
      }
      .nj-tour .nj-hero__actions .nj-button {
        width:100% !important;
        min-width:0;
        min-height:44px !important;
        height:44px;
        padding:8px 7px !important;
        border-width:1px;
        border-radius:999px;
        font-size:12px !important;
        letter-spacing:.025em;
        line-height:1.1;
        white-space:nowrap;
      }
      .nj-tour .nj-cta-label--desktop { display:none; }
      .nj-tour .nj-cta-label--mobile { display:inline; }
      .nj-tour .nj-hero__actions a[href="#dates"] {
        order:2 !important;
        border-color:rgba(255,255,255,.78) !important;
        background:rgba(5,30,38,.3) !important;
        color:#fff !important;
      }
      .nj-tour .nj-hero__actions a[href="/reservation/"],
      .nj-tour .nj-hero__actions [data-tour-proposal] {
        order:1 !important;
        border-color:var(--nj-gold) !important;
        background:var(--nj-gold) !important;
        color:var(--nj-deep) !important;
      }

      .nj-tour .nj-anchorbar__inner {
        justify-content:flex-start !important;
        gap:12px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        padding-right:15px !important;
        padding-left:15px !important;
        white-space:nowrap;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
      }
      .nj-tour .nj-anchorbar__inner::-webkit-scrollbar { display:none; }
      .nj-tour .nj-anchorbar a {
        display:inline-flex !important;
        min-height:46px;
        padding:0 2px;
        font-size:10px;
        letter-spacing:.045em;
      }
      .nj-tour .nj-mobile-more { display:none !important; }

      .nj-tour .nj-glance { display:block !important; overflow:hidden; }
      .nj-tour .nj-glance__grid {
        display:flex !important;
        width:100%;
        max-width:none;
        gap:0;
        overflow-x:auto;
        overflow-y:hidden;
        margin:0;
        padding:0 15px;
        scroll-padding-left:15px;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
      }
      .nj-tour .nj-glance__grid::-webkit-scrollbar { display:none; }
      .nj-tour .nj-glance__item {
        display:flex;
        min-height:72px;
        flex:0 0 min(72vw,245px);
        flex-direction:column;
        justify-content:center;
        padding:10px 16px;
        border-right:1px solid rgba(255,255,255,.14) !important;
        border-bottom:0 !important;
        text-align:left !important;
        scroll-snap-align:start;
      }
      .nj-tour .nj-glance__item:last-child { border-right:0 !important; }
      .nj-tour .nj-glance strong { font-size:14px; }
      .nj-tour .nj-glance span { margin-top:3px; font-size:9px; }

      .nj-tour .nj-mobile-edition-segments,
      .nj-tour .nj-mobile-edition-toggle { display:none !important; }
      .nj-tour .nj-journey-selector,
      .nj-tour .nj-journey-selector.is-mobile-edition-enhanced { padding:24px 0 28px; }
      .nj-tour .nj-journey-selector .nj-journey-selector__head,
      .nj-tour .nj-journey-selector.is-mobile-edition-enhanced .nj-journey-selector__head {
        display:block !important;
        margin:0 0 10px !important;
      }
      .nj-tour .nj-journey-selector__head > p { display:none; }
      .nj-tour .nj-journey-selector__head h2 {
        margin-top:3px;
        font-size:30px !important;
        line-height:1.04;
      }
      .nj-tour .nj-journey-selector__mobile-intro {
        display:block;
        margin:0 0 16px;
        color:var(--nj-muted);
        font-size:14px;
        line-height:1.5;
      }
      .nj-tour .nj-journey-selector .nj-journey-grid,
      .nj-tour .nj-journey-selector.is-mobile-edition-enhanced .nj-journey-grid {
        display:flex !important;
        width:calc(100% + 15px);
        gap:12px;
        overflow-x:auto;
        overflow-y:hidden;
        margin-right:-15px;
        padding:3px 30px 18px 2px;
        scroll-padding-left:2px;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
      }
      .nj-tour .nj-journey-grid::-webkit-scrollbar { display:none; }
      .nj-tour .nj-journey-card {
        min-height:0;
        flex:0 0 min(80vw,310px);
        padding:18px;
        border-radius:19px;
        scroll-snap-align:start;
      }
      .nj-tour .nj-journey-card h3 { font-size:24px; }
      .nj-tour .nj-journey-card p { font-size:14px; }
      .nj-tour .nj-journey-selector .nj-journey-card--active[aria-current="page"] {
        border-width:2px;
        box-shadow:0 16px 34px rgba(23,63,73,.11),0 6px 18px rgba(223,134,27,.12);
      }

      .nj-tour .nj-pricing-key {
        gap:8px;
        margin:0 0 22px;
      }
      .nj-tour .nj-pricing-key__item { padding:12px; border-radius:12px; }
      .nj-tour .nj-pricing-key strong { font-size:11px; letter-spacing:.025em; }
      .nj-tour .nj-pricing-key span { font-size:11px; }

      .nj-tour .nj-return-top { margin-top:24px; }
      .nj-tour .nj-return-top a { font-size:10px; letter-spacing:.07em; }
    }

    /* IGC reusable editorial storytelling and Journey Guide patterns. */
    .nj-tour .nj-journey-story {
      position:relative;
      overflow:hidden;
      padding:clamp(88px,11vw,150px) 0 clamp(72px,9vw,118px);
      border-bottom:1px solid var(--nj-line);
      background:
        radial-gradient(circle at 8% 8%,rgba(243,166,55,.09),transparent 24rem),
        linear-gradient(180deg,#fffdf8 0%,#f5eddf 52%,#fffdf8 100%);
    }
    .nj-tour .nj-journey-story__header {
      display:grid;
      grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);
      gap:clamp(42px,7vw,92px);
      align-items:end;
      margin-bottom:clamp(76px,10vw,132px);
    }
    .nj-tour .nj-journey-story__header .nj-eyebrow { color:var(--nj-teal); }
    .nj-tour .nj-journey-story__title {
      max-width:760px;
      margin:0;
      color:var(--nj-ink);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(46px,6.2vw,84px);
      font-weight:700;
      letter-spacing:-.055em;
      line-height:.96;
    }
    .nj-tour .nj-journey-story__intro {
      max-width:61ch;
      margin:0;
      color:var(--nj-muted);
      font-size:clamp(17px,1.65vw,20px);
      line-height:1.78;
    }
    .nj-tour .nj-journey-story__acts { position:relative; }
    .nj-tour .nj-journey-story__acts::before {
      position:absolute;
      top:0;
      bottom:0;
      left:50%;
      width:1px;
      background:linear-gradient(180deg,transparent,rgba(23,63,73,.14) 8%,rgba(23,63,73,.14) 92%,transparent);
      content:"";
      pointer-events:none;
    }
    .nj-tour .nj-journey-story__act {
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
      gap:clamp(48px,7vw,94px);
      align-items:center;
      padding:0 0 clamp(94px,11vw,148px);
    }
    .nj-tour .nj-journey-story__act:nth-child(even) { grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); }
    .nj-tour .nj-journey-story__act:nth-child(even) .nj-journey-story__media { order:2; }
    .nj-tour .nj-journey-story__act--pause { padding-top:clamp(18px,3vw,42px); padding-bottom:clamp(118px,14vw,180px); }
    .nj-tour .nj-journey-story__act:last-child { padding-bottom:0; }
    .nj-tour .nj-journey-story__media {
      position:relative;
      min-width:0;
      margin:0;
      overflow:hidden;
      aspect-ratio:16/10;
      background:var(--nj-deep);
    }
    .nj-tour .nj-journey-story__act--pause .nj-journey-story__media { aspect-ratio:16/9; }
    .nj-tour .nj-journey-story__media::after {
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,transparent 58%,rgba(8,34,41,.18));
      content:"";
      pointer-events:none;
    }
    .nj-tour .nj-journey-story__image { display:block; width:100%; height:100%; object-fit:cover; }
    .nj-tour .nj-journey-story__image--venice { object-position:center 54%; }
    .nj-tour .nj-journey-story__image--florence { object-position:center 48%; }
    .nj-tour .nj-journey-story__image--tuscany { object-position:center 52%; }
    .nj-tour .nj-journey-story__image--rome { object-position:center 50%; }
    .nj-tour .nj-journey-story__image--coast { object-position:center 56%; }
    .nj-tour .nj-journey-story__copy { position:relative; z-index:1; max-width:520px; }
    .nj-tour .nj-journey-story__chapter {
      display:flex;
      align-items:center;
      gap:13px;
      margin:0 0 24px;
      color:var(--nj-teal);
      font-size:11px;
      font-weight:700;
      letter-spacing:.17em;
      line-height:1.35;
      text-transform:uppercase;
    }
    .nj-tour .nj-journey-story__number { color:#b97814; font-size:13px; }
    .nj-tour .nj-journey-story__chapter::after { width:54px; height:1px; background:rgba(185,120,20,.52); content:""; }
    .nj-tour .nj-journey-story__place { margin:0 0 12px; color:var(--nj-muted); font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
    .nj-tour .nj-journey-story__copy h3 {
      margin:0 0 22px;
      color:var(--nj-ink);
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(38px,4.3vw,60px);
      font-weight:700;
      letter-spacing:-.05em;
      line-height:.99;
    }
    .nj-tour .nj-journey-story__copy > p:last-child { margin:0; color:var(--nj-muted); font-size:17px; line-height:1.75; }
    .nj-tour .nj-journey-story__handoff {
      max-width:720px;
      margin:clamp(82px,11vw,142px) auto 0;
      padding-top:34px;
      border-top:1px solid rgba(23,63,73,.18);
      text-align:center;
    }
    .nj-tour .nj-journey-story__handoff h3 { margin:0 0 12px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(34px,4vw,52px); letter-spacing:-.045em; line-height:1.04; }
    .nj-tour .nj-journey-story__handoff p { margin:0 0 18px; color:var(--nj-muted); font-size:17px; line-height:1.65; }
    .nj-tour .nj-journey-story__link { display:inline-flex; min-height:44px; align-items:center; gap:10px; color:var(--nj-teal) !important; font-size:12px; font-weight:700; letter-spacing:.1em; text-decoration:none !important; text-transform:uppercase; }
    .nj-tour .nj-journey-story__link::after { content:"\2193"; font-size:18px; font-weight:400; transition:transform .2s ease; }
    .nj-tour .nj-journey-story__link:hover::after { transform:translateY(3px); }
    .nj-tour .nj-journey-story__link:focus-visible { border-radius:3px; outline:2px solid var(--nj-blue); outline-offset:4px; }

    .nj-tour .nj-guide-trigger {
      display:grid;
      width:100%;
      min-height:64px;
      grid-template-columns:minmax(0,1fr) 44px;
      gap:18px;
      align-items:center;
      margin:26px 0 4px;
      padding:18px 0;
      border:0;
      border-top:1px solid rgba(23,63,73,.18);
      border-bottom:1px solid rgba(23,63,73,.18);
      border-radius:0;
      background:transparent;
      color:var(--nj-ink);
      font:inherit;
      text-align:left;
      cursor:pointer;
    }
    .nj-tour .nj-guide-trigger__eyebrow { display:block; margin-bottom:6px; color:#a86608; font-size:10px; font-weight:800; letter-spacing:.17em; line-height:1.3; text-transform:uppercase; }
    .nj-tour .nj-guide-trigger__title { display:block; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(20px,2vw,25px); font-weight:700; letter-spacing:-.025em; line-height:1.2; }
    .nj-tour .nj-guide-trigger__icon { display:flex; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid rgba(23,111,103,.28); border-radius:50%; color:var(--nj-teal); font-size:25px; font-weight:300; line-height:1; transition:background-color .2s ease,color .2s ease,transform .2s ease; }
    .nj-tour .nj-guide-trigger:hover .nj-guide-trigger__icon { background:var(--nj-teal); color:#fff; transform:translateX(2px); }
    .nj-tour .nj-guide-trigger:focus-visible { outline:2px solid var(--nj-blue); outline-offset:5px; }

    body.nj-guide-is-open { position:fixed; width:100%; overflow:hidden; }
    .nj-tour .nj-guide-layer { position:fixed; inset:0; z-index:2147483646; }
    .nj-tour .nj-guide-layer[hidden] { display:none; }
    .nj-tour .nj-guide-backdrop { position:absolute; inset:0; border:0; background:rgba(8,34,41,.42); opacity:0; backdrop-filter:blur(2px); transition:opacity .24s ease; }
    .nj-tour .nj-guide-drawer {
      position:absolute;
      top:0;
      right:0;
      display:flex;
      width:min(460px,calc(100vw - 42px));
      height:100%;
      flex-direction:column;
      padding:clamp(28px,4vw,48px);
      border-left:1px solid rgba(23,63,73,.13);
      background:#fffdf8;
      box-shadow:-26px 0 70px rgba(7,31,38,.19);
      transform:translateX(102%);
      transition:transform .28s cubic-bezier(.22,.72,.25,1);
    }
    .nj-tour .nj-guide-layer.is-open .nj-guide-backdrop { opacity:1; }
    .nj-tour .nj-guide-layer.is-open .nj-guide-drawer { transform:translateX(0); }
    .nj-tour .nj-guide-drawer__top { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:20px; margin-bottom:36px; padding-bottom:18px; border-bottom:1px solid var(--nj-line); }
    .nj-tour .nj-guide-drawer__eyebrow { margin:0; color:#a86608; font-size:10px; font-weight:800; letter-spacing:.18em; line-height:1.3; text-transform:uppercase; }
    .nj-tour .nj-guide-drawer__close { display:flex; width:44px; height:44px; flex:0 0 44px; align-items:center; justify-content:center; padding:0; border:1px solid rgba(23,63,73,.2); border-radius:50%; background:transparent; color:var(--nj-ink); font-size:25px; line-height:1; cursor:pointer; }
    .nj-tour .nj-guide-drawer__close:hover { background:var(--nj-deep); color:#fff; }
    .nj-tour .nj-guide-drawer__close:focus-visible { outline:2px solid var(--nj-blue); outline-offset:3px; }
    .nj-tour .nj-guide-drawer__scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:4px; -webkit-overflow-scrolling:touch; }
    .nj-tour .nj-guide-drawer__title { margin:0 0 24px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(36px,4vw,48px); font-weight:700; letter-spacing:-.05em; line-height:1.02; }
    .nj-tour .nj-guide-drawer__body p { margin:0 0 18px; color:var(--nj-muted); font-size:16px; line-height:1.72; }
    .nj-tour .nj-guide-drawer__body p:last-child { margin-bottom:0; }
    .nj-tour .nj-guide-drawer__detail { margin-top:28px !important; padding:20px 0 0; border-top:1px solid rgba(23,63,73,.16); color:var(--nj-ink) !important; }
    .nj-tour .nj-guide-drawer__detail strong { display:block; margin-bottom:7px; color:var(--nj-teal); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }

    @media (max-width:820px) {
      .nj-tour .nj-journey-story { padding:72px 0 68px; }
      .nj-tour .nj-journey-story__header { grid-template-columns:1fr; gap:26px; margin-bottom:70px; }
      .nj-tour .nj-journey-story__title { font-size:clamp(42px,12vw,62px); }
      .nj-tour .nj-journey-story__acts::before { display:none; }
      .nj-tour .nj-journey-story__act,
      .nj-tour .nj-journey-story__act:nth-child(even) { grid-template-columns:1fr; gap:31px; padding:0 0 84px; }
      .nj-tour .nj-journey-story__act:nth-child(even) .nj-journey-story__media { order:0; }
      .nj-tour .nj-journey-story__act--pause { padding-top:0; padding-bottom:96px; }
      .nj-tour .nj-journey-story__act:last-child { padding-bottom:0; }
      .nj-tour .nj-journey-story__media,
      .nj-tour .nj-journey-story__act--pause .nj-journey-story__media { aspect-ratio:4/3; }
      .nj-tour .nj-journey-story__copy { max-width:none; }
      .nj-tour .nj-journey-story__chapter { margin-bottom:17px; }
      .nj-tour .nj-journey-story__copy h3 { margin-bottom:16px; font-size:clamp(35px,10vw,49px); }
      .nj-tour .nj-journey-story__copy > p:last-child { font-size:16px; line-height:1.7; }
      .nj-tour .nj-journey-story__handoff { margin-top:82px; }
      .nj-tour .nj-guide-drawer {
        top:auto;
        bottom:0;
        width:100%;
        height:auto;
        max-height:min(88vh,760px);
        padding:24px 22px max(28px,env(safe-area-inset-bottom));
        border:0;
        border-radius:26px 26px 0 0;
        box-shadow:0 -24px 64px rgba(7,31,38,.23);
        transform:translateY(102%);
      }
      .nj-tour .nj-guide-layer.is-open .nj-guide-drawer { transform:translateY(0); }
      .nj-tour .nj-guide-drawer__top { margin-bottom:26px; padding-bottom:14px; }
      .nj-tour .nj-guide-drawer__title { margin-bottom:18px; font-size:clamp(34px,10vw,44px); }
      .nj-tour .nj-guide-drawer__body p { font-size:15px; line-height:1.68; }

      .nj-tour .nj-option-drawer {
        top:auto;
        bottom:0;
        width:100%;
        height:auto;
        max-height:min(92dvh,820px);
        border:0;
        border-top:4px solid #c78a2c;
        border-radius:26px 26px 0 0;
        box-shadow:0 -24px 64px rgba(7,31,38,.26);
        transform:translateY(102%);
      }
      .nj-tour .nj-option-layer.is-open .nj-option-drawer { transform:translateY(0); }
      .nj-tour .nj-option-drawer__top { padding:18px 20px 14px; }
      .nj-tour .nj-option-drawer__scroll { padding:27px 20px max(34px,env(safe-area-inset-bottom)); }
      .nj-tour .nj-option-drawer__title { margin-bottom:14px; font-size:clamp(34px,10vw,44px); }
      .nj-tour .nj-option-drawer__intro { margin-bottom:25px; font-size:15px; line-height:1.65; }
      .nj-tour .nj-option-card { padding:19px 18px; }
      .nj-tour .nj-option-card__title { font-size:22px; }
    }

    @media (max-width:600px) {
      .nj-tour .nj-hero__actions { grid-template-columns:1fr; }
      .nj-tour .nj-hero__actions .nj-button { height:auto; min-height:48px !important; padding:11px 14px !important; }
    }

    @media (prefers-reduced-motion:reduce) {
      .nj-tour .nj-anchorbar a::after { transition:none; }
      .nj-tour .nj-glance__grid,
      .nj-tour .nj-journey-grid { scroll-behavior:auto; }
      .nj-tour .nj-journey-story__link::after,
      .nj-tour .nj-guide-trigger__icon,
      .nj-tour .nj-guide-backdrop,
      .nj-tour .nj-guide-drawer,
      .nj-tour .nj-option-trigger,
      .nj-tour .nj-option-trigger__icon,
      .nj-tour .nj-option-index__card,
      .nj-tour .nj-option-backdrop,
      .nj-tour .nj-option-drawer { transition:none; }
    }
/* Exact IGC responsive layer. */
/* NOW JOURNEY MOBILE UX BUILD: 2026-08-06T12:59 */
/* Mobile conversion and accessibility enhancements for Italy's Great Cities. */
.nj-hero__route {
  max-width: 760px;
  margin: -8px 0 22px;
  color: rgba(255,255,255,.88);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.55;
}

.nj-hero__reassurance {
  margin: 13px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  font-weight: 600;
}

.nj-decision-trust {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  overflow: hidden;
  margin: 32px 0 0;
  border: 1px solid rgba(23,63,73,.12);
  border-radius: 18px;
  background: rgba(23,63,73,.12);
}

.nj-decision-trust span {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: #fffdf8;
  color: var(--nj-deep);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.nj-complete-transition__inner {
  grid-template-columns: minmax(0,1fr) 280px;
  gap: clamp(64px,8vw,112px);
  align-items: center;
}

.nj-complete-transition__copy {
  width: 100%;
  max-width: 940px;
}

.nj-complete-transition__download {
  width: 280px;
  max-width: 100%;
  justify-self: end;
  padding: 20px;
  border: 1px solid rgba(23,63,73,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.38);
}

.nj-complete-transition__download p {
  margin: 0 0 16px;
  color: #6e7c7f;
  font-size: 13px;
  line-height: 1.55;
}

.nj-complete-transition__download .nj-button {
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  font-size: 11px;
  letter-spacing: .04em;
  text-align: center;
}

@media (max-width: 1000px) {
  .nj-complete-transition__inner { grid-template-columns: 1fr; gap: 26px; }
  .nj-complete-transition__download { width: min(100%,520px); justify-self: start; }
}

.nj-mobile-edition-toggle,
.nj-itinerary-mobile-controls,
.nj-chapter-toggle,
.nj-route-progress,
.nj-year-tabs,
.nj-season-toggle { display: none; }

.nj-mobile-chapter-nights { display: none; }

.nj-bookbar__mobile-actions { display: none !important; }

@media (max-width: 767px) {
  :root {
    --nj-page-nav-height: 56px;
    --nj-anchor-clearance: 76px;
  }

  .nj-tour {
    padding-bottom: calc(86px + env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-x: clip;
  }

  .nj-tour p,
  .nj-tour li { font-size: max(16px,1rem); }

  .nj-page-anchor,
  .nj-itinerary-chapter,
  #overview,
  #why,
  #complete-journey,
  #hotels,
  #dates,
  #faq,
  #proposal { scroll-margin-top: var(--nj-anchor-clearance); }

  .nj-hero {
    min-height: 0;
    height: auto;
    align-items: stretch;
    background-image: url('/images/italy-cinematic-pause.png');
    background-position: 56% center;
  }

  .nj-hero::after {
    background: linear-gradient(0deg,rgba(5,30,38,.96) 0%,rgba(5,30,38,.86) 64%,rgba(5,30,38,.42) 100%);
  }

  .nj-hero__content {
    padding: 64px 0 34px;
  }

  .nj-hero__inner { max-width: none; }

  .nj-hero .nj-eyebrow {
    margin-bottom: 10px;
    font-size: 11px;
    line-height: 1.35;
  }

  .nj-hero h1 {
    max-width: 350px;
    margin-bottom: 12px;
    font-size: clamp(46px,14vw,60px);
    letter-spacing: -.05em;
    line-height: .92;
    text-wrap: balance;
  }

  .nj-hero__subhead {
    margin-bottom: 9px;
    font-size: clamp(18px,5vw,21px);
    line-height: 1.35;
  }

  .nj-hero__route {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.45;
  }

  .nj-hero .nj-trust {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
    margin: 0 0 18px;
  }

  .nj-hero .nj-trust li {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: flex-start;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 12px;
    font-size: 11px;
    letter-spacing: .035em;
    line-height: 1.3;
    text-align: left;
  }

  .nj-hero .nj-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .nj-hero .nj-button {
    min-height: 50px;
    padding: 12px 15px;
    font-size: 12px;
    line-height: 1.25;
    white-space: normal;
  }

  .nj-hero__reassurance {
    margin-top: 11px;
    font-size: 13px;
    text-align: center;
  }

  .nj-glance__grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .nj-glance__item {
    min-height: 86px;
    padding: 17px 10px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
    text-align: left;
  }

  .nj-glance strong {
    font-size: 14px;
    line-height: 1.3;
  }

  .nj-glance span {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    line-height: 1.35;
  }

  .nj-journey-selector.is-mobile-edition-enhanced {
    padding: 24px 0;
  }

  .nj-mobile-edition-toggle {
    display: grid;
    width: 100%;
    min-height: 64px;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 13px 15px;
    border: 1px solid rgba(23,63,73,.18);
    border-radius: 16px;
    background: #fff;
    color: var(--nj-deep);
    font: 700 15px/1.35 "DM Sans",Arial,sans-serif;
    text-align: left;
    cursor: pointer;
  }

  .nj-mobile-edition-toggle small {
    display: block;
    margin-top: 3px;
    color: #8b5b12;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .nj-mobile-edition-toggle::after {
    content: "+";
    font-size: 24px;
    font-weight: 400;
  }

  .nj-mobile-edition-toggle[aria-expanded="true"]::after { content: "−"; }

  .nj-mobile-edition-toggle:focus-visible,
  .nj-chapter-toggle:focus-visible,
  .nj-itinerary-mobile-controls button:focus-visible,
  .nj-route-progress button:focus-visible,
  .nj-year-tabs button:focus-visible,
  .nj-season-toggle:focus-visible {
    outline: 3px solid var(--nj-gold);
    outline-offset: 3px;
  }

  .is-mobile-edition-enhanced .nj-journey-selector__head,
  .is-mobile-edition-enhanced .nj-journey-grid { display: none; }

  .is-mobile-edition-enhanced.is-open .nj-journey-selector__head,
  .is-mobile-edition-enhanced.is-open .nj-journey-grid { display: grid; }

  .is-mobile-edition-enhanced.is-open .nj-journey-selector__head { margin: 24px 0 18px; }
  .is-mobile-edition-enhanced.is-open .nj-journey-selector__head h2 { font-size: 34px; }
  .is-mobile-edition-enhanced.is-open .nj-journey-selector__head p { font-size: 16px; }
  .is-mobile-edition-enhanced.is-open .nj-journey-grid { grid-template-columns: 1fr; }

  .nj-anchorbar { top: 0; }

  .nj-anchorbar::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 34px;
    background: linear-gradient(90deg,transparent,rgba(255,253,248,.98));
    content: "";
    pointer-events: none;
  }

  .nj-anchorbar__inner {
    min-height: 56px;
    gap: 5px;
    padding: 0 38px 0 12px;
    scroll-padding-inline: 12px;
    scroll-snap-type: x proximity;
  }

  .nj-anchorbar__link {
    min-height: 48px;
    padding: 0 9px;
    font-size: 11px;
    letter-spacing: .045em;
    scroll-snap-align: start;
  }

  .nj-anchorbar__link[href="#dates"] {
    color: #754807 !important;
    font-weight: 800;
  }

  .nj-section { padding-top: 58px; padding-bottom: 58px; }
  .nj-section-head { gap: 20px; margin-bottom: 34px; }
  .nj-display { font-size: clamp(37px,11vw,48px); text-wrap: balance; }
  .nj-lede { font-size: 17px; line-height: 1.65; }

  .nj-complete-transition__download {
    width: 100%;
    padding: 20px;
    border: 1px solid rgba(23,63,73,.1);
    border-radius: 18px;
    background: rgba(255,255,255,.48);
  }

  .nj-complete-transition__download p {
    margin-bottom: 15px;
    font-size: 16px;
  }

  .nj-journey-map__stops {
    scroll-padding-inline: 0;
    touch-action: pan-x pan-y;
  }

  html:not(.nj-mobile-ux-ready) .nj-journey-map__rail { height: auto; }

  html:not(.nj-mobile-ux-ready) .nj-journey-map__stops {
    display: grid;
    height: auto;
    overflow: visible;
    padding: 0;
  }

  html:not(.nj-mobile-ux-ready) .nj-journey-map__stop,
  html:not(.nj-mobile-ux-ready) .nj-journey-map__stop--01,
  html:not(.nj-mobile-ux-ready) .nj-journey-map__stop--02,
  html:not(.nj-mobile-ux-ready) .nj-journey-map__stop--03,
  html:not(.nj-mobile-ux-ready) .nj-journey-map__stop--04,
  html:not(.nj-mobile-ux-ready) .nj-journey-map__stop--05 {
    width: 100%;
    height: auto;
    min-height: 180px;
    margin: 0;
  }

  html:not(.nj-mobile-ux-ready) .nj-year-details > .nj-year-details__content {
    display: block !important;
  }

  .nj-journey-map__stop,
  .nj-journey-map__stop--01,
  .nj-journey-map__stop--02,
  .nj-journey-map__stop--03,
  .nj-journey-map__stop--04,
  .nj-journey-map__stop--05 {
    flex-basis: 88%;
    margin-right: 16px;
  }

  .nj-route-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 10px 0 0;
  }

  .nj-route-progress button {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .nj-route-progress button::before {
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    border-radius: 50%;
    background: rgba(23,63,73,.28);
    content: "";
  }

  .nj-route-progress button[aria-current="step"]::before {
    width: 22px;
    border-radius: 999px;
    background: var(--nj-gold);
  }

  .nj-itinerary-mobile-controls {
    display: flex;
    gap: 10px;
    padding: 16px 15px;
    border-bottom: 1px solid var(--nj-line);
    background: #fffdf8;
  }

  .nj-itinerary-mobile-controls button {
    min-height: 44px;
    flex: 1 1 0;
    padding: 9px 12px;
    border: 1px solid rgba(23,63,73,.2);
    border-radius: 999px;
    background: #fff;
    color: var(--nj-deep);
    font: 700 12px/1.2 "DM Sans",Arial,sans-serif;
    cursor: pointer;
  }

  .nj-tour .nj-itinerary-cover {
    min-height: 330px;
  }

  .nj-tour .nj-itinerary-cover__inner { padding: 46px 0 34px; }

  .nj-tour .nj-itinerary-cover h2 {
    max-width: 330px;
    font-size: clamp(48px,15vw,64px);
    line-height: .92;
    text-wrap: balance;
  }

  .nj-tour .nj-itinerary-cover__lede {
    max-width: 36ch;
    font-size: 17px;
    line-height: 1.55;
  }

  .nj-chapter-toggle {
    display: inline-flex;
    min-width: 160px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
    padding: 10px 18px;
    border: 2px solid rgba(255,255,255,.82);
    border-radius: 999px;
    background: rgba(5,30,38,.32);
    color: #fff;
    font: 700 12px/1.2 "DM Sans",Arial,sans-serif;
    letter-spacing: .05em;
    text-transform: uppercase;
    cursor: pointer;
  }

  .nj-chapter-toggle::after { content: "+"; font-size: 20px; }
  .nj-chapter-toggle[aria-expanded="true"]::after { content: "−"; }
  .nj-mobile-chapter-nights { display: inline; }
  .nj-itinerary-body[hidden] { display: none !important; }
  .nj-tour .nj-itinerary-body { padding: 54px 0; }
  .nj-tour .nj-itinerary-day { border-radius: 20px; }

  .nj-year-tabs {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 6px;
    margin: 0 0 22px;
    padding: 5px;
    border: 1px solid rgba(23,63,73,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.58);
  }

  .nj-year-tabs button {
    min-height: 46px;
    padding: 9px 14px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--nj-deep);
    font: 800 14px/1.2 "DM Sans",Arial,sans-serif;
    cursor: pointer;
  }

  .nj-year-tabs button[aria-selected="true"] {
    background: var(--nj-deep);
    color: #fff;
  }

  .nj-year-details.is-tab-panel { border-radius: 20px; }
  .nj-year-details.is-tab-panel > summary { display: none; }
  .nj-year-details.is-tab-panel[hidden] { display: none !important; }
  .nj-year-details.is-tab-panel .nj-year-details__content { padding: 18px; }

  .nj-season.is-mobile-season {
    overflow: hidden;
    border: 1px solid rgba(23,63,73,.12);
    border-radius: 16px;
    background: #fff;
  }

  .nj-season.is-mobile-season > h3 { display: none; }

  .nj-season-toggle {
    display: grid;
    width: 100%;
    min-height: 56px;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 13px 15px;
    border: 0;
    background: #fff;
    color: var(--nj-deep);
    font: 700 17px/1.25 "DM Sans",Arial,sans-serif;
    text-align: left;
    cursor: pointer;
  }

  .nj-season-toggle::after { content: "+"; font-size: 22px; font-weight: 400; }
  .nj-season-toggle[aria-expanded="true"]::after { content: "−"; }
  .nj-season-body { padding: 0 14px 16px; }
  .nj-season-body[hidden] { display: none !important; }
  .nj-season__note { font-size: 15px !important; }

  .nj-date-grid { grid-template-columns: 1fr; }

  .nj-date-card {
    padding: 22px;
    border-radius: 18px;
  }

  .nj-date-card__date { font-size: 23px; line-height: 1.2; }

  .nj-date-card__price {
    display: grid;
    gap: 5px;
    margin: 12px 0;
    font-size: 16px;
    line-height: 1.5;
  }

  .nj-date-card .nj-small-link {
    width: 100%;
    min-height: 48px;
    justify-content: center;
    margin-top: 5px;
    padding: 11px 14px;
    border: 2px solid var(--nj-deep);
    border-radius: 999px;
    background: var(--nj-deep);
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
  }

  .nj-decision-trust {
    grid-template-columns: repeat(2,minmax(0,1fr));
    margin-top: 26px;
  }

  .nj-decision-trust span {
    min-height: 72px;
    padding: 12px;
    font-size: 12px;
  }

  .nj-final { text-align: left; }
  .nj-final .nj-lede { margin-right: 0; margin-left: 0; }
  .nj-final .nj-actions { align-items: stretch; }
  .nj-final__trust { text-align: left; }

  .nj-bookbar {
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: 8px;
    min-height: 64px;
    gap: 8px;
    padding: 8px;
    border-radius: 18px;
  }

  .nj-bookbar__facts {
    display: flex;
    min-width: 90px;
    flex: 0 0 auto;
    gap: 0;
    padding-left: 7px;
  }

  .nj-bookbar__facts strong { font-size: 13px; line-height: 1.2; }
  .nj-bookbar__facts span { display: none; }

  .nj-bookbar .nj-actions {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: row;
    gap: 7px;
    align-items: center;
  }

  .nj-bookbar__desktop-actions { display: none !important; }
  .nj-bookbar__mobile-actions { display: flex !important; }

  .nj-bookbar .nj-button {
    width: auto;
    min-width: 0;
    min-height: 48px;
    padding: 8px 11px;
    font-size: 10px;
    letter-spacing: .025em;
    line-height: 1.2;
    white-space: normal;
  }

  .nj-bookbar .nj-button--gold { flex: 1 1 auto; }
  .nj-bookbar .nj-button--light { flex: 0 1 auto; }
  .nj-bookbar__chat { display: none !important; }

  .nj-tour a,
  .nj-tour button,
  .nj-bookbar a,
  .nj-bookbar button { touch-action: manipulation; }
}

@media (max-width: 359.98px) {
  .nj-shell { width: min(100% - 24px,1180px); }
  .nj-hero__content { padding-top: 48px; }
  .nj-hero h1 { font-size: 45px; }
  .nj-hero .nj-trust { grid-template-columns: 1fr; }
  .nj-glance__grid { grid-template-columns: 1fr; }
  .nj-glance__item { min-height: 70px; border-right: 0; }
  .nj-bookbar__facts { min-width: 82px; }
  .nj-bookbar .nj-button { font-size: 11px; }
  .nj-decision-trust { grid-template-columns: 1fr; }
}

@media (min-width: 768px) {
  .nj-hero .nj-actions [href="#dates"] { order: 2; }
  .nj-hero .nj-actions [data-tour-proposal] { order: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .nj-anchorbar__inner,
  .nj-journey-map__stops { scroll-behavior: auto; }
}

@media print {
  .nj-mobile-edition-toggle,
  .nj-itinerary-mobile-controls,
  .nj-chapter-toggle,
  .nj-route-progress,
  .nj-year-tabs,
  .nj-bookbar { display: none !important; }

  .nj-itinerary-body[hidden],
  .nj-year-details[hidden],
  .nj-season-body[hidden] { display: block !important; }
}

/* NOW JOURNEY MOBILE UX BUILD: 2026-08-13T10:00 */
/* Flagship 12-day mobile information architecture. Desktop remains unchanged. */
.nj-hero__mobile-summary,
.nj-mobile-edition-segments,
.nj-mobile-more,
.nj-mobile-differentiators,
.nj-mobile-included-toggle,
.nj-day-toggle,
.nj-hotel-toggle,
.nj-chapter-preview,
.nj-mobile-conversion { display: none; }

@media (max-width: 767px) {
  :root {
    --nj-page-nav-height: 54px;
    --nj-anchor-clearance: 70px;
  }

  .nj-tour { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }

  .nj-hero__content { padding: 38px 0 28px; }
  .nj-hero .nj-eyebrow,
  .nj-hero .nj-trust,
  .nj-hero__reassurance { display: none; }
  .nj-hero h1 {
    max-width: 330px;
    margin-bottom: 10px;
    font-size: clamp(43px,13vw,54px);
    line-height: .94;
  }
  .nj-hero__subhead {
    max-width: 31ch;
    margin-bottom: 8px;
    font-size: 17px;
    line-height: 1.4;
  }
  .nj-hero__route {
    max-width: 34ch;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.45;
  }
  .nj-hero__mobile-summary {
    display: grid;
    gap: 7px;
    margin: 0 0 17px;
    color: #fff;
  }
  .nj-hero__mobile-facts,
  .nj-hero__mobile-price { margin: 0; }
  .nj-hero__mobile-facts {
    color: rgba(255,255,255,.88);
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1.45;
    text-transform: uppercase;
  }
  .nj-hero__mobile-price {
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.3;
  }
  .nj-hero .nj-actions { gap: 8px; }
  .nj-hero .nj-button {
    min-height: 50px;
    border-width: 1px;
    font-size: 11px;
  }
  .nj-hero .nj-actions [href="#dates"] {
    border-color: var(--nj-gold);
    background: var(--nj-gold);
    color: var(--nj-deep) !important;
  }
  .nj-hero .nj-actions [data-tour-proposal] {
    border-color: rgba(255,255,255,.72);
    background: rgba(5,30,38,.28);
    color: #fff !important;
  }

  .nj-journey-selector.is-mobile-edition-enhanced,
  .nj-journey-selector { padding: 18px 0 20px; }
  .is-mobile-edition-enhanced .nj-journey-selector__head,
  .is-mobile-edition-enhanced .nj-journey-grid,
  .nj-mobile-edition-toggle { display: none !important; }
  .nj-mobile-edition-segments {
    display: grid;
    gap: 10px;
  }
  .nj-mobile-edition-segments__links {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    overflow: hidden;
    padding: 4px;
    border: 1px solid rgba(23,63,73,.16);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
  }
  .nj-mobile-edition-segments__links a {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: var(--nj-deep) !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
  }
  .nj-mobile-edition-segments__links a[aria-current="page"] {
    background: var(--nj-deep);
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(23,63,73,.16);
  }
  .nj-mobile-edition-segments__descriptor {
    margin: 0;
    color: #79520f;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
  }

  .nj-glance { display: none !important; }

  .nj-anchorbar__inner {
    min-height: var(--nj-page-nav-height);
    gap: 2px;
    padding-right: 8px;
    padding-left: 8px;
    overflow: visible;
  }
  .nj-anchorbar::after { display: none; }
  .nj-anchorbar__link {
    min-height: 46px;
    padding: 0 7px;
    font-size: 10px;
    letter-spacing: .025em;
  }
  .nj-anchorbar__link[href="#why"],
  .nj-anchorbar__link[href="#faq"],
  .nj-anchorbar__link[href="#proposal"] { display: none; }
  .nj-mobile-more {
    position: relative;
    display: block;
    flex: 0 0 auto;
  }
  .nj-mobile-more__toggle {
    min-height: 46px;
    padding: 0 7px;
    border: 0;
    background: transparent;
    color: var(--nj-deep);
    font: 700 10px/1 "DM Sans",Arial,sans-serif;
    letter-spacing: .025em;
    text-transform: uppercase;
    cursor: pointer;
  }
  .nj-mobile-more__toggle:hover,
  .nj-mobile-more__toggle:focus {
    background: #f7efe4;
    color: var(--nj-deep);
    outline: none;
  }
  .nj-mobile-more__toggle:focus-visible {
    outline: 2px solid var(--nj-gold);
    outline-offset: -2px;
  }
  .nj-mobile-more__menu {
    position: fixed;
    top: calc(var(--nj-page-nav-height) + 6px);
    right: 10px;
    z-index: 45;
    display: grid;
    min-width: 190px;
    overflow: hidden;
    padding: 6px;
    border: 1px solid rgba(23,63,73,.12);
    border-radius: 14px;
    background: #fffdf8;
    box-shadow: 0 18px 44px rgba(15,50,58,.2);
  }
  .nj-mobile-more__menu[hidden] { display: none; }
  .nj-mobile-more__menu a {
    min-height: 44px;
    padding: 12px;
    border-radius: 9px;
    color: var(--nj-deep) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
  }
  .nj-mobile-more__menu a:focus,
  .nj-mobile-more__menu a:hover { background: #f7efe4; }

  .nj-section { padding-top: 46px; padding-bottom: 46px; }
  .nj-section-head { gap: 12px; margin-bottom: 24px; }
  .nj-section-head .nj-eyebrow,
  .nj-complete-transition__copy .nj-eyebrow { display: none; }
  .nj-display { font-size: clamp(34px,10vw,42px); line-height: 1; }
  .nj-lede { font-size: 16px; line-height: 1.58; }
  .nj-return-top { display: none; }

  .nj-journey-map__stop,
  .nj-journey-map__stop--01,
  .nj-journey-map__stop--02,
  .nj-journey-map__stop--03,
  .nj-journey-map__stop--04,
  .nj-journey-map__stop--05 {
    min-height: 245px;
    flex-basis: 84%;
  }
  .nj-journey-map__stop p,
  .nj-journey-map__stop .nj-journey-map__copy {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  #why .nj-section-head { margin-bottom: 20px; }
  #why .nj-compare { display: none; }
  .nj-mobile-differentiators {
    display: grid;
    gap: 8px;
  }
  .nj-mobile-differentiators article {
    padding: 16px 0;
    border-bottom: 1px solid rgba(23,63,73,.12);
  }
  .nj-mobile-differentiators article:last-child { border-bottom: 0; }
  .nj-mobile-differentiators h3 {
    margin: 0 0 4px;
    color: var(--nj-ink);
    font-size: 18px;
    line-height: 1.3;
  }
  .nj-mobile-differentiators p {
    margin: 0;
    color: var(--nj-muted);
    font-size: 15px !important;
    line-height: 1.5;
  }

  #included .nj-section-head { margin-bottom: 18px; }
  #included .nj-section-head .nj-lede { display: none; }
  .nj-mobile-included-toggle {
    display: grid;
    width: 100%;
    min-height: 56px;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font: 700 16px/1.3 "DM Sans",Arial,sans-serif;
    text-align: left;
  }
  .nj-mobile-included-toggle::after { content: "+"; font-size: 23px; font-weight: 400; }
  .nj-mobile-included-toggle[aria-expanded="true"]::after { content: "−"; }
  .nj-mobile-included-toggle:hover,
  .nj-mobile-included-toggle:focus {
    background: rgba(255,255,255,.14);
    color: #fff;
    outline: none;
  }
  .nj-mobile-included-toggle:focus-visible {
    outline: 3px solid var(--nj-gold);
    outline-offset: -3px;
  }
  #included .nj-included-grid {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 8px;
  }
  #included .nj-included-grid[hidden] { display: none; }
  #included .nj-included {
    padding: 15px 0;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  #included .nj-included h3 { margin-bottom: 4px; font-size: 17px; }
  #included .nj-included p { margin: 0; font-size: 15px !important; line-height: 1.5; }
  #included .nj-final__trust { font-size: 14px !important; }

  .nj-complete-transition { padding-top: 46px; padding-bottom: 38px; }
  .nj-complete-transition__inner { gap: 20px; }
  .nj-complete-transition__copy .nj-lede { margin-top: 10px; }
  .nj-complete-transition__download { padding: 16px; border-radius: 14px; }
  .nj-complete-transition__download p { font-size: 14px !important; }

  .nj-chapter-toggle,
  .nj-journey-interlude { display: none !important; }
  .nj-itinerary-mobile-controls {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    margin: 0 auto;
    padding: 14px max(15px,calc((100% - 1180px) / 2));
    border-bottom: 1px solid var(--nj-line);
    background: #fffdf8;
  }
  .nj-tour .nj-itinerary-cover { min-height: 250px; }
  .nj-tour .nj-itinerary-cover__inner { padding: 30px 0 26px; }
  .nj-tour .nj-itinerary-cover .nj-eyebrow,
  .nj-tour .nj-itinerary-cover__lede { display: none; }
  .nj-tour .nj-itinerary-cover__days {
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
  }
  .nj-tour .nj-itinerary-cover h2 {
    max-width: none;
    font-size: clamp(38px,12vw,48px);
    line-height: .98;
  }
  .nj-chapter-preview {
    display: block;
    max-width: 36ch;
    margin: 10px 0 0;
    color: rgba(255,255,255,.9);
    font-size: 14px !important;
    line-height: 1.45;
  }
  .nj-mobile-chapter-nights { display: none; }
  .nj-tour .nj-itinerary-body { padding: 18px 0 30px; }
  .nj-tour .nj-itinerary-intro { display: none; }
  .nj-tour .nj-itinerary-days { gap: 8px; }
  .nj-tour .nj-itinerary-day,
  .nj-mobile-hotel-accordion {
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(23,63,73,.12);
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
  }
  .nj-day-toggle,
  .nj-hotel-toggle {
    display: grid;
    width: 100%;
    min-height: 58px;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px 15px;
    border: 0;
    background: #fff;
    color: var(--nj-deep);
    font: 700 15px/1.35 "DM Sans",Arial,sans-serif;
    text-align: left;
    cursor: pointer;
  }
  .nj-day-toggle::after,
  .nj-hotel-toggle::after { content: "+"; font-size: 23px; font-weight: 400; }
  .nj-day-toggle[aria-expanded="true"]::after,
  .nj-hotel-toggle[aria-expanded="true"]::after { content: "−"; }
  .nj-day-toggle:hover,
  .nj-day-toggle:focus,
  .nj-hotel-toggle:hover,
  .nj-hotel-toggle:focus {
    background: #f7efe4;
    color: var(--nj-deep);
    outline: none;
  }
  .nj-day-toggle:focus-visible,
  .nj-hotel-toggle:focus-visible {
    outline: 3px solid var(--nj-gold);
    outline-offset: -3px;
  }
  .nj-day-panel,
  .nj-hotel-panel { padding: 0 15px 17px; }
  .nj-day-panel[hidden],
  .nj-hotel-panel[hidden] { display: none; }
  .nj-day-panel > .nj-itinerary-day__kicker,
  .nj-day-panel > h3 { display: none; }
  .nj-tour .nj-day-panel > p {
    margin: 0 0 13px;
    color: var(--nj-muted);
    font-size: 16px !important;
    line-height: 1.62;
  }
  .nj-tour .nj-itinerary-included {
    margin-top: 15px;
    padding-top: 14px;
    border-top: 1px solid rgba(23,63,73,.12);
  }
  .nj-tour .nj-itinerary-included h4 { margin-bottom: 8px; font-size: 13px; }
  .nj-tour .nj-itinerary-included li { font-size: 15px; line-height: 1.5; }
  .nj-day-panel .nj-itinerary-signature,
  .nj-day-panel .nj-itinerary-options {
    margin-top: 16px;
    padding: 15px;
    border-radius: 12px;
  }
  .nj-day-panel .nj-itinerary-signature .nj-eyebrow { display: none; }
  .nj-day-panel .nj-itinerary-signature h3,
  .nj-day-panel .nj-itinerary-options h3 { margin-bottom: 6px; font-size: 20px; }
  .nj-mobile-hotel-accordion { margin-top: 0; }
  .nj-hotel-panel .nj-itinerary-hotel-panel { padding: 0; border: 0; background: transparent; }
  .nj-hotel-panel .nj-itinerary-hotel-panel__heading { display: none; }
  .nj-hotel-panel .nj-itinerary-hotel-panel__feature { display: block; }
  .nj-hotel-panel .nj-itinerary-hotel-panel__media { margin: 0 0 14px; }
  .nj-hotel-panel .nj-itinerary-hotel-panel__image { max-height: 190px; border-radius: 10px; object-fit: cover; }
  .nj-hotel-panel .nj-itinerary-hotel-panel__title { font-size: 21px; }
  .nj-hotel-panel .nj-itinerary-hotel-panel__description,
  .nj-hotel-panel .nj-itinerary-hotel-panel__alternates { font-size: 15px !important; line-height: 1.55; }
  .nj-hotel-panel .nj-itinerary-hotel-panel__quote { display: none; }

  .nj-mobile-conversion {
    display: flex;
    padding: 22px 0 0;
    justify-content: center;
  }
  .nj-mobile-conversion .nj-button {
    width: min(100%,340px);
    min-height: 50px;
    justify-content: center;
  }

  #hotels .nj-hotel-grid { gap: 12px; }
  #hotels .nj-hotel-card { border-radius: 16px; }

  #dates .nj-section-head { margin-bottom: 20px; }
  #dates .nj-section-head .nj-lede { font-size: 15px; }
  #dates .nj-featured-dates { display: none; }
  .nj-year-tabs { margin-bottom: 14px; }
  .nj-season.is-mobile-season { border-radius: 14px; }
  .nj-date-card { padding: 18px; border-radius: 14px; }
  .nj-date-card__date { font-size: 20px; }
  .nj-date-card .nj-small-link { min-height: 50px; }

  .nj-bookbar {
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: 8px;
    min-height: 68px;
    gap: 10px;
    padding: 8px 8px 8px 15px;
    border-radius: 16px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(calc(100% + 28px));
    pointer-events: none;
  }
  .nj-bookbar.is-visible:not(.is-yielding) {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  .nj-bookbar__facts { min-width: 94px; padding-left: 0; }
  .nj-bookbar__facts strong { font-size: 14px; }
  .nj-bookbar .nj-actions { display: flex; }
  .nj-bookbar .nj-button--gold {
    min-height: 50px;
    padding: 10px 16px;
    font-size: 11px;
    white-space: nowrap;
  }
}

@media (max-width: 359.98px) {
  .nj-hero__content { padding-top: 32px; }
  .nj-hero h1 { font-size: 42px; }
  .nj-hero__subhead { font-size: 16px; }
  .nj-anchorbar__link,
  .nj-mobile-more__toggle { padding-right: 5px; padding-left: 5px; font-size: 9px; }
  .nj-bookbar__facts { min-width: 88px; }
  .nj-bookbar .nj-button--gold { padding-right: 12px; padding-left: 12px; }
}

@media (min-width: 768px) {
  .nj-day-panel,
  .nj-hotel-panel { display: block !important; }
}

/* NOW JOURNEY DESKTOP HIERARCHY: 2026-08-13 */
@media (min-width: 768px) {
  .nj-glance__item:nth-child(5) { border-right: 0; }

  .nj-anchorbar__link[href="#proposal"] { display: none; }

  .nj-anchorbar__link[href="#dates"] {
    color: #754807 !important;
    font-weight: 800;
  }

  .nj-bookbar__facts {
    flex-wrap: nowrap;
    gap: 9px;
    white-space: nowrap;
  }

  .nj-bookbar__promise {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .01em;
  }

  .nj-bookbar__desktop-separator {
    color: rgba(255,255,255,.58);
    font-size: 12px;
  }

  .nj-bookbar__desktop-fact {
    color: rgba(255,255,255,.88);
    font-size: 13px;
    font-weight: 600;
  }

  .nj-bookbar__desktop-actions .nj-bookbar__chat { display: inline-flex !important; }
}

@media (min-width: 1001px) {
  .nj-glance__grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .nj-bookbar__desktop-separator,
  .nj-bookbar__desktop-fact { display: none; }

  .nj-bookbar__promise {
    display: block;
    max-width: 112px;
    font-size: 12px;
    line-height: 1.25;
  }
}

/* DESKTOP ITINERARY REFINEMENT: 2026-08-13 */
.nj-desktop-itinerary-tools,
.nj-desktop-chapter-toggle { display: none; }

@media (min-width: 768px) {
  .nj-desktop-itinerary-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 22px;
    color: #6e7c7f;
    font-family: "DM Sans",Arial,sans-serif;
    font-size: 12px;
  }

  .nj-desktop-itinerary-tools button {
    min-width: 44px;
    min-height: 44px;
    padding: 0 3px;
    border: 0;
    background: transparent;
    color: #174650;
    font: inherit;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
  }

  .nj-desktop-itinerary-tools button:hover { color: #9a650f; }

  .nj-desktop-itinerary-tools button:focus-visible,
  .nj-desktop-chapter-toggle:focus-visible {
    border-radius: 4px;
    outline: 3px solid #f0ad39;
    outline-offset: 4px;
  }

  .nj-desktop-chapter-toggle {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto 18px;
    gap: 15px;
    width: 100%;
    min-height: 54px;
    align-items: center;
    margin-top: 30px;
    padding: 14px 0 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.35);
    background: transparent;
    color: #fff;
    font-family: "DM Sans",Arial,sans-serif;
    text-align: left;
    cursor: pointer;
  }

  .nj-desktop-chapter-toggle__label {
    overflow: hidden;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .nj-desktop-chapter-toggle__action {
    color: rgba(255,255,255,.82);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .nj-desktop-chapter-toggle__icon {
    width: 10px;
    height: 10px;
    border-right: 2px solid #f7c16d;
    border-bottom: 2px solid #f7c16d;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .2s ease;
  }

  .nj-desktop-chapter-toggle[aria-expanded="true"] .nj-desktop-chapter-toggle__icon {
    transform: rotate(225deg) translate(-2px,-2px);
  }

  .nj-desktop-chapter-toggle:hover .nj-desktop-chapter-toggle__action { color: #fff; }

  .nj-tour .nj-itinerary-chapter > .nj-itinerary-body[hidden] { display: none !important; }
  .nj-tour .nj-itinerary-chapter .nj-return-top { display: none; }

  .nj-tour .nj-itinerary-body { padding: clamp(72px,8vw,112px) 0; }
  .nj-tour .nj-itinerary-layout { gap: clamp(36px,5vw,58px); }
  .nj-tour .nj-itinerary-days { gap: 18px; }
  .nj-tour .nj-itinerary-day {
    padding: clamp(25px,3vw,32px);
    border-radius: 24px;
    box-shadow: 0 12px 32px rgba(23,63,73,.055);
  }
  .nj-tour .nj-itinerary-day__kicker { margin-bottom: 6px !important; }
  .nj-tour .nj-itinerary-day h3 { margin-bottom: 11px; }
  .nj-tour .nj-itinerary-day > p { margin-bottom: 13px; line-height: 1.64; }
  .nj-tour .nj-itinerary-included { margin-top: 18px; padding: 18px 20px; border-radius: 18px; }
  .nj-tour .nj-itinerary-included__label { margin-bottom: 10px; }
  .nj-tour .nj-itinerary-included ul { gap: 8px 15px; }
  .nj-tour .nj-itinerary-included li { font-size: 14px; line-height: 1.45; }
  .nj-tour .nj-itinerary-signature { margin: 20px 0 24px; padding: clamp(26px,3vw,34px); border-radius: 26px; }
  .nj-tour .nj-itinerary-signature h3 { margin-bottom: 11px; }
  .nj-tour .nj-itinerary-options { margin-top: 14px; padding: 21px 24px; }
  .nj-tour .nj-itinerary-hotel-panel { margin-top: 24px; }
  .nj-tour .nj-itinerary-hotel-panel__heading { margin-bottom: 16px; }
  .nj-tour .nj-itinerary-hotel-panel__feature { border-radius: 26px; }
  .nj-tour .nj-itinerary-hotel-panel__content { padding: clamp(30px,4vw,46px); }
  .nj-tour .nj-itinerary-hotel-panel__description { margin-bottom: 20px; }
  .nj-tour .nj-itinerary-hotel-panel__alternates { margin: 14px 0 20px; padding-top: 14px; }
  .nj-tour .nj-itinerary-hotel-panel__quote { margin-top: 20px; padding-top: 19px; font-size: 25px; }
}

@media (min-width: 1100px) {
  .nj-tour .nj-itinerary-layout { grid-template-columns: 1fr; }
  .nj-tour .nj-itinerary-intro { max-width: 800px; }
  .nj-tour .nj-itinerary-intro h3 { max-width: 700px; margin-bottom: 18px; }
  .nj-tour .nj-itinerary-intro p { max-width: 760px; }

  .nj-tour .nj-itinerary-day {
    display: grid;
    grid-template-columns: minmax(0,1.8fr) minmax(270px,.9fr);
    column-gap: clamp(30px,4vw,54px);
    align-items: start;
  }

  .nj-tour .nj-itinerary-day > .nj-itinerary-day__kicker,
  .nj-tour .nj-itinerary-day > h3,
  .nj-tour .nj-itinerary-day > p { grid-column: 1; }

  .nj-tour .nj-itinerary-day > .nj-itinerary-included {
    grid-column: 2;
    grid-row: 1 / span 8;
    margin-top: 0;
  }

  .nj-tour .nj-itinerary-included ul { grid-template-columns: 1fr; }
  .nj-tour .nj-itinerary-hotel-panel__feature { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .nj-tour .nj-itinerary-hotel-panel__media,
  .nj-tour .nj-itinerary-hotel-panel__image { min-height: 370px; aspect-ratio: auto; }
}

@media (prefers-reduced-motion: reduce) and (min-width: 768px) {
  .nj-desktop-chapter-toggle__icon { transition: none; }
}

/* IGC 12-DAY HOTEL COLLECTIONS: 2026-08-13 */
.nj-hotel-note__card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.nj-hotel-note__card--signature {
  border-color: rgba(185,120,20,.24);
  border-top: 4px solid #e7a332;
  background: linear-gradient(145deg,#fffdf8,#fff5e3);
  box-shadow: 0 20px 48px rgba(108,72,17,.12);
}
.nj-hotel-note__card--elevated {
  border-top: 4px solid #6f939a;
  background: linear-gradient(145deg,#fff,#f6faf9);
  box-shadow: 0 14px 34px rgba(23,63,73,.06);
}

.nj-hotel-note__label,
.nj-pricing-collection__label {
  margin: 0 0 8px !important;
  color: #8a5b14 !important;
  font: 800 11px/1.3 "DM Sans",Arial,sans-serif !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.nj-hotel-note__card h3 { font-size: clamp(21px,2.2vw,27px); letter-spacing: .015em; }

.nj-hotel-note__position {
  margin: 0 0 14px !important;
  color: #173f49 !important;
  font-family: "Playfair Display",Georgia,serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35 !important;
}

.nj-hotel-note__price {
  margin: auto 0 0 !important;
  padding-top: 20px;
  color: #173f49 !important;
  font-size: 29px;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1 !important;
}

.nj-hotel-note__price span,
.nj-pricing-collection__price span {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
}

.nj-pricing-collections {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
  margin: -10px 0 36px;
}

.nj-pricing-collection {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px 26px;
  border: 1px solid rgba(23,63,73,.12);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(23,63,73,.06);
}

.nj-pricing-collection--signature {
  border-color: rgba(185,120,20,.24);
  border-left: 5px solid #e7a332;
  background: linear-gradient(145deg,#fffdf8,#fff5e3);
  box-shadow: 0 18px 42px rgba(108,72,17,.11);
}
.nj-pricing-collection--elevated {
  border-left: 5px solid #6f939a;
  background: linear-gradient(145deg,#fff,#f6faf9);
  box-shadow: 0 12px 30px rgba(23,63,73,.05);
}

.nj-pricing-collection h3 {
  margin: 0 0 7px;
  color: #173f49;
  font-family: "DM Sans",Arial,sans-serif;
  font-size: clamp(21px,2vw,26px);
  font-weight: 800;
  letter-spacing: .015em;
  line-height: 1.15;
}

.nj-pricing-collection > p:not(.nj-pricing-collection__label):not(.nj-pricing-collection__price) {
  margin: 0;
  color: #5f7074;
  font-size: 16px;
  line-height: 1.55;
}

.nj-pricing-collection .nj-pricing-collection__note {
  margin-top: 9px !important;
  color: #173f49 !important;
  font-size: 13px !important;
  font-weight: 700;
}

.nj-pricing-collection__price {
  margin: auto 0 0;
  padding-top: 15px;
  color: #173f49;
  font-size: 27px;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.1;
}

.nj-date-card__price {
  display: grid;
  gap: 0;
}

.nj-date-card__price-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 2px 12px;
  align-items: baseline;
  padding: 10px 0;
  border-top: 1px solid rgba(23,63,73,.1);
}

.nj-date-card__price-row:first-child { padding-top: 0; border-top: 0; }
.nj-date-card__price-row:last-child { padding-bottom: 0; }

.nj-date-card__collection {
  min-width: 0;
  color: #173f49;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .035em;
  line-height: 1.25;
}

.nj-date-card__price-row--elevated .nj-date-card__collection { color: #8a5b14; }

.nj-date-card__price-row strong {
  color: #173f49;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.nj-date-card__per-person {
  grid-column: 2;
  color: #6e7c7f;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .nj-pricing-collections { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .nj-hotel-note { margin-top: 0; }
  .nj-hotel-note__collections { gap: 12px; }
  .nj-hotel-note__card { padding: 20px; border-radius: 16px; box-shadow: 0 10px 28px rgba(23,63,73,.06); }
  .nj-hotel-note__card h3 { font-size: 22px; }
  .nj-hotel-note__position { font-size: 18px; }
  .nj-hotel-note__price { margin-top: 15px !important; font-size: 26px; }

  .nj-pricing-collections { gap: 10px; margin: 0 0 24px; }
  .nj-pricing-collection { padding: 18px; border-radius: 14px; box-shadow: none; }
  .nj-pricing-collection h3 { font-size: 20px; }
  .nj-pricing-collection > p:not(.nj-pricing-collection__label):not(.nj-pricing-collection__price) { font-size: 15px; }
  .nj-pricing-collection__price { font-size: 25px; }

  .nj-date-card__price { margin: 13px 0; }
  .nj-date-card__price-row { min-height: 48px; align-content: center; padding: 9px 0; }
  .nj-date-card__collection { font-size: 11px; }
  .nj-date-card__price-row strong { font-size: 15px; }
}
/* Treasures of the Adriatic: target-only IGC migration refinements. */
:root {
  --nj-page-nav-top: 70px;
  --nj-page-nav-height: 58px;
  --nj-anchor-clearance: 152px;
}

html { scroll-padding-top: var(--nj-anchor-clearance); }
.nj-tour { overflow-x: clip; }
.nj-tour .nj-hero--adriatic {
  background-image: url('/images/treasures-adriatic-sunset.png');
  background-position: center 48%;
}
.nj-tour .nj-hero__route { max-width: 760px; margin: -8px 0 25px; color: rgba(255,255,255,.82); font-size: 15px; font-weight: 700; letter-spacing: .07em; line-height: 1.45; text-transform: uppercase; }
.nj-tour .nj-hero__reassurance { display: block; margin: 12px 0 0; color: rgba(255,255,255,.78); font-size: 12px; letter-spacing: .04em; line-height: 1.5; }
.nj-tour .nj-anchorbar { top: var(--nj-page-nav-top); }
.nj-tour .nj-anchorbar a { position: relative; }
.nj-tour .nj-anchorbar a::after { position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; background: var(--nj-gold); content: ""; opacity: 0; transform: scaleX(.25); transition: opacity .2s ease, transform .2s ease; }
.nj-tour .nj-anchorbar a:hover::after,
.nj-tour .nj-anchorbar a:focus::after,
.nj-tour .nj-anchorbar a.is-current::after { opacity: 1; transform: scaleX(1); }
.nj-tour .nj-glance__grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
.nj-tour .nj-glance__item { padding: 18px 14px; }

.nj-positioning-note { padding: clamp(32px,5vw,56px); border: 1px solid rgba(23,63,73,.11); border-radius: 32px; background: linear-gradient(145deg,#fff8ea,#fff); box-shadow: 0 24px 60px rgba(23,63,73,.08); }
.nj-positioning-note > p:last-child { margin: 0; color: var(--nj-ink); font-family: "Playfair Display",Georgia,serif; font-size: clamp(28px,3.4vw,45px); letter-spacing: -.035em; line-height: 1.2; }

.nj-why-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.nj-why-card { min-width: 0; padding: 28px; border: 1px solid rgba(23,63,73,.11); border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: 0 18px 45px rgba(23,63,73,.07); }
.nj-why-card > span { color: #a86608; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.nj-why-card h3 { margin: 18px 0 10px; color: var(--nj-ink); font-family: "Playfair Display",Georgia,serif; font-size: 28px; letter-spacing: -.035em; line-height: 1.1; }
.nj-why-card p { margin: 0; color: var(--nj-muted); line-height: 1.65; }
.nj-inclusion-note { max-width: 900px; margin: 28px 0 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.16); color: #c8d8da; font-size: 14px; line-height: 1.65; }
.nj-inclusion-note strong { color: #fff; }

.nj-tour .nj-journey-map__atlas-art { position: relative; z-index: 3; grid-column: 2; grid-row: 1; align-self: center; justify-self: center; width: 100%; max-width: 620px; height: 520px; }
.nj-tour .nj-journey-map__atlas-plate,
.nj-tour .nj-journey-map__atlas-overlay { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.nj-tour .nj-journey-map__atlas-overlay { overflow: visible; }
.nj-tour .nj-journey-map__label,
.nj-tour .nj-journey-map__label:hover,
.nj-tour .nj-journey-map__label:focus,
.nj-tour .nj-journey-map__label:active { border: 0; background: transparent !important; box-shadow: none !important; color: inherit !important; font: inherit; text-align: left; white-space: normal; cursor: auto; }
.nj-tour .nj-journey-map__label:hover .nj-journey-map__name,
.nj-tour .nj-journey-map__label:focus .nj-journey-map__name,
.nj-tour .nj-journey-map__label:active .nj-journey-map__name { color: #173f49 !important; }
.nj-tour .nj-journey-map__label:hover .nj-journey-map__meta,
.nj-tour .nj-journey-map__label:focus .nj-journey-map__meta,
.nj-tour .nj-journey-map__label:active .nj-journey-map__meta { color: #52676b !important; }
.nj-tour .nj-journey-map__label:hover .nj-journey-map__sentence,
.nj-tour .nj-journey-map__label:focus .nj-journey-map__sentence,
.nj-tour .nj-journey-map__label:active .nj-journey-map__sentence { color: #455f63 !important; }
.nj-tour .nj-journey-map__details,
.nj-tour .nj-journey-map__sentence { white-space: normal; }
.nj-tour .nj-atlas-plate__optional { fill: none; stroke: #8b6d46; stroke-width: 1.5; stroke-dasharray: 8 9; stroke-linecap: round; opacity: .5; vector-effect: non-scaling-stroke; }

.nj-tour .nj-journey-interlude { padding: clamp(56px,7vw,86px) 0; border-top: 1px solid var(--nj-line); border-bottom: 1px solid var(--nj-line); background: var(--nj-deep); text-align: center; }
.nj-tour .nj-journey-interlude .nj-eyebrow { color: #f7c16d; }
.nj-tour .nj-journey-interlude h2 { max-width: 850px; margin: 0 auto 14px; color: #fff; font-family: "Playfair Display",Georgia,serif; font-size: clamp(38px,5vw,68px); letter-spacing: -.05em; line-height: 1; }
.nj-tour .nj-journey-interlude p:last-child { max-width: 700px; margin: 0 auto; color: #c8d8da; font-size: 17px; line-height: 1.7; }

.nj-tour .nj-hotel-grid--adriatic { grid-template-columns: repeat(4,minmax(0,1fr)); }
.nj-tour .nj-hotel-grid--adriatic .nj-hotel img { height: 250px; }
.nj-tour .nj-hotel .nj-eyebrow { margin-bottom: 8px; color: #8b5b12; font-size: 10px; }
.nj-tour .nj-hotel-note { margin-top: 28px; padding: 24px 28px; border: 1px solid var(--nj-line); border-radius: 20px; background: #f8f2e8; }
.nj-tour .nj-hotel-note p { margin: 0; color: var(--nj-muted); line-height: 1.65; }

.nj-tour .nj-faq-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.nj-tour details.nj-faq { padding: 0; overflow: hidden; }
.nj-tour details.nj-faq summary { position: relative; display: flex; min-height: 72px; align-items: center; padding: 22px 62px 22px 24px; color: var(--nj-ink); font-size: 18px; font-weight: 800; line-height: 1.35; list-style: none; cursor: pointer; }
.nj-tour details.nj-faq summary::-webkit-details-marker { display: none; }
.nj-tour details.nj-faq summary::after { position: absolute; top: 50%; right: 22px; display: flex; width: 32px; height: 32px; align-items: center; justify-content: center; border: 1px solid rgba(23,111,103,.28); border-radius: 50%; color: var(--nj-teal); content: "+"; font-size: 22px; font-weight: 400; transform: translateY(-50%); }
.nj-tour details.nj-faq[open] summary::after { content: "−"; }
.nj-tour details.nj-faq > div { padding: 0 24px 24px; }
.nj-tour details.nj-faq > div p { margin: 0; color: var(--nj-muted); line-height: 1.65; }
.nj-tour details.nj-faq summary:focus-visible { outline: 2px solid var(--nj-blue); outline-offset: -4px; }

.nj-tour .nj-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.nj-tour .nj-fit__panel { padding: clamp(28px,4vw,42px); border: 1px solid var(--nj-line); border-radius: 28px; background: #fff; box-shadow: 0 18px 45px rgba(23,63,73,.07); }
.nj-tour .nj-fit__panel h3 { margin: 0 0 18px; color: var(--nj-ink); font-family: "Playfair Display",Georgia,serif; font-size: 32px; letter-spacing: -.04em; }
.nj-tour .nj-fit__panel ul { margin: 0; padding-left: 21px; }
.nj-tour .nj-fit__panel li { margin: 0 0 10px; color: var(--nj-muted); line-height: 1.6; }

.nj-bookbar { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(18px); transition: opacity .22s ease,transform .22s ease,visibility 0s linear .22s; }
.nj-bookbar.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
.nj-bookbar__mobile-actions { display: none !important; }

@media (min-width: 768px) and (max-width: 1100px) {
  .nj-bookbar { right: 12px; left: 12px; min-height: 70px; flex-direction: row; gap: 10px; padding: 10px 12px 10px 16px; border-radius: 28px; }
  .nj-bookbar__facts { min-width: 0; flex: 0 1 auto; gap: 7px; font-size: 11px; }
  .nj-bookbar__promise { font-size: 12px; }
  .nj-bookbar__desktop-fact { font-size: 11px; }
  .nj-bookbar .nj-actions { display: flex; min-width: 0; flex: 0 1 auto; flex-direction: row; flex-wrap: nowrap; gap: 7px; }
  .nj-bookbar .nj-button { width: auto; min-width: 0; min-height: 44px; padding: 9px 11px; font-size: 10px; letter-spacing: .02em; white-space: nowrap; }
}

@media (max-width: 1000px) {
  .nj-why-grid,
  .nj-tour .nj-hotel-grid--adriatic { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  :root { --nj-page-nav-top: 0px; --nj-anchor-clearance: 86px; }
  .nj-tour .nj-anchorbar { top: 0; }
  .nj-tour .nj-journey-map__stage { display: flex; height: auto; flex-direction: column; gap: 0; margin-top: 18px; }
  .nj-tour .nj-journey-map__atlas-art { order: -1; width: min(100%,430px); height: auto; aspect-ratio: 12/11; margin: 0 auto; }
  .nj-tour .nj-journey-map__rail { order: 0; width: 100%; max-width: 620px; height: 230px !important; margin: 0 auto; }
  .nj-tour .nj-journey-map__stops { position: relative; display: flex !important; width: 100%; max-width: none; height: 100% !important; gap: 0; overflow-x: auto !important; overflow-y: hidden !important; margin: 0; padding: 0 34px 0 0 !important; scroll-snap-type: x mandatory; pointer-events: auto; scrollbar-width: none; }
  .nj-tour .nj-journey-map__stops::-webkit-scrollbar { display: none; }
  .nj-tour .nj-journey-map__stop,
  .nj-tour .nj-journey-map__stop--01,
  .nj-tour .nj-journey-map__stop--02,
  .nj-tour .nj-journey-map__stop--03,
  .nj-tour .nj-journey-map__stop--04 { position: relative; top: auto; left: auto; width: auto !important; height: 100% !important; min-height: 0 !important; flex: 0 0 calc(100% - 44px); margin-right: 28px !important; padding: 25px 12px 24px 0; border-bottom: 1px solid rgba(111,86,53,.14); border-right: 1px solid rgba(111,86,53,.1); scroll-snap-align: start; }
  .nj-tour .nj-journey-map__label { width: 100%; max-width: 540px; min-height: 0; align-items: flex-start; gap: 18px; padding: 0; border-radius: 0; }
  .nj-tour .nj-journey-map__sentence { display: block; max-width: 420px; margin-top: 6px; color: #455f63; font-size: 16px; line-height: 1.38; }
  .nj-tour .nj-journey-map__scroll-cue { position: absolute; top: 13px; right: 19px; gap: 9px; margin: 0; }
  .nj-tour .nj-faq-list { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .nj-tour .nj-journey-map__stop,
  .nj-tour .nj-journey-map__stop--01,
  .nj-tour .nj-journey-map__stop--02,
  .nj-tour .nj-journey-map__stop--03,
  .nj-tour .nj-journey-map__stop--04 { min-height: 245px !important; flex-basis: 84%; margin-right: 16px !important; }
}

@media (max-width: 767px) {
  .nj-tour .nj-anchorbar__inner { justify-content: flex-start !important; gap: 12px !important; overflow-x: auto !important; overflow-y: hidden !important; padding-right: 15px !important; padding-left: 15px !important; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .nj-tour .nj-anchorbar__inner::-webkit-scrollbar { display: none; }
  .nj-tour .nj-anchorbar a { display: inline-flex !important; min-height: 46px; padding: 0 2px; font-size: 10px; letter-spacing: .045em; }
  .nj-tour .nj-glance { display: block !important; overflow: hidden; }
  .nj-tour .nj-glance__grid { display: flex !important; width: 100%; max-width: none; gap: 0; overflow-x: auto; overflow-y: hidden; margin: 0; padding: 0 15px; scroll-padding-left: 15px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .nj-tour .nj-glance__item { display: flex; min-height: 72px; flex: 0 0 min(72vw,245px); flex-direction: column; justify-content: center; padding: 10px 16px; border-right: 1px solid rgba(255,255,255,.14) !important; border-bottom: 0 !important; text-align: left !important; scroll-snap-align: start; }
  .nj-tour .nj-hero__route { font-size: 12px; }
  .nj-why-grid,
  .nj-tour .nj-hotel-grid--adriatic,
  .nj-tour .nj-fit { grid-template-columns: 1fr; }
  .nj-tour .nj-hotel-grid--adriatic .nj-hotel img { height: 230px; }
  .nj-tour .nj-option-index__grid { grid-template-columns: 1fr; }
  .nj-bookbar { right: 8px; bottom: max(8px,env(safe-area-inset-bottom)); left: 8px; min-height: 64px; flex-direction: row; gap: 8px; padding: 8px; border-radius: 18px; }
  .nj-bookbar__facts { display: none !important; }
  .nj-bookbar__desktop-actions { display: none !important; }
  .nj-bookbar__mobile-actions { display: grid !important; width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px !important; }
  .nj-bookbar__mobile-actions .nj-button { width: 100% !important; min-height: 46px; padding: 8px 7px; font-size: 10px; white-space: normal; }
}

@media (max-width: 600px) {
  .nj-tour .nj-hero__actions { grid-template-columns: 1fr !important; }
  .nj-tour .nj-hero__actions .nj-button { min-height: 48px !important; height: auto !important; }
}

@media (max-width: 480px) {
  .nj-tour .nj-journey-map__rail { height: 225px !important; }
  .nj-tour .nj-journey-map__stops { height: 100% !important; padding-right: 26px !important; }
  .nj-tour .nj-journey-map__stop,
  .nj-tour .nj-journey-map__stop--01,
  .nj-tour .nj-journey-map__stop--02,
  .nj-tour .nj-journey-map__stop--03,
  .nj-tour .nj-journey-map__stop--04 { height: 100% !important; min-height: 245px !important; flex-basis: 84%; margin-right: 16px !important; padding: 22px 10px 20px 0; }
  .nj-tour .nj-journey-map__label { gap: 13px; }
  .nj-tour .nj-journey-map__number { width: 36px; height: 36px; flex-basis: 36px; }
  .nj-tour .nj-journey-map__name { font-size: 31px; }
  .nj-tour .nj-journey-map__sentence { margin-top: 6px; font-size: 14.5px; line-height: 1.35; }
}

@media (prefers-reduced-motion: reduce) {
  .nj-tour .nj-anchorbar a::after,
  .nj-bookbar { transition: none; }
}
