/* Approved style-lab cascade, pinned in docs/native-sample-parity-2026-11-01.md.
 * Layout and typography only. Prices, availability and choices remain server-owned. */
.jgt-native{font-family:"JGT Pretendard",Pretendard,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:16px;line-height:1.65;-webkit-text-size-adjust:100%}
.jgt-native:not(.home){font-family:"JGT Pretendard",Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.native-header .brand{font-family:inherit;color:#1d2822;font-size:22px;font-weight:750;letter-spacing:-.8px;line-height:1.4}
.home .native-header{position:sticky;top:0;z-index:30;background:#ffffffed;backdrop-filter:blur(20px);border-bottom:1px solid #d2d2d770}
.home .native-header .brand{font-size:21px}
.home :is([id],a,button){scroll-margin-top:82px}
.header-inner{min-height:74px}
.home .header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:26px;row-gap:0;min-height:64px;width:min(1120px,calc(100% - 48px));margin-inline:auto}
.home .header-contacts{grid-column:3;grid-row:1}
.home .native-home-menu{grid-column:2;grid-row:1;justify-self:center;width:auto;min-width:0;max-width:100%;margin:0;padding:0;gap:27px}
.home .native-home-menu a{font-size:13px;min-height:44px}
.product-nav{background:#fff;border-top:0;border-bottom:1px solid #d8e0d4;backdrop-filter:none}
.product-nav nav{min-height:64px}
.product-nav strong{font-size:21px;line-height:28px;font-weight:650}
.native-button{min-height:46px;font-size:15px;padding:11px 25px}
.home .native-hero{min-height:710px}
.home .native-hero .hero-copy{width:auto;max-width:100%;margin:0;padding:48px 24px}
.home .native-hero h1{font-size:56px;line-height:66px;letter-spacing:-1.8px;font-weight:650;max-width:none}
.home .native-hero .native-button{font-size:17px;line-height:22px;min-height:48px;padding:12px 24px}
.home .native-hero .hero-image{object-position:center 57%}
.home .native-hero.has-image:after{background:linear-gradient(#09251e94,#09251e18 55%,#09251e7a)}
.home-hero-line{font-size:24px;line-height:33px;letter-spacing:-.6px}
.native-store{padding-top:66px}
.native-collection h2{font-size:48px;line-height:57px;letter-spacing:-1.4px;font-weight:600}
.native-promises>h2,.native-home-consult h2{font-size:48px;line-height:57px;letter-spacing:-1.4px;font-weight:600}
.native-home-consult h2{font-size:40px;line-height:48px;letter-spacing:-1.1px}
.native-promises>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.native-promises .promise-icon{color:#37745b;display:block;font-size:35px;font-weight:500;height:55px;line-height:45px}
.jgt-native:not(.home) .native-button,.native-booking :is(.jgt-contact a,.jgt-copy){font-weight:650}
.native-promises article{box-shadow:2px 5px 18px #00000007;border-radius:22px;padding:27px 25px 30px;min-height:285px}
@media(max-width:1100px){.native-promises>div{grid-template-columns:repeat(2,minmax(0,1fr))}.native-promises article{min-height:250px}}
@media(max-width:800px){.native-promises>div{grid-template-columns:minmax(0,1fr);gap:15px}.native-promises .promise-icon{height:42px;line-height:38px}.native-promises article{min-height:0;padding:25px}}
.native-promises h3{font-size:22px;line-height:29px;letter-spacing:-.6px;font-weight:600;margin:10px 0 0}
.native-promises p{font-size:15px;line-height:23px;color:#626267;margin-top:16px}
@media(max-width:800px){.native-promises p{font-size:17px;line-height:25px;max-width:430px}}
.native-cards{gap:28px}
.native-cards .native-card{flex:0 0 355px;height:auto;min-height:535px;scroll-snap-align:center;border-radius:22px}
.native-card>a{grid-template-rows:minmax(267.5px,1fr) 267.5px}
.native-card .card-copy{padding:27px 27px 28px;overflow:visible}
.native-card .card-copy h3{font-size:28px;line-height:35px;letter-spacing:-.9px;font-weight:600;margin:12px 0}
.native-card .card-intro{font-size:17px;line-height:23px;margin:8px 0 10px}
.native-card .card-copy>p:first-child{font-size:12px;line-height:18px}
.native-card .card-image{min-height:0;height:100%}
.intro-hero{position:relative;isolation:isolate;min-height:720px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:52px 0 34px;background:#203e31;color:#fff}
.intro-hero .hero-copy{padding:0}
.intro-hero .hero-copy,.intro-hero .hero-below{width:min(1040px,calc(100% - 80px))}
.intro-hero h1{font-size:24px;line-height:1.3;font-weight:650;letter-spacing:-.6px;max-width:none}
.intro-hero .hero-statement{font-size:56px;line-height:1.16;font-weight:700;letter-spacing:-2px;margin-top:23px;color:#fff;max-width:none}
.intro-hero .hero-statement>span{color:#e0eddb}
.intro-main-image{position:absolute;inset:0;z-index:-2;margin:0;width:100%;height:100%}
.intro-main-image img{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.intro-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#0c2b2294,transparent 54%,#0a251c9c)}
.intro-hero .hero-actions{margin-top:0}
.intro-hero .native-button{min-height:48px;font-size:17px;line-height:22px;padding:12px 24px}
.intro-hero .primary{background:#fff;color:#164e3b;border-color:#fff}
.intro-hero .phone{border-color:#fff;color:#fff}
.intro-hero .hero-below{padding-top:32px}
.intro-hero .native-starting{font-size:15px;line-height:23px;font-weight:400;margin-top:20px}
.native-starting-basis{display:inline;min-height:23px;overflow-wrap:anywhere;margin-inline-end:8px}
.intro-hero .jgt-live-minimum{font-weight:550}
@media(max-width:800px){.native-starting-basis{display:block;margin-inline-end:0}}
.native-highlights{padding-block:64px 44px}.native-venues{padding-block:80px}
.editorial-label{font-size:18px;line-height:1.4;letter-spacing:-.4px;margin-bottom:14px}
.native-venue{margin-top:44px}.native-venue+.native-venue{margin-top:60px}
.venue-copy h3{font-size:28px;line-height:35px;letter-spacing:-.7px;font-weight:600;margin-bottom:16px}
.highlight-tile{flex:0 0 360px;min-height:430px;position:relative;isolation:isolate;scroll-snap-align:center;display:flex;align-items:flex-end;background:#203e31;color:#fff}
.highlight-photo{position:absolute;inset:0;height:100%;z-index:-2}
.highlight-tile:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 25%,#172a1770 60%,#142213e6)}
.highlight-tile>div:last-child{padding:31px 27px}
.highlight-tile h3{font-size:28px;line-height:35px;letter-spacing:-.6px;font-weight:600}
.highlight-tile p{font-size:17px;line-height:25px;color:#f4f7f1}
.native-venues>.content,.native-highlights>.content,.native-venues .venue-copy{width:min(1040px,calc(100% - 80px))}
.venue-rail{padding-inline:max(24px,calc((100% - 1040px)/2));scroll-padding-inline:max(24px,calc((100% - 1040px)/2))}
.venue-rail figure{aspect-ratio:1.7}
#courses .venue-rail figure{aspect-ratio:1.4}
.booking-heading,.native-booking.jgt-product{width:min(1200px,calc(100% - 80px));max-width:1200px;overflow-wrap:anywhere}
.single-product:has(.native-booking) :is(.header-inner,.product-nav nav){width:min(1200px,calc(100% - 80px))}
.single-product:not(:has(.native-booking)) :is(.header-inner,.product-nav nav){width:min(1040px,calc(100% - 80px))}
.booking-heading{padding:48px 0 44px;margin-bottom:32px}
.booking-heading h1{font-size:40px;line-height:48px;letter-spacing:-1.4px;font-weight:650;color:#1d2822}
.booking-starting{margin-top:24px;font-size:23px;line-height:32px;color:#314c35}
.booking-starting strong{font-weight:550}
.booking-title-basis{display:block;font-size:14px;line-height:22px;color:#626267;margin-top:10px}
.native-booking.jgt-product{grid-template-columns:minmax(0,1fr) 390px;gap:64px;padding-top:0;padding-inline:0;font:inherit;color:inherit}
.booking-controls>.booking-step,.booking-controls>.jgt-options-slot{margin-top:48px}
.booking-controls>.jgt-party-slot{margin-top:0}
.booking-controls h2{font-size:24px;line-height:31px;font-weight:600;letter-spacing:-.65px;margin:0 0 20px}
.booking-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;line-height:18px;color:#626267;margin-top:32px}
.booking-status .jgt-retry{font-size:12px;min-height:44px;padding:8px 14px;border-radius:24px}
.party-select-shell{display:block;border:1px solid #bfcbb8;border-radius:14px;padding:13px 18px;font-size:12px;line-height:18px;color:#526b48}
.party-select-shell select{display:block;border:0;background:transparent;color:#1d2822;font:inherit;font-size:19px;font-weight:600;line-height:1.4;width:100%;min-height:36px;padding:0;margin-top:4px}
.party-note{font-size:12px;line-height:18px;color:#626267;margin-top:16px}
.native-booking .jgt-options h2{margin-top:0}
.booking-hotel-step{margin-bottom:48px}
.native-booking .jgt-options label{font-size:17px;line-height:25px;font-weight:600;margin:24px 0 14px}
.native-booking .jgt-options select{font-size:17px;line-height:24px;min-height:62px;padding:16px 18px;border-radius:13px;background:#fff;color:#1d2822}
.native-choice-group{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:0;margin:26px 0;border:0}
.native-choice-group[hidden]{display:none}
.native-choice-group legend{font-size:17px;line-height:25px;font-weight:600;margin-bottom:14px;padding:0;color:#526b48}
.native-choice-group button{display:flex;align-items:center;min-width:0;min-height:84px;padding:20px 22px;width:100%;background:#fff;text-align:left}
.native-choice-group button b{font-size:17px;line-height:23px;font-weight:600;overflow-wrap:anywhere}
.booking-hotel-step .native-choice-group legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.native-booking .jgt-option-guide,.native-booking .jgt-option-note{font-size:12px;line-height:20px;color:#626267;margin:16px 0}
.native-booking .jgt-plans button,.native-booking .fixed-plan{min-height:84px;padding:20px 22px;font-size:17px;line-height:23px;font-weight:600;border-radius:13px}
.native-booking button[aria-pressed=true]{border:2px solid #346c58;background:#f7faf3}
.native-booking .jgt-months{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;margin:0 0 20px}
.booking-calendar{padding:26px;background:#fff;border:1px solid #e2e6dd;border-radius:22px}
.calendar-month-controls{display:flex;gap:8px}
.native-booking .jgt-months>strong{font-size:18px;line-height:26px;letter-spacing:-.3px}
.native-booking .calendar-month-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;font-size:22px;line-height:1;font-weight:400;border-radius:50%}
.calendar-unit{font-size:12px;line-height:18px;text-align:right;color:#626267;margin-bottom:8px}
.calendar-weekdays,.native-booking .jgt-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.native-booking .jgt-dates{margin:0}
.calendar-weekdays{text-align:center;font-size:12px;line-height:18px;color:#626267;margin-bottom:8px}
.native-booking .jgt-dates button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:65px;padding:9px 2px;border:1px solid transparent;border-radius:10px}
.native-booking .jgt-dates .date-label{font-size:15px;line-height:22px;font-weight:500}
.native-booking .jgt-dates .jgt-price{min-width:0;max-width:100%;font-size:13px;line-height:20px;font-weight:600;color:#007568;overflow-wrap:anywhere}
.native-booking .jgt-dates button[aria-pressed=true]{background:#164e3b;color:#fff}
.native-booking .jgt-dates button[aria-pressed=true] .jgt-price{color:#fff}
.native-booking .jgt-dates button:disabled{background:transparent;border-color:transparent;opacity:1;color:#626267}
.native-booking .jgt-dates button[data-inquiry]{border:1px dashed #8a8a8f}
.native-booking .jgt-dates button[data-inquiry] .jgt-price{font-size:12px;color:#626267}
.native-booking .jgt-dates>p{grid-column:1/-1;font-size:14px;line-height:24px}
.native-booking .jgt-flights button{padding:18px;gap:10px}
.native-booking .flight-name{font-size:17px;line-height:24px;font-weight:600}
.native-booking .flight-leg,.native-booking .card-basis{font-size:12px;line-height:20px;color:#626267}
.native-booking .booking-summary{padding:0}
.booking-plan-card,.booking-quote-card,.booking-quote-reading{padding:28px;border:1px solid #dce5d7;background:#fff}
.booking-plan-card{border-bottom:0;border-radius:20px 20px 0 0;padding-bottom:0}
.booking-plan-card .jgt-plan-list{margin-bottom:0}
.booking-quote-core{padding-block:0}
.booking-quote-card{border-block:0;border-radius:0;padding-block:24px;box-shadow:0 1px 0 #dce5d7}
.booking-quote-reading{margin-top:0;border-top:0;border-radius:0 0 20px 20px;padding-top:24px}
.quote-package-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;font-size:14px;line-height:23px}
.quote-package-line strong{font-weight:600;white-space:nowrap}
.quote-included-changes{margin:20px 0 0;padding:16px 0 0;border-top:1px solid #dbe5d4;font-size:12px;line-height:20px}
.quote-included-changes>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;margin-top:12px}
.quote-included-changes dd{margin:0;text-align:right;white-space:nowrap}
.jgt-summary-view .quote-detail-note{font-size:12px;line-height:20px;color:#626267;margin-top:14px}
@media(min-width:1001px){.booking-quote-core[data-fits-viewport=true]{top:var(--jgt-booking-nav,96px)}}
.booking-summary h2{font-size:24px;line-height:31px;font-weight:650;letter-spacing:-1px}
.booking-summary .jgt-minimum{font-size:34px;line-height:41px;font-weight:650;letter-spacing:-1.3px;color:#1b3923}
.booking-summary .jgt-basis{font-size:12px;line-height:20px;color:#626267}
.jgt-plan-list{font-size:13px;line-height:20px;border-bottom:1px solid #dbe5d4;margin:22px 0 24px;padding-bottom:24px}
.jgt-plan-list>div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:18px;margin-top:13px}
.jgt-plan-list dt{font-size:12px;color:#626267}.jgt-plan-list dd{margin:0;text-align:right;font-weight:500;overflow-wrap:anywhere}
.booking-summary .jgt-team-total{font-size:20px;line-height:28px}
.booking-summary .quote-price-label{font-size:13px;color:#626267}
.booking-summary .jgt-summary-view{font-size:12px;line-height:20px}
.booking-summary .jgt-contact a{min-height:48px;font-size:14px;line-height:22px}
@media(min-width:1001px) and (max-width:1200px){.native-booking.jgt-product{gap:36px;grid-template-columns:minmax(0,1fr) 350px}.booking-plan-card,.booking-quote-card,.booking-quote-reading{padding:24px}.booking-plan-card{padding-bottom:0}}
@media(max-width:1000px){.native-booking.jgt-product{row-gap:0}.native-booking .native-itinerary{margin-top:36px}.native-booking .booking-summary{border-top:1px solid #d4e0ca;border-radius:0;margin-top:62px;padding-top:42px}.booking-plan-card,.booking-quote-card,.booking-quote-reading{border:0;border-radius:0;box-shadow:none;padding-inline:0}.booking-plan-card{padding-top:0}.native-booking.jgt-product{grid-template-columns:minmax(0,1fr);max-width:740px}.native-booking .jgt-fixed{min-height:74px;padding-block:5px calc(5px + env(safe-area-inset-bottom,0px))}.native-booking .jgt-fixed-price{font-size:20px;line-height:27px}.native-booking .jgt-fixed .native-button{min-height:44px;font-size:12px;padding:10px 12px}}
@media(max-width:800px){
 .content{width:calc(100% - 40px)}
 .native-header .brand{font-size:20px}.home .native-header .brand{font-size:20px}.header-inner{min-height:65px}.product-nav strong{font-size:17px;line-height:23px}
 .home .header-inner{grid-template-columns:minmax(0,1fr) auto;column-gap:8px;min-height:99px}.home .native-header .brand{min-height:50px;display:flex;align-items:center}.home .header-contacts{grid-column:2;grid-row:1}.home .native-home-menu{grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%;gap:25px}
 .home .native-hero{min-height:620px}.home .native-hero .hero-copy{padding:40px 24px}.home .native-hero h1{font-size:32px;line-height:38px;letter-spacing:-.8px}.home-hero-line{font-size:19px;line-height:27px;max-width:280px;margin:19px auto 0}
 .native-store{padding-top:44px}.native-collection h2,.native-promises>h2,.native-home-consult h2{font-size:32px;line-height:39px;letter-spacing:-.8px}
 .native-promises h3{font-size:23px;line-height:30px}
 .home :is([id],a,button){scroll-margin-top:116px}
 .native-cards,.native-edge-rail{gap:16px;padding-inline:24px;scroll-padding-inline:24px}
 .native-cards .native-card{flex:0 0 clamp(280px,78.6vw,309px);height:auto;min-height:calc(clamp(280px,78.6vw,309px)*16/11);border-radius:20px}
 .native-card>a{grid-template-rows:minmax(calc(clamp(280px,78.6vw,309px)*8/11),1fr) calc(clamp(280px,78.6vw,309px)*8/11)}
 .native-card .card-copy{padding:19px 20px 20px}.native-card .card-copy h3{font-size:24px;line-height:30px;letter-spacing:-.6px;margin:8px 0}.native-card .card-intro{font-size:17px;line-height:23px}
 .intro-hero{min-height:660px;padding:38px 0 30px}.intro-hero h1{font-size:19px;line-height:1.35;letter-spacing:-.6px}.intro-hero .hero-statement{font-size:38px;line-height:1.2;letter-spacing:-1.3px;margin-top:20px}.intro-hero .hero-below{padding-top:30px}.intro-hero .native-starting{font-size:15px;line-height:23px}
 .intro-hero .hero-copy,.intro-hero .hero-below{width:calc(100% - 48px)}
 .native-highlights{padding-block:48px 36px}.native-venues{padding-block:56px}.highlight-tile{flex:0 0 clamp(280px,78.6vw,309px);min-height:calc(clamp(280px,78.6vw,309px)/.84)}.highlight-tile>div:last-child{padding:22px 20px}.highlight-tile h3{font-size:21px;line-height:28px;letter-spacing:-.4px}.highlight-tile p{font-size:17px;line-height:23px}
 .native-venues>.content,.native-highlights>.content,.native-venues .venue-copy{width:calc(100% - 48px)}
 .single-product:has(.native-booking) :is(.header-inner,.product-nav nav){width:calc(100% - 40px)}.single-product:not(:has(.native-booking)) :is(.header-inner,.product-nav nav){width:calc(100% - 48px)}
 .editorial-label{font-size:17px;line-height:1.4;margin-bottom:12px}.venue-copy h3{font-size:24px;line-height:31px;margin-bottom:14px}.native-venue{margin-top:34px}.native-venue+.native-venue{margin-top:48px}
 .venue-rail figure{flex-basis:clamp(280px,78.6vw,309px);aspect-ratio:1.4}
 .booking-heading,.native-booking.jgt-product{width:calc(100% - 40px)}.booking-heading{padding:35px 0 33px}.booking-heading h1{font-size:32px;line-height:39px;letter-spacing:-1px}.booking-starting{font-size:22px;line-height:30px;margin-top:20px}.booking-title-basis{font-size:12px;line-height:18px;margin-top:8px}
 .booking-controls>.booking-step,.booking-controls>.jgt-options-slot{margin-top:44px}.booking-controls>.jgt-party-slot{margin-top:0}.booking-controls h2{font-size:24px;line-height:31px;margin-bottom:20px}.booking-hotel-step{margin-bottom:44px}
 .native-booking .jgt-plans button,.native-booking .fixed-plan{padding:20px 18px;min-height:82px}
 .booking-calendar{padding:18px 12px}
 .native-choice-group legend{font-size:16px}
 .booking-plan-card,.booking-quote-card,.booking-quote-reading{padding:24px 0}.booking-plan-card{padding-block:0}.booking-summary h2{font-size:24px;line-height:31px}.booking-summary .jgt-minimum{font-size:36px;line-height:44px}
}
@media(max-width:767px){.home .native-header .brand{font-size:18px}}
@media(max-width:380px){.home .native-header .brand{font-size:16px}.intro-hero .hero-statement{font-size:34px}.product-nav strong{font-size:16px;letter-spacing:-.6px}.native-booking .jgt-dates button{padding-inline:1px}.booking-summary .jgt-minimum{font-size:33px}}

@media(max-width:400px){.native-booking .jgt-dates{gap:2px}}

@media(max-width:800px){.native-booking .booking-summary{margin-top:47px;padding-top:32px}}

/* Approved PC price/contact-first order; mobile keeps the original plan-first flow. */
@media(min-width:1001px){
 .booking-heading{padding:32px 0 24px;margin-bottom:24px}
 .booking-quote-card{border-top:1px solid #dce5d7;border-radius:20px 20px 0 0}
 .booking-plan-card{border-top:0;border-radius:0;padding-top:24px}
}

/* Home consultation block follows the approved home sample, using shared settings. */
.home .native-home-consult{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-bottom:65px}
.home .native-home-consult>div>p{font-size:17px;line-height:26px;color:#626267;margin-top:18px}
.home .native-home-consult-actions{display:flex;flex-wrap:wrap;gap:12px;max-width:360px;margin-top:0}
.home .native-home-consult-actions>.native-button{font-size:17px;line-height:24px;min-height:48px}
.home .native-home-consult-actions>.phone{background:#164e3b;border-color:#164e3b;color:#fff}
.home .native-home-consult .native-home-phones{flex-basis:100%;font-size:15px;line-height:24px;margin:4px 0 0}
.home .native-home-phones a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding-inline:5px}
@media(max-width:800px){.home .native-home-consult{display:block;padding-bottom:44px}.home .native-home-consult-actions{margin-top:26px}.home .native-home-consult>div>p{line-height:25px}.home .native-home-consult .native-home-phones{line-height:24px}}

/* Keep the focus ring inside the horizontally scrollable home menu. */
.home .native-home-menu a:focus-visible{outline-offset:-3px}

/* Full-page comparison 2026-11-02: home promise rhythm matches home.html. */
.home .native-promises{padding-block:10px 60px}
.home .native-promises>div{margin-top:26px}
@media(max-width:800px){.home .native-promises{width:calc(100% - 48px);padding-block:10px 43px}.home .native-promises>div{margin-top:19px}}

/* The existing introduction closing CTA follows intro.html, with live contacts. */
.native-intro-final{width:min(1040px,calc(100% - 80px));text-align:center;padding-block:70px 80px}
.native-intro-final h2{font-size:32px;line-height:40px;letter-spacing:-.9px;font-weight:650;margin-bottom:0}
.native-intro-final>p{font-size:16px;color:#626267;margin:17px auto 0}
.native-intro-final .contacts{justify-content:center;gap:12px;margin-top:26px}
.native-intro-final .native-button{min-height:48px;font-size:17px;line-height:22px;padding:12px 24px}
@media(max-width:800px){.native-intro-final{width:calc(100% - 48px);padding-block:52px 58px}.native-intro-final h2{font-size:28px;line-height:35px}.native-intro-final>p{font-size:15px}.native-intro-final .native-button{padding-inline:23px}}

/* Optional factual introduction sections, following the approved editorial rhythm. */
.native-story-group{padding-block:80px;background:#fff}
#movement.native-story-group{background:#f2f6ef}
.native-story+.native-story{margin-top:60px}
.story-copy,.story-images,.native-price-policy{width:min(1040px,calc(100% - 80px))}
.story-copy h2,.native-price-policy>h2{font-size:48px;line-height:57px;letter-spacing:-1.4px;font-weight:600}
.story-copy .story-body{font-size:21px;line-height:34px;max-width:760px;margin-top:28px;color:#424245}
.story-subtitle{font-size:16px;line-height:25px;color:#626267;margin-top:16px}
.story-images{display:grid;gap:24px;margin-top:36px}
.story-images figure{margin:0;height:520px;border-radius:23px;overflow:hidden;background:#e9eeea}
.story-images img{display:block;width:100%;height:100%;object-fit:cover}
#movement .story-images figure{height:auto}#movement .story-images img{height:auto;object-fit:contain}
.native-price-policy{width:100%;padding:80px max(40px,calc((100% - 1040px)/2));background:#fafbf8}
.native-price-policy>.native-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px;margin-top:36px}
.native-price-policy .native-policy-card{border:1px solid #e8eee3;border-radius:24px;padding:37px;background:#fff;min-width:0;overflow-wrap:anywhere}
.native-policy-card h3{font-size:28px;line-height:35px;font-weight:600;letter-spacing:-.7px}
.native-policy-card>p{font-size:17px;line-height:27px;margin-top:20px;color:#424245}
.native-policy-card table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:14px;line-height:24px;margin-top:26px}
.native-policy-card caption{text-align:left;font-size:12px;color:#626267;margin-bottom:10px}
.native-policy-card th,.native-policy-card td{text-align:left;vertical-align:top;padding:15px 11px;border-bottom:1px solid #e3e7de;overflow-wrap:anywhere}
.native-policy-card thead{background:#edf2e8}.native-policy-card th:first-child{width:28%}
.native-policy-card figure{margin:26px 0 0}.native-policy-card img{max-width:100%;height:auto;border-radius:12px}
@media(max-width:800px){.native-story-group{padding-block:56px}.native-story+.native-story{margin-top:48px}.story-copy,.story-images,.native-price-policy{width:calc(100% - 48px)}.story-copy h2,.native-price-policy>h2{font-size:32px;line-height:39px;letter-spacing:-.8px}.story-copy .story-body{font-size:18px;line-height:30px;margin-top:26px}.story-images{margin-top:30px;gap:16px}.native-price-policy{width:100%;padding:56px 24px}.native-price-policy>.native-policy-grid{gap:22px;margin-top:28px}.native-price-policy .native-policy-card{padding:26px 24px;border-radius:20px}.native-policy-card h3{font-size:24px;line-height:31px}.native-policy-card th,.native-policy-card td{padding:13px 8px}.native-policy-card table{font-size:13px;line-height:23px}}

@media(max-width:800px){.story-images figure{height:325px}}
/* Full-page home rail rhythm; product copy and conditional filters remain data-owned. */
.home .native-collection{padding-block:0 60px}
.home .native-collection>.content{margin-bottom:26px}
.home .native-cards{gap:22px;padding-top:20px}
@media(max-width:800px){.home .native-collection{padding-bottom:43px}.home .native-collection>.content,.home .native-collection>.rail-controls{width:calc(100% - 48px)}.home .native-collection>.content{margin-bottom:19px}.home .native-cards{gap:16px}}

/* Final edge-refinement.css overrides the earlier desktop two-column weather draft. */
#weather .story-images{display:block;margin-top:32px}
#weather .story-images figure{height:auto;aspect-ratio:2.2;max-height:470px}
#weather .story-images figure+figure{margin-top:24px}
@media(max-width:800px){#weather .story-images figure{aspect-ratio:1.4}}

/* Remaining P1 card padding/font breakpoints follow intro-editorial.css. */
@media(min-width:801px) and (max-width:1100px){.native-price-policy .native-policy-card{padding:28px}.native-policy-card table{font-size:12px}}
@media(max-width:400px){.native-price-policy .native-policy-card{padding:24px 21px}.native-policy-card table{font-size:12px}}

/* Product local navigation: Apple observed 29px pill, independent 44px hit area. */
.product-nav nav>div a{position:relative;min-height:0;height:29px;font-size:12px;line-height:17px;padding:5px 10px;border-radius:120px}
.product-nav nav>div a:after{content:"";display:block;position:absolute;left:0;right:0;top:50%;bottom:auto;height:44px;transform:translateY(-50%)}

/* Authored newlines are deliberate on desktop; mobile keeps one continuous text flow. */
@media(min-width:801px){.intro-hero .hero-statement>span{display:inline}.intro-hero .hero-statement>span:before{content:" "}}
@media(max-width:800px){.intro-hero .hero-statement br{display:none}.intro-hero .hero-statement>span{display:inline}.intro-hero .hero-statement>span:before{content:" "}}

.intro-hero .hero-statement>span{color:inherit}

.intro-hero .native-price-principle{font-size:14px;line-height:1.65;margin-top:14px;color:inherit;opacity:.9}

/* Booking revision 020: mobile-first approved reading order. */
.booking-starting strong small,.booking-price-row small,.jgt-fixed>div>small{font-size:14px;font-weight:400;white-space:nowrap;color:#626267}
.booking-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.native-booking .booking-summary{display:flex;flex-direction:column;gap:24px}
.native-booking .booking-quote-core{position:static!important;padding:0;order:0}
.native-booking .booking-quote-reading{margin:0;padding:24px 0;border:0;border-top:1px solid #d2d2d7;border-radius:0}
.native-booking .quote-details{margin:0;padding:24px 0 0}.native-booking .booking-quote-card{padding:0;border:0}
.booking-actions{display:grid;gap:10px;margin-top:20px}.booking-actions>*{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:24px}
.native-booking .jgt-option-total,.native-booking .jgt-component-breakdown,.native-booking .jgt-option-guide,.native-booking .jgt-profile-selected,.native-booking .jgt-profile-info{display:none!important}
.native-booking .jgt-dates button{justify-content:flex-start!important;align-items:center!important;padding-top:10px!important;min-height:64px}
.native-booking .jgt-dates .date-label{line-height:22px}.native-booking .jgt-dates .jgt-price{font-weight:800!important;color:#1d1d1f}
.flight-route{display:block;width:100%;padding-top:12px}.flight-route-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px}.flight-route-track{color:#86868b;letter-spacing:0;font-size:12px}.flight-route .flight-leg{display:block;margin-top:5px}
.choice-extra{display:block;font-size:13px;font-weight:500;color:#515154;margin-top:6px}.booking-composition{border-top:1px solid #d2d2d7;margin-top:28px;padding-top:28px}.booking-composition h3 small{font-size:14px;font-weight:400}
.native-booking .native-itinerary{border-top:1px solid #d2d2d7;padding-top:32px;grid-column:1/-1}.native-booking .intro-days{list-style:none;padding:0;display:grid;gap:16px}.native-booking .intro-days li{padding:24px;background:#f5f5f7;border-radius:20px;display:grid;grid-template-columns:52px 1fr;gap:12px}.native-booking .intro-days li>span{color:#6e6e73;font-size:14px}.native-booking .intro-days h3{font-size:18px;line-height:1.6}.native-booking .intro-days .itinerary-note{display:block;font-size:13px}
.native-booking .jgt-fixed>div{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.native-booking .jgt-fixed-basis{display:none}.native-booking .jgt-fixed .jgt-fixed-price{font-size:20px}.native-booking .jgt-fixed>div>small{font-size:12px}

.flight-route-track{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;font-size:12px;white-space:nowrap}.flight-route-track:before,.flight-route-track:after{content:"";height:1px;min-width:6px;background:#c6c6c8;flex:1}.booking-composition-list{list-style:none;padding:0}.booking-composition-list li{display:grid;grid-template-columns:100px 1fr;gap:12px;border-bottom:1px solid #e8e8ed;padding:14px 0;font-size:14px;line-height:1.7}.booking-composition-list li b:before{content:"✓ ";color:#257541}.native-booking .intro-days p{font-size:15px;line-height:1.8;margin-top:10px;color:#515154}

.native-booking .jgt-plans button{display:flex;align-items:center;justify-content:space-between;gap:12px}.native-booking .jgt-plans button small{font-size:14px;font-weight:500;line-height:1.5}.native-booking .jgt-plans button b{font-size:17px}

/* Booking021: option captions right; a single quote divider; document actions. */
.native-booking .native-choice-group button{display:flex!important;flex-direction:row!important;justify-content:space-between;gap:16px}.native-choice-group button .choice-extra{margin:0 0 0 auto;text-align:right;max-width:55%;flex-shrink:0}.native-booking .native-choice-group button b{min-width:0;flex:1}.native-booking .jgt-plan-list{border-bottom:0;margin-bottom:0;padding-bottom:0}.native-booking .quote-included-changes{border:0;padding:0;margin:0}.native-booking .quote-package-line{padding:8px 0;gap:14px}.native-booking .jgt-summary-view{font-size:14px;line-height:1.7}.native-booking .quote-details{padding-top:24px}.booking-composition-list .is-excluded b:before{content:"✕ ";color:#c32121}.native-booking .consultation-help:empty{display:none}

.native-booking .jgt-copy-status:empty{min-height:0;height:0;margin:0}

.jgt-intake-dialog{border:0;border-radius:24px;padding:28px;width:min(480px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-sizing:border-box;color:#1d1d1f}.jgt-intake-dialog::backdrop{background:#0008}.jgt-intake-dialog h2{font-size:25px;line-height:1.4;margin:22px 0 14px}.intake-close{display:block;margin-left:auto;min-height:44px;padding:8px 16px;border:1px solid #d2d2d7;border-radius:24px;background:white}.intake-selected,.intake-message{font-size:15px;line-height:1.7;margin:14px 0}.jgt-intake-form{display:grid;gap:20px}.jgt-intake-form>label:not(.intake-consent){font-size:15px;font-weight:600;display:grid;gap:8px}.jgt-intake-form input:not([type=checkbox]){box-sizing:border-box;width:100%;min-height:50px;font:inherit;padding:12px;border:1px solid #86868b;border-radius:12px}.jgt-intake-form .intake-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.7}.intake-consent input{flex:none;width:22px;height:22px;margin:2px 0}.intake-policy{white-space:pre-line;font-size:12px;line-height:1.8;color:#515154}.jgt-intake-form .primary{min-height:48px;border-radius:24px}.intake-done{font-size:15px;line-height:1.8}.jgt-intake-form[hidden],.intake-done[hidden]{display:none}

.jgt-intake-form button.primary{background:#164e3b;color:#fff;border:0}.jgt-intake-form button.primary:disabled{background:#e5e5e8;color:#515154}

/* User024: compact two-line business hours across customer pages. */
.jgt-consultation-hours,.native-booking .jgt-consultation-hours{font-size:12px;line-height:20px;color:#626267;margin-top:12px;overflow-wrap:anywhere}

/* BOOKING037: configuration card, price/action, contact, composition. */
.native-booking .booking-summary{gap:0;align-self:start}
.native-booking .booking-plan-card{padding:24px;background:var(--jgt-paper);border:0;border-radius:20px;box-shadow:none}
.native-booking .booking-plan-card h2{font-size:22px;line-height:28px}
.native-booking .booking-plan-card .jgt-plan-list{margin-top:20px}
.native-booking .booking-plan-card .quote-details{padding-top:24px}
.native-booking .quote-details h3{font-size:15px;line-height:22px;margin-bottom:10px}
.native-booking .quote-details .quote-package-line{font-size:13px;line-height:21px;padding:6px 0;gap:12px}
.native-booking .quote-details .jgt-team-total{margin-top:20px;text-align:right;font-size:17px;line-height:25px;font-weight:650}
.native-booking .booking-quote-core{margin-top:28px;padding:28px 0 32px;border-top:1px solid #d2d2d7}
.native-booking .booking-quote-card{padding:0;background:transparent;box-shadow:none}
.native-booking .booking-price-row{gap:6px}
.native-booking .booking-price-row .jgt-minimum{font-size:32px;line-height:40px;font-weight:750;letter-spacing:-1px;margin:0}
.native-booking .booking-price-row small{font-size:14px;line-height:21px}
.native-booking .booking-actions{display:block;margin-top:24px}
.native-booking .booking-actions>.jgt-reserve{width:100%;min-height:48px;border-radius:10px;font-size:16px;line-height:24px}
.native-booking .quote-share-help{display:block;min-height:0;border-radius:0;margin:24px 0 6px;font-size:14px;line-height:22px;text-align:left}
.native-booking .booking-actions .quote-share-link{display:inline-flex;gap:7px;width:auto;min-height:44px;margin:0;padding:8px 0;background:transparent;color:var(--jgt-green);border:0;border-radius:0;box-shadow:none;font-size:14px;font-weight:500;line-height:22px;text-align:left;cursor:pointer}
.native-booking .booking-actions .quote-share-link:disabled{opacity:.5;cursor:default}
.native-booking .booking-quote-reading{margin:0;padding:24px 0;border:0;border-top:1px solid #d2d2d7;background:transparent;box-shadow:none}
.native-booking .booking-quote-reading .jgt-contact{margin-top:0}
.native-booking .booking-composition{margin:0;padding-top:28px;border-top:1px solid #d2d2d7}
@media(max-width:380px){.native-booking .booking-plan-card{padding:20px}.native-booking .quote-details .quote-package-line{font-size:12px;gap:8px}}

/* BOOKING059 owner contract: left content through itinerary, PC persistent quote. */
.native-booking .jgt-plans button,.native-booking .jgt-plans button b,.native-booking .fixed-plan{font-weight:400}
.native-booking .jgt-retry[hidden]{display:none!important}
.native-booking>.booking-composition{margin:0;padding-top:32px;border-top:1px solid #d2d2d7;min-width:0}
.native-booking>.booking-composition h2{font-size:24px;line-height:32px;margin-bottom:20px}
.native-booking>.booking-composition .booking-composition-list li{font-size:15px;line-height:1.8;grid-template-columns:110px minmax(0,1fr)}
@media(min-width:1001px){.native-booking>.booking-controls{grid-column:1;grid-row:1}.native-booking>.booking-composition{grid-column:1;grid-row:2}.native-booking>.native-itinerary{grid-column:1;grid-row:3}.native-booking>.booking-summary{grid-column:2;grid-row:1/4;position:sticky;top:var(--jgt-booking-nav,96px);align-self:start;max-height:calc(100dvh - var(--jgt-booking-nav,96px) - 20px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:8px}.native-booking>.booking-summary .booking-quote-core{position:static!important}}
@media(max-width:1000px){.native-booking>.booking-summary{position:static;max-height:none;overflow:visible;grid-column:1;grid-row:auto}.native-booking>.booking-composition{margin-top:28px}.native-booking>.native-itinerary{grid-column:1}.native-booking>.booking-composition .booking-composition-list li{grid-template-columns:100px minmax(0,1fr)}}

/* BOOKING059 N1: keep totals and actions visible; scroll only the reading card. */
.native-booking .booking-plan-card>.jgt-team-total{margin-top:20px;text-align:right;font-size:17px;line-height:25px;font-weight:650}
.booking-plan-scroll:focus-visible{outline:2px solid var(--jgt-green);outline-offset:-2px}
@media(min-width:1001px){
 .native-booking>.booking-summary{display:flex;flex-direction:column;height:var(--jgt-panel-space,calc(100dvh - var(--jgt-booking-nav,96px) - 20px));overflow:visible;padding-bottom:0;scrollbar-gutter:auto;gap:0}
 .native-booking>.booking-summary .booking-plan-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:20px;overflow:hidden}
 .native-booking .booking-plan-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 .native-booking .booking-plan-card>.jgt-team-total{flex:none;margin:0;padding-top:16px}
 .native-booking>.booking-summary .booking-quote-core{flex:none;margin-top:16px;padding:16px 0}
 .native-booking>.booking-summary .booking-actions{margin-top:12px}
 .native-booking>.booking-summary .quote-share-help{margin:12px 0 0}
 .native-booking>.booking-summary .booking-actions .quote-share-link{min-height:36px;padding:6px 0}
 .native-booking>.booking-summary .booking-quote-reading{flex:none;padding:10px 0}
 .native-booking>.booking-summary .jgt-consultation-hours{margin-top:8px}
}
@media(min-width:1001px) and (max-height:800px){.native-booking>.booking-summary .booking-plan-card{padding:16px}.native-booking .booking-plan-card>.jgt-team-total{padding-top:10px}.native-booking>.booking-summary .booking-quote-core{margin-top:10px;padding:10px 0}.native-booking>.booking-summary .booking-price-row .jgt-minimum{font-size:28px;line-height:34px}.native-booking>.booking-summary .quote-share-help{font-size:13px;line-height:20px;margin-top:8px}.native-booking>.booking-summary .booking-quote-reading{padding:8px 0}.native-booking>.booking-summary .jgt-consultation-hours{font-size:11px;line-height:18px}}

.native-booking>.booking-heading{width:100%;max-width:none;margin-inline:0}
@media(min-width:1001px){.native-booking.jgt-product{row-gap:32px}.native-booking>.booking-heading{grid-column:1;grid-row:1;margin-bottom:0}.native-booking>.booking-controls{grid-row:2}.native-booking>.booking-composition{grid-row:3}.native-booking>.native-itinerary{grid-row:4}.native-booking>.booking-summary{grid-row:1/5}}

/* SITE060: owner-selected native party dropdown; readable share; flight endpoint dates. */
.native-booking .party-select-shell{padding:0;border:2px solid #346c58;background:#f7faf3;cursor:pointer;overflow:hidden}
.native-booking .party-select-shell select{display:block;width:100%;min-height:64px;margin:0;padding:18px 20px;border:0;background:transparent;font-size:19px;line-height:26px;font-weight:500;cursor:pointer;box-sizing:border-box}
.native-booking .calendar-unit{margin:0 4px 8px;text-align:right;font-size:12px;line-height:18px}
.native-booking .flight-route .flight-leg{font-size:12px;line-height:20px;margin:8px 0 10px;color:#626267}
.flight-schedule{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:8px}.flight-endpoint{display:flex;flex-direction:column;gap:2px;min-width:0}.flight-endpoint:last-child{text-align:right}.flight-clock{font-size:20px;line-height:28px;font-weight:600}.flight-date{font-size:12px;line-height:20px;color:#626267;overflow-wrap:anywhere}
.native-booking .booking-actions .quote-share-link{color:#1d1d1f;font-weight:600}.native-booking .booking-actions .quote-share-link:disabled{color:#626267;opacity:1}
.footer-company-info{font-size:12px;line-height:1.9;color:#515154;overflow-wrap:anywhere;max-width:940px;margin-top:18px}

/* BOOKING061: inset native-select chevron and a continuous, expanded day timeline. */
.native-booking .party-select-shell{position:relative}
.native-booking .party-select-shell select{appearance:none;-webkit-appearance:none;padding-right:56px}
.native-booking .party-select-shell:after{content:"";position:absolute;right:23px;top:calc(50% - 6px);width:9px;height:9px;border-right:1.5px solid #346c58;border-bottom:1.5px solid #346c58;transform:rotate(45deg);pointer-events:none}
.booking-timeline{margin-top:18px}.timeline-caption,.timeline-notice{font-size:12px;line-height:1.8;color:#626267}.timeline-notice{margin-top:24px}
.booking-day{padding:28px 0;border-bottom:1px solid #dedee2}.booking-day-heading{margin-bottom:20px}.booking-day-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:20px;color:#626267}.booking-day-meta strong{color:#346c58;font-weight:600}.booking-day h3{font-size:22px;line-height:1.45;letter-spacing:-.5px;margin:8px 0 0}
.timeline-events{list-style:none;padding:0;margin:0}.timeline-event{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:12px 0;margin:0}.timeline-when{font-size:13px;font-weight:600;line-height:24px;color:#515154;overflow-wrap:anywhere}.timeline-when small{display:block;font-size:10px;font-weight:400;line-height:16px;color:#6e6e73}.timeline-event-body{position:relative;padding-left:20px;border-left:1px solid #d2d2d7;min-width:0}.timeline-event-body:before{content:"";position:absolute;left:-4px;top:8px;width:7px;height:7px;border-radius:50%;background:#346c58}.timeline-event-body:after{content:"";position:absolute;left:-1px;bottom:-24px;height:24px;border-left:1px solid #d2d2d7}.timeline-event:last-child .timeline-event-body:after{display:none}.timeline-event-body strong{font-size:15px;line-height:24px;font-weight:600;overflow-wrap:anywhere}.timeline-event-body p{font-size:14px;line-height:1.75;color:#626267;margin:4px 0 0;overflow-wrap:anywhere}
.native-booking .intro-days li{background:none;border-radius:0;padding:24px 0;border-bottom:1px solid #dedee2}
@media(max-width:767px){.booking-day h3{font-size:20px}.timeline-event{grid-template-columns:64px minmax(0,1fr);gap:12px}.timeline-event-body{padding-left:16px}}

/* COPY063: real word separator replaces the generated hero space; desktop break remains. */
.intro-hero .hero-statement>span:before{content:none}

/* INTRO064: minimal hero price basis. */
.intro-hero .native-starting-basis{display:block;font-size:14px;line-height:22px;margin-bottom:10px}.intro-hero .jgt-live-minimum{display:inline-flex;align-items:baseline;gap:6px}.intro-hero .jgt-live-minimum>strong{font-size:30px;line-height:38px;font-weight:700}.intro-hero .jgt-live-minimum>small{font-size:15px;line-height:22px;font-weight:400}

/* BOOKING067: selection guidance is not a priced quote. */
.native-booking .booking-price-row .jgt-minimum.is-selection-prompt{font-size:22px;line-height:30px;font-weight:600;letter-spacing:-.4px}.native-booking .jgt-fixed .jgt-fixed-price.is-selection-prompt{font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.3px}
