/* Shared pages extend the approved homepage system. */
.original-logo{display:flex;align-items:center;min-height:62px;flex-shrink:0}.logo-crop{display:block;position:relative;overflow:hidden;width:145px;aspect-ratio:601/254}.logo-crop img{position:absolute;max-width:none;width:157.238%;height:auto;left:-49.085%;top:-19.685%;filter:brightness(0) invert(1)}.is-sticky .logo-crop img,.menu-open .logo-crop img,.inner-page .site-header .logo-crop img{filter:brightness(0);opacity:.82}.inner-page .site-header{position:sticky;top:0;background:var(--cream);color:var(--ink);border-color:var(--border);min-height:100px;padding-block:16px}.inner-page .header-book{background:var(--forest);color:var(--white);border-color:var(--forest)}.desktop-nav a[aria-current=page]::after{width:100%}.footer-brand .original-logo{width:190px}.footer-brand .logo-crop{width:180px}.footer-brand .footer-address{font-family:var(--body);font-style:normal;font-size:12px;line-height:1.8;margin-top:22px}.mobile-booking>a{font-family:var(--display);font-size:19px;font-style:italic}.stay-card h3>a{display:inline-block;min-height:44px}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-height:74px;padding-top:20px;padding-bottom:20px;font-size:11px;color:var(--muted)}.breadcrumbs>a{min-height:36px;display:inline-flex;align-items:center}.breadcrumbs>a:hover{text-decoration:underline}.breadcrumbs>[aria-current]{color:var(--ink)}.page-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:5vw;padding-top:38px;padding-bottom:68px;align-items:end}.page-intro h1{font-size:clamp(54px,5.5vw,88px);letter-spacing:-2.6px;line-height:1.02;margin-top:20px}.page-intro h1 em{font-size:.84em}.page-intro-copy{max-width:390px;justify-self:end}.page-intro-copy>p{font-size:15px}.page-intro-copy>.button,.page-intro-copy>.text-link{margin-top:25px}.inner-page h1{overflow-wrap:normal;text-wrap:balance}.collection-page{padding-bottom:40px}.collection-page .stay-toolbar{margin-top:0}.collection-page .stay-grid{row-gap:58px}.collection-page .stay-photo{aspect-ratio:1.1}.collection-page .stay-meta{font-size:9px}.collection-page .stay-meta>span:last-child{text-transform:none;font-size:10px;letter-spacing:0}.inner-page .stay-card>p{font-size:14px}.closing{text-align:center;padding-top:85px;padding-bottom:90px;border-top:1px solid var(--border)}.closing .eyebrow{margin-bottom:25px}.closing h2{font-size:clamp(52px,5vw,80px);line-height:1.04}.closing>p:not(.eyebrow){font-size:14px;max-width:440px;margin:25px auto 30px}.split-hero{display:grid;grid-template-columns:1fr 1.15fr;background:var(--sage);min-height:580px}.split-copy{padding:76px var(--gutter);align-self:center}.split-copy>.eyebrow{font-size:10px;margin-bottom:25px}.split-copy h1{font-size:clamp(56px,5.2vw,84px);line-height:.98;letter-spacing:-2.5px}.split-copy>p:not(.eyebrow){max-width:410px;font-size:15px;margin-top:26px}.split-copy>.button{margin-top:30px}.split-photo{min-width:0;position:relative;min-height:580px}.split-photo img{position:absolute;inset:0;width:100%;height:100%}.editorial-section{padding-top:95px;padding-bottom:95px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.editorial-section h2{font-size:clamp(44px,4vw,64px)}.editorial-section .eyebrow{margin-bottom:22px}.editorial-section p:not(.eyebrow){font-size:15px;max-width:540px}.editorial-section p+p{margin-top:18px}.editorial-section .text-link{margin-top:22px}.package-home{padding-top:20px;padding-bottom:100px;display:grid;grid-template-columns:1.12fr 1fr;gap:8vw;align-items:center}.package-home>div:first-child{min-width:0}.package-home img{width:100%;height:450px}.package-home h2{font-size:clamp(48px,4.6vw,72px);margin:25px 0}.package-home>div>p:not(.eyebrow){font-size:15px;max-width:410px}.package-home .text-link{margin-top:26px;margin-right:20px}.home-page .package-home{padding-top:0}.room-photo-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:250px 250px;gap:15px}.room-photo-grid>.moment{height:100%;min-height:0;max-height:none}.room-photo-grid>.moment:first-child{grid-row:1/3}.room-photo-grid>.moment>span{font-size:10px}.room-story{display:grid;grid-template-columns:1.35fr 1fr;gap:10vw;padding-top:80px;padding-bottom:90px;align-items:start}.room-story>div>.eyebrow{margin-bottom:24px}.room-story>div>p:not(.eyebrow){font-size:16px;line-height:1.85;margin-top:27px;max-width:640px}.highlights{list-style:none;margin:25px 0 0;padding:0}.highlights>li{font-size:14px;padding:12px 0 12px 25px;position:relative;border-bottom:1px solid var(--border)}.highlights>li::before{content:'';position:absolute;width:5px;height:5px;left:0;top:23px;background:var(--forest);border-radius:50%}.stay-aside{background:var(--sage);padding:38px;position:sticky;top:120px}.stay-aside>.eyebrow{font-size:9px;margin-bottom:20px}.stay-aside>h3{font-size:38px}.comfort-list{padding:0;margin:22px 0 27px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;font-size:12px}.stay-aside .button{width:100%}.stay-aside .text-link{margin-top:15px}.related{padding-bottom:90px}.related .stay-grid{margin-top:34px}.two-columns{grid-template-columns:1fr 1fr}.two-columns .stay-photo{aspect-ratio:1.6}.experience-stories{padding-bottom:90px}.experience-stories>article{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7vw;margin-top:60px}.experience-stories>article:first-child{margin-top:0}.experience-stories>article:nth-child(2)>a{order:2}.experience-stories img{width:100%;height:440px}.experience-stories .eyebrow{margin-bottom:24px}.experience-stories h2{font-size:54px}.experience-stories p:not(.eyebrow){font-size:15px;margin:25px 0;max-width:380px}.practice-section{padding-bottom:90px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.practice-grid>article{padding:30px 0;border-top:1px solid var(--border)}.practice-grid h3{font-size:34px;margin:22px 0 16px}.practice-grid p{font-size:14px}.practice-grid .text-link{font-size:12px;margin-top:25px}.catalogue{display:grid;grid-template-columns:.85fr 1.6fr;gap:7vw;padding-top:90px;padding-bottom:50px}.catalogue-intro{position:sticky;top:130px;align-self:start}.catalogue-intro>h2{margin:22px 0}.catalogue-intro>p:not(.eyebrow){font-size:14px;margin-bottom:24px}.catalogue-intro .fine-print{max-width:320px;margin-top:23px}.filter-scroll{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.menu-filter{border:1px solid var(--border);padding:11px 17px;min-height:44px;font-size:12px;transition:color .2s,background .2s}.menu-filter:hover{background:var(--sage)}.menu-filter.active{background:var(--forest);border-color:var(--forest);color:var(--white)}.result-count{font-size:12px;color:var(--muted);margin:20px 0}.treatment-item{display:grid;grid-template-columns:1fr auto;gap:28px;padding:28px 0;border-top:1px solid var(--border)}.treatment-item .eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:9px}.treatment-item h3{font-size:29px;line-height:1.1}.treatment-item p:not(.eyebrow){font-size:13px;margin-top:13px;max-width:440px}.treatment-item>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:13px;padding-top:4px}.treatment-item strong{font-size:12px;font-weight:500;max-width:170px;text-align:right}.treatment-item .text-link{font-size:11px;gap:15px}.restaurant-menu{padding-bottom:60px}.restaurant-menu .section-heading>p{font-size:12px;max-width:340px;flex-shrink:1}.menu-tools{margin-top:38px;padding:26px 0;border-block:1px solid var(--border)}.menu-tools .filter-scroll{margin-bottom:0}.enquiry-card label,.booking-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}.enquiry-card input,.enquiry-card select,.enquiry-card textarea,.booking-form input,.booking-form select{font-size:16px;padding:11px 12px;min-height:46px;border:1px solid #97a290;background:var(--paper);width:100%;border-radius:0;color:var(--ink)}.food-menu-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.food-item{padding:28px 0;border-top:1px solid var(--border)}.food-item>.eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:12px}.food-item>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.food-item h3{font-size:28px;line-height:1.1}.food-item strong{font-size:12px;white-space:nowrap;font-weight:500}.food-item>p:last-child{font-size:13px;margin-top:15px;line-height:1.8;max-width:480px}.menu-footnote{font-size:12px;border-top:1px solid var(--border);padding-top:24px;margin-top:24px;max-width:700px}.empty-state{background:var(--sage);padding:35px;font-size:15px;margin-block:25px}.dining-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:20px}.dining-pair img{width:100%;height:420px}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 32px;padding-bottom:80px}.package-photo{display:block;overflow:hidden}.package-photo>img{width:100%;height:350px;transition:transform .6s}.package-photo:hover>img{transform:scale(1.025)}.package-card>.eyebrow{margin:24px 0 15px;font-size:10px}.package-card h3{font-size:40px}.package-card>p:not(.eyebrow){font-size:14px;margin-top:15px;max-width:460px}.package-card>.text-link{margin-top:20px}.package-detail{padding-top:90px;padding-bottom:40px;display:grid;grid-template-columns:1fr 1.1fr;gap:9vw}.package-detail .eyebrow{margin-bottom:20px}.package-detail>div>p:not(.eyebrow){font-size:15px;margin-top:25px;max-width:390px}.variant-panel{padding:28px;background:var(--sage)}.variant-panel h3{font-size:38px}.variant-panel .highlights{margin:15px 0 28px}.variant-panel .highlights li{font-size:14px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-grid .moment{height:340px;min-height:0;width:100%;max-height:none}.photo-grid>div:nth-child(5n+1){grid-column:span 2}.photo-grid>div:nth-child(5n+1) .moment{height:340px}.gallery-page{padding-bottom:90px}.photo-grid .moment>span{font-size:9px}.story-photo img{width:100%;height:560px}.contact-section{display:grid;grid-template-columns:1fr 1.35fr;gap:9vw;padding-bottom:90px}.contact-section>aside{padding-top:25px}.contact-section>aside>.eyebrow{margin-bottom:24px}.contact-section h2{font-size:58px}.contact-section address{font-style:normal;font-size:15px;line-height:1.9;margin-top:28px;color:var(--muted)}.contact-section>aside>.text-link{margin-top:15px}.contact-methods{margin-top:28px;border-top:1px solid var(--border);padding-top:20px}.contact-methods>a{display:flex;align-items:center;justify-content:space-between;max-width:300px;min-height:50px;font-size:14px}.contact-section>aside>.fine-print{font-size:13px!important;max-width:320px}.enquiry-card{background:var(--sage);padding:42px}.enquiry-card>h2{font-size:45px;margin-top:20px;margin-bottom:28px}.enquiry-card>.eyebrow{font-size:9px}.enquiry-card form{display:flex;flex-direction:column;gap:22px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-card textarea{resize:vertical;min-height:140px;font:inherit;font-size:15px;line-height:1.7}.enquiry-card .fine-print{margin-top:0}.enquiry-card form>.button{align-self:flex-start}.enquiry-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.8;padding:20px;background:var(--paper);border:1px solid var(--border);margin:20px 0}.enquiry-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.enquiry-card #edit-enquiry{margin:20px 0}.arrival-guide{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.arrival-guide img{height:500px;width:100%}.arrival-guide .eyebrow{margin-bottom:22px}.arrival-guide dl{margin-top:30px}.arrival-guide dl>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--border)}.arrival-guide dt{font-size:12px}.arrival-guide dd{font-size:14px;color:var(--muted);margin:0}.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 45px;padding-bottom:90px}.sitemap-grid .text-link{font-size:14px;min-height:60px}.booking-dialog{width:560px}.booking-dialog>.eyebrow{margin-top:10px}.booking-form{margin-top:25px}.booking-form>.button{width:100%;margin-top:24px}.booking-form .form-error{margin-top:15px}.booking-form .form-columns{gap:16px}.booking-dialog .preference-note{padding:12px 15px;background:var(--sage);font-size:12px;margin-top:18px}.booking-dialog #booking-result{padding-top:20px}.booking-dialog #booking-summary{font-size:15px;background:var(--sage);padding:16px;margin-bottom:20px;color:var(--ink)}.booking-dialog #booking-result>.button{width:100%}.booking-dialog #edit-dates{margin-top:12px}.booking-dialog>.text-link{font-size:12px}.booking-dialog .fine-print{font-size:11px!important}
@media(max-width:1100px){.desktop-nav{gap:20px}.original-logo .logo-crop{width:128px}.desktop-nav{font-size:11px}.page-intro{grid-template-columns:1.3fr 1fr}.page-intro h1{font-size:62px}.room-story{gap:6vw}.stay-aside{padding:28px}.split-copy{padding:56px var(--gutter)}.split-hero,.split-photo{min-height:520px}.catalogue{gap:5vw;grid-template-columns:.85fr 1.5fr}.treatment-item{gap:18px}.treatment-item strong{font-size:11px;max-width:145px}.contact-section{gap:5vw}.enquiry-card{padding:32px}.contact-section h2{font-size:50px}.food-menu-grid{column-gap:35px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:flex}.site-header.menu-open{position:fixed;background:var(--cream);color:var(--ink);border-color:var(--border)}.mobile-menu:not([hidden]){position:fixed;inset:94px 0 0;z-index:25;background:var(--cream);display:flex;flex-direction:column;padding:25px var(--gutter) 100px;overflow-y:auto}.mobile-menu>.eyebrow{margin-bottom:22px;font-size:9px}.mobile-menu>a{font-family:var(--display);font-size:32px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);min-height:60px;flex-shrink:0}.mobile-menu>a>span{font-family:var(--body);font-size:10px;color:var(--muted)}.page-intro{grid-template-columns:1fr;gap:25px}.page-intro-copy{justify-self:start;max-width:600px}.page-intro-copy>p{font-size:15px}.split-hero{grid-template-columns:1fr 1fr}.split-copy h1{font-size:60px}.split-photo{min-height:540px}.room-photo-grid{grid-template-rows:210px 210px}.room-story{grid-template-columns:1fr 1fr;gap:5vw}.stay-aside{padding:25px}.comfort-list{grid-template-columns:1fr;gap:10px}.room-story>div>h2{font-size:45px}.room-story>div>p:not(.eyebrow){font-size:15px}.experience-stories h2{font-size:44px}.experience-stories img{height:380px}.catalogue{grid-template-columns:1fr;gap:38px}.catalogue-intro{position:static;max-width:560px}.catalogue-intro h2 br{display:none}.treatment-item h3{font-size:31px}.treatment-item strong{font-size:13px;max-width:none}.treatment-item p:not(.eyebrow){font-size:14px}.package-photo>img{height:300px}.package-card h3{font-size:35px}.contact-section{grid-template-columns:1fr;gap:40px}.contact-section>aside{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}.contact-section>aside>.eyebrow{grid-column:1/-1}.contact-section>aside>h2{grid-column:1;grid-row:2/4}.contact-section>aside>address{grid-column:2;margin-top:0}.contact-section>aside>.text-link{grid-column:2;justify-self:start;margin-top:0}.contact-methods{grid-column:1}.contact-section>aside>.fine-print{grid-column:2;align-self:center}.enquiry-card{padding:40px}.arrival-guide{gap:35px}.arrival-guide h2{font-size:45px}.arrival-guide img{height:470px}.arrival-guide dl>div{grid-template-columns:100px 1fr;gap:12px}.sitemap-grid{grid-template-columns:1fr 1fr;gap:10px 30px}}
@media(max-width:700px){.inner-page .site-header{min-height:84px;padding-block:10px}.original-logo{min-height:58px}.logo-crop,.original-logo .logo-crop{width:128px}.breadcrumbs{min-height:62px;padding-block:15px;font-size:10px}.page-intro{padding-top:25px;padding-bottom:42px}.page-intro h1{font-size:57px;letter-spacing:-1.5px}.page-intro h1 em{font-size:.85em}.page-intro .eyebrow{font-size:9px}.page-intro-copy>p{font-size:16px}.split-hero{grid-template-columns:1fr}.split-copy{padding:50px var(--gutter)}.split-copy h1{font-size:64px;max-width:500px}.split-copy>p:not(.eyebrow){font-size:16px}.split-photo{min-height:360px;order:-1}.split-copy>.eyebrow{font-size:9px}.editorial-section{padding-block:65px;grid-template-columns:1fr;gap:28px}.editorial-section h2{font-size:49px}.editorial-section p:not(.eyebrow){font-size:16px}.editorial-section .eyebrow{font-size:9px}.package-home{grid-template-columns:1fr;gap:36px;padding-bottom:65px}.package-home img{height:340px}.package-home h2{font-size:54px;margin:20px 0}.package-home>div>p:not(.eyebrow){font-size:16px}.package-home>.eyebrow{font-size:9px}.room-photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 190px;gap:12px}.room-photo-grid>.moment:first-child{grid-row:1;grid-column:1/-1}.room-photo-grid .moment>span{font-size:8px;left:14px;right:14px}.room-photo-grid .moment:not(:first-child) .icon{display:none}.room-story{grid-template-columns:1fr;padding-top:55px;padding-bottom:65px;gap:38px}.room-story>div>p:not(.eyebrow){font-size:16px}.stay-aside{position:static;padding:30px}.comfort-list{grid-template-columns:1fr 1fr;font-size:13px;gap:15px}.stay-aside>.eyebrow{font-size:10px}.related{padding-bottom:65px}.related .section-heading>.text-link{margin-top:15px}.two-columns{grid-template-columns:1fr}.two-columns .stay-photo{aspect-ratio:1.25}.experience-stories>article{grid-template-columns:1fr;gap:28px;margin-top:52px}.experience-stories>article:nth-child(2)>a{order:0}.experience-stories img{height:340px}.experience-stories h2{font-size:45px}.experience-stories p:not(.eyebrow){font-size:16px;margin:18px 0}.experience-stories .eyebrow{font-size:10px;margin-bottom:16px}.experience-stories{padding-bottom:65px}.practice-section{padding-bottom:60px}.practice-grid{grid-template-columns:1fr;gap:0;margin-top:28px}.practice-grid p{font-size:16px}.practice-grid h3{font-size:36px}.practice-grid .text-link{font-size:13px}.catalogue{padding-top:62px}.catalogue-intro>p:not(.eyebrow){font-size:16px}.menu-filter{font-size:11px;padding:10px 13px}.filter-scroll{gap:8px}.treatment-item{grid-template-columns:1fr;gap:15px}.treatment-item>div:last-child{flex-direction:row;align-items:center;justify-content:space-between;padding-top:0}.treatment-item strong{text-align:left;font-size:13px}.treatment-item p:not(.eyebrow){font-size:15px}.treatment-item .eyebrow{font-size:10px}.treatment-item .text-link{font-size:12px}.restaurant-menu .section-heading>p{display:block;margin-top:20px;font-size:13px;max-width:100%}.menu-tools{margin-top:26px;padding:20px 0}.food-menu-grid{grid-template-columns:1fr}.food-item h3{font-size:30px}.food-item>p:last-child{font-size:15px}.food-item>.eyebrow{font-size:10px}.food-item strong{font-size:12px}.menu-footnote{font-size:13px}.dining-pair{gap:12px}.dining-pair img{height:270px}.package-grid{grid-template-columns:1fr;gap:42px;padding-bottom:65px}.package-photo>img{height:340px}.package-card h3{font-size:40px}.package-card>p:not(.eyebrow){font-size:16px}.package-detail{grid-template-columns:1fr;gap:35px;padding-top:60px}.package-detail>div>p:not(.eyebrow){font-size:16px}.variant-panel{padding:25px}.variant-panel .highlights li{font-size:15px}.photo-grid{grid-template-columns:1fr 1fr;gap:12px}.photo-grid>div:nth-child(5n+1){grid-column:1/-1}.photo-grid .moment{height:260px}.photo-grid>div:nth-child(5n+1) .moment{height:330px}.photo-grid .moment>span{font-size:8px;letter-spacing:.6px;left:12px;right:12px}.photo-grid .moment>span .icon{display:none}.gallery-page{padding-bottom:65px}.story-photo img{height:360px}.contact-section>aside{display:block;padding-top:0}.contact-section>aside>h2{font-size:54px}.contact-section>aside>address{margin-top:25px}.contact-section>aside>.text-link{margin-top:10px}.contact-section .contact-methods{margin-top:25px}.contact-section>aside>.fine-print{max-width:100%}.enquiry-card{padding:27px 22px;margin-inline:-8px}.enquiry-card>h2{font-size:43px}.form-columns{grid-template-columns:1fr;gap:20px}.booking-form .form-columns{grid-template-columns:1fr 1fr;gap:16px 12px}.enquiry-card .fine-print{font-size:12px!important}.enquiry-card textarea{font-size:16px}.arrival-guide{grid-template-columns:1fr;gap:35px}.arrival-guide img{height:340px}.arrival-guide dl>div{grid-template-columns:115px 1fr}.arrival-guide dd{font-size:15px}.arrival-guide dt{font-size:13px}.sitemap-grid{grid-template-columns:1fr}.closing{padding-block:65px}.closing h2{font-size:58px}.closing>p:not(.eyebrow){font-size:16px}.closing .eyebrow{font-size:9px}.home-page .story-copy,.home-page .stay-card>p,.home-page .experience-intro>p:last-child,.home-page .arrival-copy>p:not(.eyebrow){font-size:16px}.home-page .experience-caption p:last-child{font-size:15px}.footer-brand .logo-crop{width:165px}.footer-brand .footer-address{font-size:13px}.booking-dialog{padding:34px 25px}.booking-dialog>.eyebrow{margin-top:25px}.mobile-booking>a{font-size:18px}.inner-page .mobile-menu:not([hidden]){top:84px}.site-header.menu-open .logo-crop img{filter:brightness(0)}}
@media(max-width:350px){.page-intro h1{font-size:49px}.split-copy h1{font-size:55px}.original-logo .logo-crop{width:115px}.food-item>div{gap:12px}.food-item h3{font-size:26px}.photo-grid .moment{height:220px}.room-photo-grid{grid-template-rows:280px 160px}.collection-page .filters{gap:10px}.collection-page .filter{font-size:9px}.booking-form .form-columns{grid-template-columns:1fr}.booking-dialog{padding-inline:22px}.mobile-booking>a{font-size:15px}}
@media(prefers-reduced-motion:reduce){.package-photo:hover>img{transform:none}}
.bungalow-types{padding:25px 0 8px;border-top:1px solid var(--border);margin-top:-5px}.bungalow-types>.eyebrow{font-size:9px;margin-bottom:16px}.bungalow-types .filter-scroll{gap:10px}.home-page .stay-grid{row-gap:48px}.home-page .stay-meta>span:last-child{font-size:9px;letter-spacing:0}

/* Reveal the original Kalapa yellow on the scrolled, light header. */
.site-header .logo-crop img { transition: filter .25s ease, opacity .25s ease; }
.site-header.is-scrolled .logo-crop img {
  filter: none;
  opacity: 1;
}
.stay-carousel { min-width: 0; }
.stay-carousel-controls { display: none; }
@media (max-width: 800px) {
  .stay-carousel .stay-grid {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    align-items: flex-start;
    padding-bottom: 5px;
  }
  .stay-carousel .stay-grid::-webkit-scrollbar { display: none; }
  .stay-carousel .stay-grid::after { content: ''; flex: 0 0 16px; }
  .stay-carousel .stay-card { flex: 0 0 calc(100% - 32px); min-width: 0; scroll-snap-align: start; }
  .stay-carousel .stay-photo { aspect-ratio: 1.08; }
  .stay-carousel.single-stay .stay-card { flex-basis: 100%; }
  .stay-carousel.single-stay .stay-grid::after { display: none; }
  .stay-carousel-controls { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--border); }
  .stay-swipe-hint { font-size: 12px; color: var(--muted); line-height: 1.4; }
  .stay-counter { font-size: 12px; letter-spacing: 2px; color: var(--forest); margin-top: 6px; font-variant-numeric: tabular-nums; }
  .stay-carousel-buttons { display: flex; gap: 10px; }
  .stay-carousel-buttons button { width: 46px; height: 46px; border: 1px solid var(--border); border-radius: 50%; color: var(--forest); }
  .stay-carousel-buttons button:hover:not(:disabled) { background: var(--sage); }
  .stay-carousel-buttons button:disabled { opacity: .35; cursor: default; }
  .stay-carousel .stay-grid:focus-visible { outline-offset: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .logo-crop img { transition: none; }
}
/* Keep the bed in view when the Kama bedroom photo is cropped on phones. */
.stay-photo img[src$="room-kama-bedroom-booking.jpeg"],
.room-photo-grid img[src$="room-kama-bedroom-booking.jpeg"] { object-position: left center; }

/* Let each package illustration keep its full linework and watercolor edges. */
.package-photo picture { display: block; }
.package-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.inner-page[data-page="packages"] .split-photo {
  display: flex;
  align-items: center;
  min-height: 0;
  padding: clamp(16px, 3vw, 48px);
  background: var(--cream);
}
.inner-page[data-page="packages"] .split-photo img {
  position: static;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
}
.inner-page[data-page="packages"] .split-photo picture { display: block; width: 100%; }

/* Keep the tall penjor ornaments visible in the culture photograph. */
@media (min-width: 701px) {
  .experience-stories .culture-experience { grid-template-columns: 1fr 1.15fr; }
  .experience-stories .culture-experience > a { order: 2; }
}
.culture-hero .split-photo img, .experience-stories .culture-experience img { object-fit: cover; object-position: 50% 0; }
@media (max-width: 700px) {
  .culture-hero .split-photo { min-height: 0; aspect-ratio: 4 / 3; }
  .experience-stories .culture-experience img { height: auto; aspect-ratio: 4 / 3; }
}
#canang-sari { scroll-margin-top: 110px; }
.canang-illustration, .tridatu-illustration { width: 240px; max-width: 100%; margin: 24px 0 0; }
.canang-illustration img, .tridatu-illustration img { display: block; width: 100%; height: auto; object-fit: contain; }
.canang-illustration figcaption, .tridatu-illustration figcaption { max-width: 28ch; margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.6; }
@media (max-width: 700px) {
  .canang-illustration, .tridatu-illustration { width: 200px; margin-top: 20px; }
}
.tridatu-section { border-top: 1px solid var(--border); scroll-margin-top: 110px; }
.tridatu-meanings { margin: 26px 0; }
.tridatu-meanings > div { padding: 15px 0; border-bottom: 1px solid var(--border); }
.tridatu-meanings dt { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; }
.tridatu-meanings dd { margin: 7px 0 0 20px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.tridatu-colour { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; }
.tridatu-red { background: #a7473b; }
.tridatu-black { background: #343630; }
.tridatu-white { background: #fffcf1; border: 1px solid #a6a79c; }
.culture-journey { border-top: 1px solid var(--border); }

/* Owner-supplied activity photographs and their dedicated experience page. */
.photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.photo-grid > div { min-width: 0; }
@media (max-width: 700px) {
  .photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
img[src*="activity-cooking-class"] { object-position: center 20%; }
img[src*="activity-making-jamu"] { object-position: center 20%; }
.photo-grid > div[data-photo-category="Activities"] { grid-column: span 1; }
.photo-grid > .activity-featured[data-photo-category="Activities"] { grid-column: span 2; }
.local-activities { padding-top: 64px; padding-bottom: 80px; scroll-margin-top: 110px; }
.activities-intro { max-width: 600px; margin-bottom: 36px; font-size: 15px; }
.activities-note { display: block; margin-top: 12px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.enquiry-room-help { margin-top: 8px; font-size: 13px; }
.activity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 32px; }
.activity-grid article { min-width: 0; }
.activity-grid article > img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.activity-grid h2 { font-size: clamp(34px, 3.4vw, 48px); line-height: 1.1; margin-top: 24px; }
.activity-grid p { font-size: 15px; margin-top: 18px; max-width: 520px; }
.activity-grid .activity-choices { font-size: 12px; color: var(--forest); padding-top: 16px; border-top: 1px solid var(--border); }
.activity-grid .text-link { margin-top: 22px; font-size: 12px; }
.local-activities > .text-link { margin-top: 45px; }
@media (max-width: 700px) {
  .activities-hero .split-photo { min-height: 0; aspect-ratio: 4 / 3; }
  .local-activities { padding-top: 40px; padding-bottom: 60px; }
  .activity-grid { grid-template-columns: 1fr; gap: 42px; }
  .activities-intro, .activity-grid p { font-size: 16px; }
  .activity-grid .text-link { font-size: 13px; }
}

/* A compact weekly timetable, with the schedule first on phones. */
.yoga-timetable { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 90px); align-items: start; padding-bottom: 50px; }
.yoga-timetable-photo img { width: 100%; height: 580px; object-fit: cover; }
.yoga-timetable-card { padding-top: 12px; }
.yoga-timetable-card h2 { font-size: clamp(38px, 4vw, 58px); margin: 20px 0 10px; }
.yoga-timezone { color: var(--muted); font-size: 13px; }
.yoga-schedule-table { width: 100%; border-collapse: collapse; margin-top: 28px; text-align: left; }
.yoga-schedule-table th, .yoga-schedule-table td { padding: 17px 0; border-bottom: 1px solid var(--border); }
.yoga-schedule-table thead th { font-size: 11px; color: var(--muted); font-weight: 400; text-transform: uppercase; letter-spacing: 1.3px; }
.yoga-schedule-table tbody th { font-size: 16px; font-weight: 400; }
.yoga-schedule-table td { font-size: 17px; white-space: nowrap; padding-left: 16px; }
.yoga-complimentary { font-size: 13px; margin-top: 17px; color: var(--forest); }
.yoga-schedule-note { margin: 30px 0 22px; padding: 22px 24px; background: var(--sage); border-left: 2px solid var(--forest); }
.yoga-schedule-note h3 { font-size: 27px; }
.yoga-schedule-note p { font-size: 14px; margin-top: 12px; }
.yoga-schedule-back { padding-bottom: 75px; }
@media (max-width: 800px) {
  .yoga-timetable { grid-template-columns: 1fr; gap: 30px; }
  .yoga-timetable-card { grid-row: 1; padding-top: 0; }
  .yoga-timetable-photo img { height: 300px; }
  .yoga-schedule-note p { font-size: 16px; }
}

/* Keep Kalapa's story within the stays collection without a long mobile page. */
.stay-story { align-items: start; scroll-margin-top: 110px; }
.stay-story-more { margin-top: 26px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.stay-story-more summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 56px; padding-block: 14px; cursor: pointer; list-style: none; font-size: 14px; }
.stay-story-more summary::-webkit-details-marker { display: none; }
.stay-story-more[open] summary .icon { transform: rotate(45deg); }
.stay-story-more > div { padding-bottom: 26px; }
.stay-story-more h3 { font-size: 34px; margin: 24px 0 16px; }
.stay-story-more p { font-size: 15px; margin-top: 16px; }
.stay-story-more .text-link { margin-top: 20px; }
@media (max-width: 700px) {
  .stay-story img { height: 260px; }
  .stay-story-more p { font-size: 16px; }
  input[type="date"] { text-align: left; }
  input[type="date"]::-webkit-date-and-time-value { text-align: left; }
  input[type="date"]::-webkit-datetime-edit { padding-left: 0; text-align: left; }
}

/* Direct-booking offers share one clear set of inclusions. */
/* Package rates stay alongside the inclusions for the selected duration. */
.package-card > .package-from { color: var(--forest); font-size: 19px; margin-top: 22px; }
.package-from > span { display: block; font-size: 12px; color: var(--muted); margin-top: 5px; }
.package-detail-priced { grid-template-columns: 1fr; gap: 36px; }
.package-detail-priced > div > p:not(.eyebrow) { max-width: 600px; }
.package-detail-priced .variant-panel { display: grid; grid-template-columns: .85fr 1.5fr; gap: 40px; }
.package-prices { min-width: 0; }
.package-prices > .eyebrow { font-size: 10px; }
.package-prices table { width: 100%; border-collapse: collapse; text-align: left; }
.package-prices caption { text-align: left; font-size: 14px; margin-bottom: 14px; }
.package-prices thead th { font-size: 11px; text-transform: uppercase; letter-spacing: .6px; font-weight: 400; padding: 12px 10px; background: var(--forest); color: var(--white); }
.package-prices tbody th { font-size: 14px; font-weight: 400; width: 26%; }
.package-prices tbody th, .package-prices td { padding: 10px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.package-price-option { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.package-prices td strong { display: block; font-size: 14px; font-weight: 500; white-space: nowrap; }
.package-prices .package-rate-book { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; font-size: 12px; gap: 5px; margin: 0; padding: 8px 9px; min-height: 44px; border: 1px solid var(--border); line-height: 1; }
.package-prices .package-rate-book .icon { width: 14px; height: 14px; }
.package-prices .package-rate-book:hover { color: var(--white); background: var(--forest); border-color: var(--forest); }
.package-rate-note { font-size: 12px; margin-top: 16px; }
@media (max-width: 1200px) {
  .package-detail-priced .variant-panel { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 600px) {
  .package-prices table, .package-prices tbody { display: block; }
  /* Match the block table layout so captions do not shrink to one word. */
  .package-prices caption { display: block; width: 100%; line-height: 1.5; }
  .package-prices thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .package-prices tr { display: grid; grid-template-columns: 1fr; gap: 8px; border-top: 1px solid var(--border); padding: 16px 0; }
  .package-prices tbody th { grid-column: 1 / -1; width: auto; font-size: 17px; margin-bottom: 4px; }
  .package-prices tbody th, .package-prices td { padding: 0; border: 0; }
  .package-prices td { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 10px; }
  .package-prices td:only-of-type { display: block; }
  .package-prices td::before { content: attr(data-price-label); display: block; font-size: 11px; color: var(--muted); }
  .package-prices td:only-of-type::before { margin-bottom: 5px; }
  .package-prices td strong { font-size: 14px; }
  .package-rate-note { font-size: 13px; }
}
@media (max-width: 380px) {
  .package-prices td { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

.offer-collection { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; padding-bottom: 80px; scroll-margin-top: 120px; }
.offer-card { min-width: 0; }
.offer-photo { position: relative; }
.offer-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.offer-photo > span { position: absolute; left: 20px; bottom: 20px; padding: 11px 16px; background: var(--cream); color: var(--forest); font-size: 10px; letter-spacing: 1.5px; }
.offer-copy { padding-top: 28px; }
.offer-copy > .eyebrow { font-size: 9px; margin-bottom: 17px; }
.offer-copy h2 { font-size: clamp(34px, 3.3vw, 50px); line-height: 1.1; }
.offer-copy > p:not(.eyebrow) { font-size: 15px; margin-top: 20px; }
.offer-copy > .offer-inclusion { padding-top: 18px; border-top: 1px solid var(--border); font-size: 12px; color: var(--forest); }
.offer-bonus-note { display: block; margin-top: 10px; font-weight: 500; }
.offer-actions { position: relative; margin-top: 25px; }
.offer-actions .button { width: calc(50% - 6px); }
.offer-actions .offer-book { position: absolute; top: 0; right: 0; }
.offer-disclosure summary { cursor: pointer; list-style: none; }
.offer-disclosure summary::-webkit-details-marker { display: none; }
.offer-actions .button { min-width: 0; justify-content: space-between; padding-inline: 22px; }
.offer-actions .offer-inclusion-toggle { background: transparent; color: var(--forest); border: 1px solid var(--forest); }
.offer-disclosure[open] .offer-inclusion-toggle .icon { transform: rotate(45deg); }
.offer-inclusions { background: var(--sage); padding: 28px; margin-top: 22px; }
.offer-inclusions h3 { font-size: 35px; margin-top: 17px; }
.offer-inclusions > p:not(.eyebrow) { font-size: 13px; margin-top: 12px; }
.offer-inclusions .highlights { margin-top: 18px; }
.offer-inclusions .highlights > li { font-size: 14px; }
.offer-inclusions > .offer-yoga-note { margin-top: 22px; font-size: 12px; }
.offer-exclusive { border-block: 1px solid var(--border); padding-block: 19px; margin-top: 22px; }
.offer-exclusive .eyebrow { font-size: 9px; color: var(--forest); }
.offer-exclusive ul { margin: 12px 0 0; padding-left: 18px; color: var(--forest); font-size: 15px; }
.offer-details { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; padding-top: 65px; padding-bottom: 80px; border-top: 1px solid var(--border); }
.offer-details h3 { font-size: 35px; margin: 20px 0; }
.offer-details p:not(.eyebrow) { font-size: 14px; margin-top: 16px; }
.offer-details .text-link { margin-top: 22px; font-size: 13px; }
@media (max-width: 800px) {
  .offer-collection { gap: 28px; }
  .offer-actions .button { padding-inline: 15px; gap: 10px; font-size: 12px; }
}
@media (max-width: 600px) {
  .offer-collection { grid-template-columns: 1fr; gap: 46px; padding-bottom: 55px; }
  .offer-copy h2 { font-size: 39px; }
  .offer-copy > p:not(.eyebrow) { font-size: 16px; }
  .offer-copy > .offer-inclusion { font-size: 13px; }
  .offer-photo > span { left: 15px; bottom: 15px; }
  .offer-inclusions { padding: 23px; }
  .offer-inclusions .highlights > li { font-size: 15px; }
  .offer-details { grid-template-columns: 1fr; gap: 38px; padding-top: 45px; padding-bottom: 60px; }
  .offer-details p:not(.eyebrow) { font-size: 16px; }
}

/* Clear, touch-friendly booking details and responsive image delivery. */
#enquiry, #package-options { scroll-margin-top: 118px; }
.contact-section > *, .form-columns > * { min-width: 0; }
.enquiry-card select { text-overflow: ellipsis; }
.enquiry-card input[type="date"] { text-align: left; -webkit-appearance: none; appearance: none; }
.enquiry-card input[type="date"]::-webkit-date-and-time-value { text-align: left; }
.enquiry-date-help { margin-top: -15px; font-size: 13px; }
.enquiry-selection { border-block: 1px solid var(--border); padding-block: 20px; }
.enquiry-selection h3 { font-size: 32px; line-height: 1.1; }
.enquiry-selection-facts { font-size: 14px; margin-block: 12px; color: var(--forest); overflow-wrap: anywhere; }
.enquiry-selection summary { min-height: 44px; display: list-item; padding-block: 10px; cursor: pointer; font-size: 15px; color: var(--forest); }
.enquiry-selection ul { margin: 8px 0 16px; padding-left: 20px; font-size: 14px; }
.enquiry-selection li + li { margin-top: 6px; }
.enquiry-condition { font-size: 13px; margin-top: 10px; line-height: 1.65; }
.enquiry-actions { display: flex; gap: 14px 22px; flex-wrap: wrap; align-items: center; }
#gallery-image { touch-action: pan-y pinch-zoom; }
.gallery-controls .icon-button { flex-shrink: 0; }
/* Safari date controls must be allowed to shrink inside their grid column. */
input[type="date"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-inline-size: 0;
  -webkit-appearance: none;
  appearance: none;
  text-align: left;
}
input[type="date"]::-webkit-date-and-time-value { min-width: 0; text-align: left; }
input[type="date"]::-webkit-datetime-edit { min-width: 0; padding: 0; }
.booking-form .form-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.booking-form label { min-width: 0; }
@media (max-width: 350px) {
  .booking-form .form-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  html { scroll-padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
  .menu-filter, .filter { min-height: 44px; }
  .enquiry-card label, .booking-form label { font-size: 14px; }
  .enquiry-card input, .enquiry-card select, .booking-form input, .booking-form select { min-height: 48px; }
  .gallery-page > .filter-scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 9px; overscroll-behavior-x: contain; scrollbar-width: thin; }
  .gallery-page > .filter-scroll .menu-filter { flex: 0 0 auto; font-size: 14px; }
  .stay-card > p { font-size: 16px; }
  .stay-card .text-link, .offer-actions .button { font-size: 14px; }
  .site-footer a { min-height: 44px; }
  .mobile-booking { padding-bottom: max(14px, env(safe-area-inset-bottom)); }
  #enquiry { scroll-margin-top: 104px; }
}
@media (max-width: 540px) {
  .enquiry-card form > .button { align-self: stretch; justify-content: space-between; }
  .enquiry-actions > .button { width: 100%; justify-content: space-between; }
  .enquiry-selection-facts, .enquiry-selection ul { font-size: 15px; }
  .enquiry-condition, .enquiry-card .fine-print { font-size: 13px !important; }
  .gallery-controls > p { font-size: 12px; }
  .photo-grid .moment > span { font-size: 11px; letter-spacing: .4px; }
  .photo-grid .moment, .photo-grid > div:nth-child(5n+1) .moment { height: auto; aspect-ratio: 4 / 5; }
  .photo-grid > div:nth-child(5n+1) .moment, .photo-grid > .activity-featured .moment { aspect-ratio: 3 / 2; }
  .photo-grid .moment img { height: 100%; }
}
@media (max-height: 650px) {
  .booking-dialog { padding-block: 24px; }
  .booking-dialog .dialog-close { display: flex; position: sticky; top: 0; margin-left: auto; background: var(--paper); z-index: 1; }
  .booking-dialog h2 { font-size: 42px; }
  .booking-dialog > .eyebrow { margin-top: 0; }
  .gallery-dialog > img { height: 60dvh; }
  .gallery-controls { padding-block: 10px; }
}

/* YouTube connects only after an intentional play action. */
.photo-grid > .gallery-video { grid-column: 1 / -1; margin-bottom: 20px; }
.video-player { position: relative; aspect-ratio: 16 / 9; background: var(--forest); }
.video-player iframe, .video-poster { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-poster { padding: 0; cursor: pointer; color: white; background: transparent; }
.video-poster img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.75); }
.video-play-icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; display: grid; place-items: center; border: 1px solid #fff; border-radius: 50%; background: #253a2f80; }
.video-play-icon svg { width: 32px; height: 32px; }
.video-play-label { position: absolute; left: 50%; top: calc(50% + 48px); transform: translateX(-50%); font-size: 15px; }
.video-caption { display: flex; gap: 20px; justify-content: space-between; align-items: end; padding-block: 24px; }
.video-caption h2 { font-size: 36px; margin-block: 10px; }
.video-caption .text-link { flex-shrink: 0; }
@media (max-width: 600px) {
  .video-caption { flex-direction: column; align-items: start; gap: 10px; }
  .video-caption h2 { font-size: 30px; }
  .video-play-icon { width: 54px; height: 54px; }
  .video-play-label { top: calc(50% + 33px); font-size: 13px; }
}

/* Journal: a readable editorial column, with photographs and real locale URLs. */
.journal-intro,.journal-heading{padding-block:48px 36px}
.journal-intro h1,.journal-heading h1{max-width:1050px;font-size:clamp(40px,5.5vw,78px);line-height:1.08;overflow-wrap:break-word}
.journal-intro>p:last-child{max-width:720px;margin-top:24px}
.journal-languages{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:32px;font:14px/1.5 var(--body)}
.journal-languages a{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}
.journal-languages a[aria-current]{border-color:currentColor}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.journal-card{min-width:0}.journal-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.journal-card h3{font-size:clamp(27px,2.4vw,38px);line-height:1.18;margin:24px 0 16px}
.journal-card p{font-size:16px;line-height:1.7;margin-bottom:20px}
.journal-index,.journal-home,.journal-related{padding-block:48px 80px}
.journal-home h2,.journal-related h2{margin-bottom:36px}
.journal-byline{font-size:14px!important;color:var(--muted);margin:24px 0 0}
.journal-hero{margin:0 auto 56px;max-width:1120px}
.journal-hero img{width:100%;height:auto;max-height:620px;object-fit:cover}
.journal-prose{max-width:760px;margin-inline:auto;font-size:18px;line-height:1.85;overflow-wrap:break-word}
.journal-prose p{font-size:inherit;line-height:inherit;margin:0 0 24px}
.journal-prose h2{font-size:clamp(30px,3vw,42px);line-height:1.22;margin:48px 0 24px}
.journal-prose h3{font:600 21px/1.45 var(--body);margin:32px 0 14px}
.journal-prose a{text-decoration:underline;text-underline-offset:4px}
.journal-prose li{margin-block:12px}.journal-prose ul{padding-left:24px}
.journal-takeaways{background:var(--sage,#e8ece1);padding:28px 32px;margin:32px 0}
.journal-takeaways>p{margin-bottom:12px}.journal-takeaways ul{margin:0}
.journal-related{margin-top:60px;border-top:1px solid var(--border)}
.journal-related .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:36px}
.journal-crosslink{padding-block:32px 60px}.journal-crosslink .text-link{white-space:normal}
html[lang="ru"] .journal-heading h1,html[lang="ru"] .journal-intro h1{font-family:Georgia,"Times New Roman",serif}
html[lang="zh-Hans"] .journal-prose{line-height:1.95}
@media(max-width:800px){.journal-grid{grid-template-columns:1fr;gap:40px}.journal-related .journal-grid{grid-template-columns:1fr}.journal-home,.journal-index,.journal-related{padding-block:36px 56px}.journal-intro,.journal-heading{padding-block:28px}.journal-prose{font-size:17px;line-height:1.8}.journal-takeaways{padding:22px 20px}.journal-hero{margin-bottom:32px}.journal-heading h1,.journal-intro h1{font-size:clamp(34px,8.5vw,52px)}.journal-languages{gap:8px 20px;margin-bottom:24px}.journal-card h3{font-size:30px}}
