@import "tailwindcss";

:root { --forest:#14372d; --forest-deep:#0c2921; --moss:#536b4a; --cream:#f5f0e5; --paper:#faf7f0; --rust:#c85f38; --gold:#e0b055; --ink:#1d2621; --muted:#6c746e; --line:rgba(29,38,33,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
.translation-engine { position:fixed; z-index:-1; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
iframe.goog-te-banner-frame,#goog-gt-tt,.goog-te-balloon-frame { display:none!important; }
body { top:0!important; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
img { max-width:100%; }
.page-shell { width:min(1280px,calc(100% - 72px)); margin:0 auto; }
.eyebrow { margin:0 0 22px; color:var(--rust); font-size:11px; font-weight:800; letter-spacing:.24em; }
.eyebrow.light { color:#f1c572; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; min-height:54px; padding:0 22px; border:1px solid transparent; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; transition:transform .25s ease,background .25s ease,color .25s ease; }
.button:hover { transform:translateY(-2px); }
.button-cream { background:var(--cream); color:var(--forest-deep); }
.button-cream:hover { background:white; }
.button-forest { background:var(--forest); color:white; }
.button-forest:hover { background:var(--forest-deep); }
.text-link { display:inline-flex; gap:12px; align-items:center; padding-bottom:7px; border-bottom:1px solid currentColor; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.text-link span { transition:transform .2s ease; }
.text-link:hover span { transform:translateX(4px); }
.light-link { color:white; }

.site-header { position:absolute; z-index:50; top:0; left:0; width:100%; color:white; transition:background .25s ease,color .25s ease,box-shadow .25s ease; }
.header-inner { width:min(1440px,calc(100% - 64px)); height:104px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:15px; }
.brand>span:last-child { display:flex; flex-direction:column; gap:2px; }
.brand b { font-family:Georgia,serif; font-size:25px; letter-spacing:.11em; }
.brand small { font-size:9px; font-weight:700; letter-spacing:.2em; opacity:.75; }
.brand-mark { position:relative; width:45px; height:46px; display:block; flex:0 0 45px; }
.brand-mark i { position:absolute; bottom:6px; left:0; width:0; height:0; border-left:14px solid transparent; border-right:14px solid transparent; border-bottom:30px solid currentColor; transform:rotate(-3deg); }
.brand-mark i:nth-child(2) { left:13px; border-left-width:12px; border-right-width:12px; border-bottom-width:22px; opacity:.72; }
.brand-mark i:nth-child(3) { left:27px; border-left-width:9px; border-right-width:9px; border-bottom-width:16px; opacity:.5; }
.desktop-nav { display:flex; align-items:center; gap:clamp(14px,1.6vw,28px); }
.desktop-nav a { position:relative; font-size:13px; font-weight:700; letter-spacing:.045em; }
.desktop-nav a::after { content:""; position:absolute; left:0; bottom:-9px; width:0; height:1px; background:currentColor; transition:width .25s ease; }
.desktop-nav a:hover::after { width:100%; }
.header-community { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.header-community span { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(255,255,255,.55); border-radius:50%; font-family:Georgia,serif; font-size:18px; }
.menu-toggle { display:none; width:44px; height:44px; border:0; background:transparent; color:currentColor; }
.menu-toggle span { display:block; width:25px; height:1px; margin:7px auto; background:currentColor; }
.mobile-menu { display:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.language-switcher select { min-height:38px; padding:0 32px 0 12px; border:1px solid rgba(255,255,255,.38); border-radius:0; outline:0; background:rgba(7,30,24,.2); color:inherit; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; }
.language-switcher select option { background:white; color:#16251e; }
.language-switcher.compact select { border-color:var(--line); background:white; color:var(--forest); }

.hero { position:relative; min-height:820px; height:100svh; overflow:hidden; color:white; background:var(--forest); }
.hero-media { position:absolute; inset:0; background-image:url('/images/stakevci-spring-panorama.webp'); background-size:cover; background-position:center 54%; transform:scale(1.03); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,27,23,.9) 0%,rgba(7,29,24,.52) 46%,rgba(7,29,24,.16) 77%),linear-gradient(0deg,rgba(4,22,18,.58) 0%,transparent 42%); }
.hero-content { position:relative; z-index:2; padding-top:clamp(210px,28vh,290px); }
.hero h1 { max-width:900px; margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(64px,7.1vw,112px); font-weight:400; line-height:.91; letter-spacing:-.055em; }
.hero h1 em { color:#f0c777; font-weight:400; }
.hero-lead { max-width:520px; margin:34px 0 0; font-size:17px; line-height:1.65; color:rgba(255,255,255,.82); }
.hero-actions { display:flex; align-items:center; gap:32px; margin-top:38px; }
.hero-facts { position:absolute; z-index:3; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(3,minmax(130px,220px)) 1fr 96px; align-items:stretch; width:min(1280px,calc(100% - 72px)); min-height:94px; margin:auto; border-top:1px solid rgba(255,255,255,.28); }
.hero-facts>div { display:flex; flex-direction:column; justify-content:center; gap:5px; border-right:1px solid rgba(255,255,255,.2); }
.hero-facts b { font-family:Georgia,serif; font-size:19px; font-weight:400; }
.hero-facts span { font-size:9px; letter-spacing:.11em; text-transform:uppercase; opacity:.62; }
.hero-facts>a { grid-column:5; display:grid; place-items:center; border-left:1px solid rgba(255,255,255,.2); font-size:21px; }
.hero-facts>a span { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.35); border-radius:50%; font-size:17px; opacity:1; }

.intro-section { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; padding:150px 0 130px; border-bottom:1px solid var(--line); }
.section-number { padding-top:4px; color:var(--rust); font-family:Georgia,serif; font-size:13px; }
.intro-copy h2,.section-heading h2,.camp-copy h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,5vw,78px); font-weight:400; line-height:1; letter-spacing:-.045em; }
.intro-text { padding-top:31px; max-width:500px; }
.intro-text p { margin:0 0 18px; font-size:16px; line-height:1.85; color:#4f5953; }
.intro-text .text-link { margin-top:20px; }

.experience-grid { display:grid; grid-template-columns:1.07fr 1fr; grid-template-rows:repeat(2,310px); gap:18px; padding:100px 0 150px; }
.experience-card { position:relative; overflow:hidden; color:white; }
.experience-card.tall { grid-row:1/span 2; }
.card-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.experience-card:hover .card-bg { transform:scale(1.045); }
.waterfall-bg { background-image:url('https://imgrabo.com/pics/guide/20150901093730_86107.jpeg'); }
.stay-bg { background-image:url('https://hotelsbg.org/s/Kashta-Berchinata-Kashta-Stakevtsi-8b.webp'); }
.traditions-bg { background-image:url('https://images.unsplash.com/photo-1516211697506-8360dbcfe9a4?auto=format&fit=crop&w=1600&q=85'); background-position:center 55%; }
.card-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,27,21,.82),transparent 70%); }
.experience-card>div:last-child { position:absolute; left:38px; right:38px; bottom:34px; }
.experience-card p { margin:0 0 10px; color:#efc67a; font-size:9px; font-weight:800; letter-spacing:.22em; }
.experience-card h3 { margin:0 0 15px; font-family:Georgia,serif; font-size:clamp(30px,3vw,46px); font-weight:400; }
.experience-card div>span { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.card-index { position:absolute; z-index:2; top:25px; right:28px; font-family:Georgia,serif; font-size:13px; }

.route-feature { display:grid; grid-template-columns:1.08fr .92fr; min-height:720px; background:var(--forest); color:white; }
.route-feature-media { min-height:650px; background-size:cover; background-position:center; }
.route-feature-content { display:flex; flex-direction:column; justify-content:center; padding:80px clamp(50px,7vw,110px); }
.route-feature h2 { margin:0; font-family:Georgia,serif; font-size:clamp(52px,5.5vw,82px); font-weight:400; line-height:.98; letter-spacing:-.05em; }
.route-feature h2 em { color:#edc476; font-weight:400; }
.route-feature-content>p:not(.eyebrow) { max-width:520px; margin:32px 0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.8; }
.route-metrics { display:grid; grid-template-columns:repeat(3,1fr); margin:6px 0 38px; padding:24px 0; border-top:1px solid rgba(255,255,255,.19); border-bottom:1px solid rgba(255,255,255,.19); }
.route-metrics>div { display:flex; flex-direction:column; gap:6px; }
.route-metrics b { font-family:Georgia,serif; font-size:19px; font-weight:400; }
.route-metrics span { color:rgba(255,255,255,.55); font-size:8px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.route-feature .button { align-self:flex-start; }

.stays-section { padding:150px 0; }
.section-heading { margin-bottom:68px; }
.split-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; }
.split-heading>div:last-child { max-width:430px; }
.split-heading>div:last-child>p,.split-heading>p { margin:0 0 24px; color:#5f6862; font-size:15px; line-height:1.8; }
.stay-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.stay-image { position:relative; height:360px; margin-bottom:24px; background-size:cover; background-position:center; overflow:hidden; }
.stay-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,38,30,.25),transparent 50%); }
.stay-image>span { position:absolute; z-index:2; top:18px; right:18px; display:grid; place-items:center; width:37px; height:37px; background:var(--cream); color:var(--forest); font-family:Georgia,serif; font-size:11px; }
.stay-card>p { margin:0 0 8px; color:var(--rust); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.stay-card h3 { margin:0 0 16px; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.stay-tags { display:flex; gap:8px; margin-bottom:20px; }
.stay-tags span { padding:7px 9px; border:1px solid var(--line); color:#626c66; font-size:9px; text-transform:uppercase; }
.stay-card>a { font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.village-center { padding:135px 0; background:var(--forest-deep); color:white; }
.light-heading h2 { color:white; }
.light-heading>p { align-self:end; color:rgba(255,255,255,.65); }
.center-list { border-top:1px solid rgba(255,255,255,.18); }
.center-list>a { display:grid; grid-template-columns:1fr 56px; gap:30px; align-items:center; min-height:150px; border-bottom:1px solid rgba(255,255,255,.18); transition:padding .25s ease,background .25s ease; }
.center-list>a:hover { padding:0 18px; background:rgba(255,255,255,.035); }
.center-list>a.shared-place { min-height:250px; }
.center-index { color:#e3b86e; font-family:Georgia,serif; }
.center-list small { display:block; margin-bottom:8px; color:rgba(255,255,255,.5); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.center-list h3 { display:inline-block; width:35%; margin:0; font-family:Georgia,serif; font-size:33px; font-weight:400; vertical-align:top; }
.center-list p { display:inline-block; width:55%; margin:4px 0 0 7%; color:rgba(255,255,255,.62); font-size:13px; line-height:1.65; vertical-align:top; }
.place-functions { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:22px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.16); }
.place-functions>div { display:grid; gap:6px; padding:16px 18px; background:var(--forest-deep); }
.place-functions small { margin:0!important; color:#e3b86e!important; }
.place-functions strong { font-family:Georgia,serif; font-size:20px; font-weight:400; }
.place-functions span { color:rgba(255,255,255,.56); font-size:11px; line-height:1.55; }
.center-food-link { display:flex; justify-content:space-between; margin-top:32px; padding:18px 0; color:#e3b86e; border-bottom:1px solid rgba(255,255,255,.18); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.round-arrow { display:grid; place-items:center; width:44px; height:44px; border:1px solid currentColor; border-radius:50%; font-size:15px; }

.camp-section { display:grid; grid-template-columns:1.05fr .95fr; gap:100px; align-items:center; padding:150px 0; }
.camp-image { position:relative; height:650px; background:url('https://static.wixstatic.com/media/780e26_c6147f618e334cc5bc59227d8652f4a3~mv2_d_5152_3864_s_4_2.jpg') center/cover; }
.camp-stamp { position:absolute; right:-52px; top:60px; display:grid; place-items:center; width:150px; height:150px; border-radius:50%; background:var(--rust); color:white; text-align:center; font-size:9px; font-weight:800; line-height:1.6; letter-spacing:.12em; transform:rotate(8deg); }
.camp-stamp i { font-family:Georgia,serif; font-size:17px; font-weight:400; letter-spacing:0; }
.camp-copy { padding-right:40px; }
.camp-copy>p:not(.eyebrow) { margin:30px 0 26px; color:#576159; font-size:15px; line-height:1.85; }
.camp-copy ul { display:grid; gap:12px; margin:0 0 34px; padding:0; list-style:none; }
.camp-copy li { padding-bottom:12px; border-bottom:1px solid var(--line); font-size:12px; font-weight:700; letter-spacing:.02em; }
.camp-copy li::before { content:"✓"; margin-right:12px; color:var(--rust); }

.home-festivals { padding:145px 0; border-top:1px solid var(--line); }
.home-festival-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.home-festival-grid>a>div { position:relative; height:340px; margin-bottom:23px; overflow:hidden; background-position:center; background-size:cover; }
.home-festival-grid>a>div::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,29,23,.58),transparent 55%); }
.home-festival-grid>a>div span { position:absolute; z-index:2; left:18px; bottom:17px; color:white; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.home-festival-grid>a>p { margin:0 0 9px; color:var(--rust); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.home-festival-grid h3 { min-height:70px; margin:0 0 17px; font-family:Georgia,serif; font-size:29px; font-weight:400; line-height:1.14; }
.home-festival-grid small { font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.tradition-band { position:relative; overflow:hidden; padding:150px 0; background:var(--rust); color:white; }
.tradition-word { position:absolute; left:-25px; bottom:-57px; color:rgba(255,255,255,.08); font-family:Georgia,serif; font-size:clamp(140px,22vw,330px); line-height:.8; letter-spacing:-.08em; white-space:nowrap; }
.tradition-content { position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; gap:140px; align-items:end; }
.tradition-content h2 { margin:0; font-family:Georgia,serif; font-size:clamp(62px,6.7vw,100px); font-weight:400; line-height:.9; letter-spacing:-.055em; }
.tradition-content>div:last-child { padding-bottom:14px; }
.tradition-content>div:last-child p { margin:0 0 30px; color:rgba(255,255,255,.78); font-family:Georgia,serif; font-size:21px; line-height:1.65; }

.news-section { padding:150px 0; }
.news-section .split-heading { align-items:end; }
.news-section .split-heading>a { justify-self:end; }
.news-list { border-top:1px solid var(--line); }
.news-list>a { position:relative; display:grid; grid-template-columns:190px 1.05fr 1fr 54px; gap:34px; align-items:center; min-height:160px; border-bottom:1px solid var(--line); }
.news-list>a>div { display:flex; flex-direction:column; gap:11px; }
.news-list>a>div span { color:var(--rust); font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.news-list time { color:#777e79; font-size:11px; }
.news-list h3 { margin:0; font-family:Georgia,serif; font-size:27px; font-weight:400; line-height:1.2; }
.news-list p { margin:0; color:#68716b; font-size:13px; line-height:1.7; }
.news-list .round-arrow { width:40px; height:40px; }

.community-cta { position:relative; overflow:hidden; padding:110px 0; background:#e3b45e; color:var(--forest-deep); text-align:center; }
.community-pattern { position:absolute; inset:0; opacity:.14; background-image:radial-gradient(circle at 1px 1px,var(--forest) 1px,transparent 0); background-size:22px 22px; mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent); }
.community-inner { position:relative; z-index:2; }
.community-inner>p { margin:0 0 18px; font-size:9px; font-weight:800; letter-spacing:.25em; }
.community-inner h2 { margin:0; font-family:Georgia,serif; font-size:clamp(52px,6vw,86px); font-weight:400; letter-spacing:-.05em; }
.community-inner>span { display:block; max-width:590px; margin:22px auto 32px; font-size:14px; line-height:1.7; }
.community-inner .button b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--forest); color:white; font-family:Georgia,serif; }
.site-footer { padding:100px max(36px,calc((100vw - 1280px)/2)); background:#0a241d; color:white; }
.footer-top { display:flex; align-items:flex-end; justify-content:space-between; padding-bottom:80px; border-bottom:1px solid rgba(255,255,255,.16); }
.footer-kicker { margin:0 0 18px; color:#e2b869; font-size:9px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.footer-top h2 { margin:0; font-family:Georgia,serif; font-size:clamp(58px,7vw,104px); font-weight:400; line-height:.9; letter-spacing:-.05em; }
.footer-mark { display:grid; place-items:center; width:120px; height:120px; border:1px solid rgba(255,255,255,.24); border-radius:50%; }
.footer-mark span { font-family:Georgia,serif; font-size:46px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:70px; padding:70px 0; }
.footer-about strong { font-family:Georgia,serif; font-size:21px; letter-spacing:.12em; }
.footer-about p,.footer-place p { max-width:340px; margin:20px 0 0; color:rgba(255,255,255,.56); font-size:12px; line-height:1.8; }
.footer-grid nav { display:flex; flex-direction:column; gap:13px; }
.footer-grid b { margin-bottom:9px; color:#e4b968; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.footer-grid nav a { color:rgba(255,255,255,.68); font-size:12px; }
.footer-grid nav a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.38); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }

/* Interior pages */
.interior-hero { position:relative; min-height:660px; overflow:hidden; background:var(--forest); color:white; }
.interior-hero-image { position:absolute; inset:0; background-size:cover; background-position:center; }
.interior-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,35,27,.92),rgba(7,30,24,.38) 68%,rgba(7,30,24,.2)),linear-gradient(0deg,rgba(5,27,21,.55),transparent 55%); }
.interior-hero-content { position:relative; z-index:2; padding-top:195px; padding-bottom:95px; }
.breadcrumbs { display:flex; gap:10px; margin-bottom:82px; color:rgba(255,255,255,.55); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.breadcrumbs a:hover { color:white; }
.interior-hero h1 { max-width:850px; margin:0; font-family:Georgia,serif; font-size:clamp(62px,7vw,104px); font-weight:400; line-height:.92; letter-spacing:-.055em; }
.interior-hero-content>p:last-child { max-width:610px; margin:30px 0 0; color:rgba(255,255,255,.78); font-size:17px; line-height:1.7; }
.listing-intro,.route-page-intro,.camp-page-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:110px; align-items:end; padding:130px 0; }
.listing-intro>div>span { display:block; margin-bottom:35px; color:var(--rust); font-family:Georgia,serif; font-size:14px; }
.listing-intro h2,.route-page-intro h2,.camp-page-intro h2,.story-title h2,.turlak-copy h2,.program-heading h2,.included-section h2,.memory-cta h2,.submission-cta h2,.safety-band h2,.facebook-news h2 { margin:0; font-family:Georgia,serif; font-size:clamp(48px,5vw,76px); font-weight:400; line-height:1; letter-spacing:-.045em; }
.listing-intro>p,.route-page-intro>div:last-child p { margin:0; color:#5c6760; font-size:15px; line-height:1.85; }
.accommodation-list { padding-bottom:140px; }
.accommodation-row { display:grid; grid-template-columns:1.06fr .94fr; gap:80px; align-items:center; padding:70px 0; border-top:1px solid var(--line); }
.accommodation-row:last-child { border-bottom:1px solid var(--line); }
.accommodation-row:nth-child(even) .accommodation-photo { order:2; }
.accommodation-photo { position:relative; min-height:460px; background-size:cover; background-position:center; }
.accommodation-photo>span { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:42px; height:42px; background:var(--cream); color:var(--forest); font-family:Georgia,serif; }
.accommodation-copy { padding:30px 4vw; }
.accommodation-copy h2 { margin:0 0 22px; font-family:Georgia,serif; font-size:48px; font-weight:400; letter-spacing:-.04em; }
.accommodation-copy>p:not(.eyebrow) { color:#5c6660; font-size:14px; line-height:1.85; }
.amenity-list { display:flex; flex-wrap:wrap; gap:9px 20px; margin:24px 0 32px; }
.amenity-list span { font-size:10px; font-weight:700; text-transform:uppercase; }
.amenity-list span::first-letter { color:var(--rust); }
.listing-actions { display:flex; align-items:center; gap:26px; }
.submission-cta { padding:90px 0; background:var(--rust); color:white; }
.submission-cta>.page-shell { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.submission-cta h2 { font-size:56px; }

.route-page-intro .route-notice { padding:28px; border:1px solid var(--line); background:var(--cream); }
.route-notice b { display:block; margin-bottom:10px; color:var(--rust); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.route-group-nav { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:110px; }
.route-group-nav a { padding:12px 16px; border:1px solid var(--line); color:#59655e; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.route-group-nav a:hover { border-color:var(--forest); background:var(--forest); color:white; }
.route-group { padding-bottom:145px; scroll-margin-top:95px; }
.route-group-heading { display:grid; grid-template-columns:.45fr 1fr; gap:60px; align-items:end; margin-bottom:55px; padding-top:22px; border-top:1px solid var(--line); }
.route-group-heading h2 { max-width:750px; margin:0; font-family:Georgia,serif; font-size:clamp(42px,4.5vw,68px); font-weight:400; line-height:1; letter-spacing:-.04em; }
.routes-grid { display:grid; grid-template-columns:1fr 1fr; gap:85px 34px; }
.route-card-image { position:relative; height:430px; background-size:cover; background-position:center; }
.route-card-image.placeholder { background:linear-gradient(135deg,#244f43,#0b2b26); }
.route-card-image>span { position:absolute; top:18px; left:18px; display:grid; place-items:center; width:42px; height:42px; background:var(--forest); color:white; font-family:Georgia,serif; }
.route-card-image>small { position:absolute; right:18px; bottom:18px; padding:8px 10px; background:var(--cream); color:var(--forest); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.route-card-copy { padding:28px 18px 0; }
.route-card-copy h2 { margin:0 0 17px; font-family:Georgia,serif; font-size:40px; font-weight:400; letter-spacing:-.04em; }
.route-card-copy>p:not(.eyebrow) { min-height:75px; color:#5f6963; font-size:14px; line-height:1.8; }
.route-card-facts { display:flex; gap:42px; margin:26px 0 30px; padding:19px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.route-card-facts span { display:flex; flex-direction:column; gap:5px; color:#747b76; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.route-card-facts b { color:var(--ink); font-family:Georgia,serif; font-size:16px; font-weight:400; letter-spacing:0; text-transform:none; }
.safety-band { padding:85px 0; background:var(--forest); color:white; }
.safety-band>.page-shell { display:grid; grid-template-columns:80px 1.15fr .85fr; gap:50px; align-items:center; }
.safety-icon { display:grid; place-items:center; width:65px; height:65px; border:1px solid rgba(255,255,255,.32); border-radius:50%; font-size:28px; }
.safety-band h2 { font-size:48px; }
.safety-band>.page-shell>p { color:rgba(255,255,255,.65); font-size:13px; line-height:1.8; }

.camp-page-intro>div:last-child>p { color:#5b655f; font-size:15px; line-height:1.9; }
.camp-quick-facts { display:grid; grid-template-columns:repeat(3,1fr); margin-top:30px; padding-top:25px; border-top:1px solid var(--line); }
.camp-quick-facts span { display:flex; flex-direction:column; gap:5px; color:#6d756f; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.camp-quick-facts b { color:var(--forest); font-family:Georgia,serif; font-size:25px; font-weight:400; letter-spacing:0; }
.program-section { padding:130px 0; background:var(--forest-deep); color:white; }
.program-section>.page-shell { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; }
.program-heading { position:sticky; top:45px; align-self:start; }
.program-heading h2 { font-size:62px; }
.program-list { border-top:1px solid rgba(255,255,255,.18); }
.program-list article { display:grid; grid-template-columns:70px 1fr 1.35fr; gap:20px; align-items:start; padding:32px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.program-list small { padding-top:4px; color:rgba(255,255,255,.45); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.program-list h3 { margin:0; font-family:Georgia,serif; font-size:23px; font-weight:400; }
.program-list p { margin:2px 0 0; color:rgba(255,255,255,.58); font-size:12px; line-height:1.75; }
.included-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; padding:140px 0; }
.included-image { height:610px; background:url('https://static.wixstatic.com/media/780e26_d7bd2367efc04667b624cac6b6c358b6~mv2.jpg/v1/fill/w_1200,h_900,al_c,q_85/223575631_3974691722639670_947573649461033463_n_edited.jpg') center/cover; }
.included-section>div:last-child>p:not(.eyebrow) { margin:28px 0; color:#5f6963; font-size:15px; line-height:1.85; }
.included-section ul { display:grid; gap:12px; margin:0 0 34px; padding:0; list-style:none; }
.included-section li { padding-bottom:12px; border-bottom:1px solid var(--line); font-size:12px; font-weight:700; }
.included-section li::before { content:"✓"; margin-right:12px; color:var(--rust); }

.story-section { display:grid; grid-template-columns:100px 1fr 1fr; gap:65px; padding:140px 0; }
.story-aside { display:flex; flex-direction:column; gap:25px; color:var(--rust); font-family:Georgia,serif; font-size:12px; line-height:1.6; }
.story-aside i { width:1px; height:120px; background:var(--line); }
.story-copy { padding-top:45px; }
.story-copy p { margin:0 0 20px; color:#59635d; font-size:15px; line-height:1.9; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-bottom:140px; }
.values-grid article { padding:40px; border:1px solid var(--line); border-right:0; }
.values-grid article:last-child { border-right:1px solid var(--line); }
.values-grid span { color:var(--rust); font-family:Georgia,serif; font-size:12px; }
.values-grid h3 { margin:0 0 16px; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.values-grid p { color:#67706a; font-size:13px; line-height:1.8; }
.turlak-section { display:grid; grid-template-columns:1.05fr .95fr; min-height:760px; background:var(--rust); color:white; }
.turlak-image { background:url('https://images.unsplash.com/photo-1516211697506-8360dbcfe9a4?auto=format&fit=crop&w=1600&q=85') center/cover; }
.turlak-copy { padding:100px clamp(50px,7vw,110px); }
.turlak-copy>p:not(.eyebrow) { color:rgba(255,255,255,.76); font-size:14px; line-height:1.9; }
.dialect-card { display:grid; grid-template-columns:90px 115px 1fr; gap:20px; align-items:center; margin-top:40px; padding:28px 0; border-top:1px solid rgba(255,255,255,.28); border-bottom:1px solid rgba(255,255,255,.28); }
.dialect-card small { font-size:8px; font-weight:800; letter-spacing:.12em; }
.dialect-card strong { color:#f0ca83; font-family:Georgia,serif; font-size:45px; font-weight:400; }
.dialect-card span { color:rgba(255,255,255,.65); font-size:11px; line-height:1.6; }
.center-page { padding:140px 0; }
.center-cards { display:grid; grid-template-columns:1.35fr .65fr; }
.center-cards>a { min-height:340px; padding:36px; border:1px solid var(--line); border-right:0; transition:background .2s ease,color .2s ease; }
.center-cards>a:last-child { border-right:1px solid var(--line); }
.center-cards>a:hover { background:var(--forest); color:white; }
.center-cards>a>span { color:var(--rust); font-family:Georgia,serif; }
.center-cards small { display:block; margin:0 0 12px; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.center-cards h3 { margin:0; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.center-cards p { color:#68716b; font-size:12px; line-height:1.8; }
.center-cards>a:hover p { color:rgba(255,255,255,.68); }
.center-cards .place-functions { margin-top:26px; border-color:var(--line); background:var(--line); }
.center-cards .place-functions>div { background:#f6f2e9; }
.center-cards .place-functions small { margin:0!important; color:var(--rust)!important; }
.center-cards .place-functions strong { color:var(--ink); }
.center-cards .place-functions span { color:#68716b; }
.center-cards>a:hover .place-functions { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.18); }
.center-cards>a:hover .place-functions>div { background:rgba(255,255,255,.04); }
.center-cards>a:hover .place-functions strong { color:white; }
.center-cards>a:hover .place-functions span { color:rgba(255,255,255,.68); }
.center-cards b { display:block; margin-top:28px; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.memory-cta { padding:110px 0; background:var(--forest); color:white; text-align:center; }
.memory-cta h2 { font-size:68px; }
.memory-cta>.page-shell>p:not(.eyebrow) { max-width:560px; margin:25px auto 35px; color:rgba(255,255,255,.67); font-size:14px; line-height:1.8; }

.food-intro { display:grid; grid-template-columns:1.15fr .85fr; gap:100px; align-items:end; padding:130px 0; }
.food-intro h2 { margin:0; font-family:Georgia,serif; font-size:clamp(50px,5vw,76px); font-weight:400; line-height:1; letter-spacing:-.045em; }
.food-intro>div:last-child>p { color:#5c6760; font-size:15px; line-height:1.85; }
.food-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px 28px; padding-bottom:150px; }
.food-card { border-bottom:1px solid var(--line); }
.food-card-media { position:relative; height:390px; background-size:cover; background-position:center; }
.food-card-media>span { position:absolute; left:18px; bottom:18px; padding:9px 11px; background:var(--cream); color:var(--forest); font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.food-card-no-image .food-card-media { background:linear-gradient(135deg,var(--forest),var(--forest-deep)); }
.food-card-no-image .food-card-media::after { content:"СТАКЕВЦИ"; position:absolute; right:22px; top:50%; color:rgba(255,255,255,.09); font-family:Georgia,serif; font-size:clamp(42px,6vw,78px); transform:translateY(-50%) rotate(-8deg); }
.food-card-copy { padding:28px 12px 42px; }
.food-card-copy h2 { margin:0 0 16px; font-family:Georgia,serif; font-size:40px; font-weight:400; }
.food-card-copy>p:not(.eyebrow) { min-height:72px; color:#5d6861; font-size:13px; line-height:1.8; }
.food-card-copy>small { display:block; margin:18px 0; padding:12px 14px; border-left:2px solid var(--rust); background:var(--cream); color:#626d66; font-size:9px; line-height:1.6; }
.food-card-copy>div { display:flex; align-items:center; gap:24px; margin-top:26px; }

/* Festivals */
.festival-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:100px; align-items:end; padding:130px 0; }
.festival-intro h2,.culture-heading h2 { margin:0; font-family:Georgia,serif; font-size:clamp(50px,5vw,76px); font-weight:400; line-height:1; letter-spacing:-.045em; }
.festival-intro>div:last-child>p { margin:0 0 22px; color:#5c6760; font-size:15px; line-height:1.85; }
.festival-intro>div:last-child>span { display:block; padding:14px 16px; border-left:2px solid var(--rust); background:var(--cream); color:#5f6963; font-size:10px; font-weight:700; }
.festival-list { padding-bottom:145px; }
.festival-card { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; padding:65px 0; border-top:1px solid var(--line); }
.festival-card:last-child { border-bottom:1px solid var(--line); }
.festival-card:nth-child(even) .festival-card-image { order:2; }
.festival-card-image { position:relative; min-height:450px; background-position:center; background-size:cover; }
.festival-card-image>span { position:absolute; left:18px; bottom:18px; padding:9px 12px; background:var(--cream); color:var(--forest); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.festival-card-copy { padding:35px 3vw; }
.festival-card-copy h2 { margin:0 0 22px; font-family:Georgia,serif; font-size:47px; font-weight:400; line-height:1; letter-spacing:-.04em; }
.festival-card-copy>p:not(.eyebrow) { color:#5d6861; font-size:14px; line-height:1.85; }
.festival-card-copy>div { display:flex; align-items:center; gap:25px; margin-top:31px; }
.festival-note { padding:100px 0; background:var(--rust); color:white; text-align:center; }
.festival-note p { margin:0 0 13px; color:#f4cf87; font-size:9px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.festival-note h2 { margin:0 0 34px; font-family:Georgia,serif; font-size:clamp(44px,5vw,68px); font-weight:400; }

/* Torlak culture */
.torlak-intro { padding:130px 0; text-align:center; }
.torlak-intro h2 { max-width:850px; margin:0 auto; font-family:Georgia,serif; font-size:clamp(54px,6vw,88px); font-weight:400; line-height:.95; letter-spacing:-.05em; }
.torlak-intro>p:not(.eyebrow) { max-width:760px; margin:32px auto; color:#59645d; font-size:16px; line-height:1.85; }
.torlak-intro nav { display:flex; justify-content:center; gap:12px; }
.torlak-intro nav a { padding:12px 16px; border:1px solid var(--line); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.torlak-intro nav a:hover { border-color:var(--forest); background:var(--forest); color:white; }
.dish-section { padding-bottom:150px; }
.culture-heading { display:grid; grid-template-columns:.55fr 1fr .85fr; gap:55px; align-items:end; margin-bottom:65px; padding-top:30px; border-top:1px solid var(--line); }
.culture-heading>p:last-child { margin:0; color:#5d6861; font-size:14px; line-height:1.8; }
.dish-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.dish-card { min-width:0; overflow:hidden; border:1px solid var(--line); background:#fff; }
.dish-card-image { position:relative; height:320px; background-position:center; background-size:cover; }
.dish-card-image::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(8,31,25,.58)); content:""; }
.dish-card-image>span { position:absolute; z-index:1; left:20px; bottom:20px; padding:10px 12px; background:var(--cream); color:var(--forest-deep); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.dish-card-body { display:flex; min-height:330px; flex-direction:column; padding:34px 36px 38px; }
.dish-category { margin:0 0 13px; color:var(--rust); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.dish-card h3 { margin:0 0 20px; font-family:Georgia,serif; font-size:42px; font-weight:400; letter-spacing:-.04em; }
.dish-description { margin:0; color:#5e6962; font-size:14px; line-height:1.85; }
.dish-ingredients { margin:28px 0 25px; padding-top:20px; border-top:1px solid var(--line); }
.dish-ingredients b { display:block; margin-bottom:8px; color:var(--rust); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.dish-ingredients span { color:#636d67; font-size:12px; line-height:1.7; }
.dish-card-body>a { margin-top:auto; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.word-section { padding:120px 0 140px; background:var(--forest-deep); color:white; }
.word-heading { max-width:800px; margin:0 0 60px; }
.word-heading h2 { margin:0; font-family:Georgia,serif; font-size:clamp(48px,5.3vw,74px); font-weight:400; line-height:1; letter-spacing:-.045em; }
.word-heading>p:last-child { max-width:680px; margin:28px 0 0; color:rgba(255,255,255,.67); font-size:15px; line-height:1.8; }
.word-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.word-card { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.025); transition:border-color .2s ease,background .2s ease; }
.word-card summary { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:118px; padding:27px 30px; cursor:pointer; list-style:none; }
.word-card summary::-webkit-details-marker { display:none; }
.word-card summary strong { max-width:75%; font-family:Georgia,serif; font-size:28px; font-weight:400; line-height:1.18; }
.word-card-toggle { display:flex; align-items:center; gap:12px; flex:0 0 auto; color:#e9bd69; font-size:8px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.word-card-toggle i { font-style:normal; }
.word-card-toggle b { display:grid; place-items:center; width:26px; height:26px; border:1px solid rgba(233,189,105,.6); border-radius:50%; font-size:15px; font-weight:400; transition:transform .2s ease; }
.word-card-toggle .when-open { display:none; }
.word-card[open] { border-color:#e4b968; background:rgba(255,255,255,.055); }
.word-card[open] summary { border-bottom:1px solid rgba(255,255,255,.15); }
.word-card[open] .when-closed { display:none; }
.word-card[open] .when-open { display:inline; }
.word-card[open] .word-card-toggle b { transform:rotate(45deg); }
.word-card-meaning { display:grid; grid-template-columns:95px 1fr; gap:16px 24px; align-items:start; padding:28px 30px 32px; }
.word-card-meaning>span { padding-top:5px; color:#e9bd69; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.word-card-meaning>b { color:#f0c679; font-family:Georgia,serif; font-size:22px; font-weight:400; line-height:1.35; }
.word-card-meaning>p { margin:0; color:rgba(255,255,255,.68); font-size:13px; line-height:1.75; }
.word-callout { padding:95px 0; background:var(--gold); color:var(--forest-deep); }
.word-callout>.page-shell { display:grid; grid-template-columns:1fr 1fr auto; gap:45px; align-items:center; }
.word-callout p { margin:0; font-family:Georgia,serif; font-size:36px; }
.word-callout span { font-size:13px; line-height:1.7; }

.camp-gallery { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:310px 310px; gap:12px; padding-bottom:140px; }
.camp-gallery div { min-height:250px; background-size:cover; background-position:center; }
.camp-gallery div:first-child { grid-row:1/span 2; background-image:url('https://bononiatravel.com/wp-content/uploads/2023/11/IMG_8612-scaled.jpg'); }
.camp-gallery div:nth-child(2) { background-image:url('https://bononiatravel.com/wp-content/uploads/2022/01/IMG_3208.jpg'); }
.camp-gallery div:nth-child(3) { background-image:url('https://static.wixstatic.com/media/780e26_c6147f618e334cc5bc59227d8652f4a3~mv2_d_5152_3864_s_4_2.jpg'); }

.intl-page { background:var(--paper); }
.intl-hero { position:relative; min-height:790px; color:white; overflow:hidden; }
.intl-hero-image { position:absolute; inset:0; background:url('https://www.belogradchik-bg.net/wp-content/uploads/2020/12/belogradchishki-skali-768x511.jpg') center/cover; transform:scale(1.02); }
.intl-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,27,23,.9),rgba(5,27,23,.35) 70%,rgba(5,27,23,.15)),linear-gradient(0deg,rgba(4,24,19,.55),transparent 55%); }
.intl-header { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; min-height:92px; }
.intl-header nav { display:flex; gap:24px; }
.intl-header nav a { font-size:9px; font-weight:800; letter-spacing:.05em; }
.intl-hero-copy { position:relative; z-index:2; padding-top:160px; }
.intl-hero-copy>p { margin:0 0 24px; color:#efc477; font-size:9px; font-weight:800; letter-spacing:.2em; }
.intl-hero-copy h1 { max-width:940px; margin:0; font-family:Georgia,serif; font-size:clamp(64px,7vw,108px); font-weight:400; line-height:.93; letter-spacing:-.05em; }
.intl-hero-copy>span { display:block; max-width:600px; margin:30px 0 34px; color:rgba(255,255,255,.8); font-size:16px; line-height:1.7; }
.intl-intro { padding:135px 0; }
.intl-intro h2,.intl-section-title h2,.intl-camp h2,.intl-community h2 { max-width:850px; margin:0; font-family:Georgia,serif; font-size:clamp(50px,5vw,78px); font-weight:400; line-height:1; letter-spacing:-.045em; }
.intl-intro>p:not(.eyebrow) { max-width:720px; margin:32px 0; color:#56615a; font-size:16px; line-height:1.85; }
.intl-intro>div { display:flex; gap:55px; padding-top:28px; border-top:1px solid var(--line); }
.intl-intro>div span { display:flex; flex-direction:column; gap:5px; color:#717a74; font-size:8px; text-transform:uppercase; }
.intl-intro>div b { color:var(--forest); font-family:Georgia,serif; font-size:22px; font-weight:400; text-transform:none; }
.intl-section { padding:125px 0; }
.intl-section-title { margin-bottom:55px; }
.intl-card-grid { display:grid; gap:25px; }
.intl-card-grid.stays { grid-template-columns:repeat(4,1fr); }
.intl-card-grid.stays article>div { height:300px; background-position:center; background-size:cover; }
.intl-card-grid h3 { margin:18px 0 10px; font-family:Georgia,serif; font-size:23px; font-weight:400; }
.intl-card-grid a { display:block; margin-top:10px; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.intl-routes { padding:125px 0; background:var(--forest-deep); color:white; }
.intl-card-grid.routes { grid-template-columns:repeat(4,1fr); }
.intl-card-grid.routes article { border-bottom:1px solid rgba(255,255,255,.18); padding-bottom:18px; }
.intl-card-grid.routes article>div { height:210px; background-position:center; background-size:cover; }
.intl-card-grid.routes article>div.placeholder,.intl-card-grid.center article>div.placeholder { background:linear-gradient(135deg,#244f43,#0c2e27); }
.intl-card-grid.routes p { min-height:42px; margin:16px 0 8px; font-family:Georgia,serif; font-size:20px; }
.intl-card-grid.routes a { color:#e8bd6c; }
.intl-card-grid.food { grid-template-columns:repeat(3,1fr); }
.intl-card-grid.food article>div { height:290px; background-position:center; background-size:cover; }
.intl-card-grid.food article>div.placeholder { background:linear-gradient(135deg,var(--forest),var(--forest-deep)); }
.intl-card-grid.food p { color:#68716b; font-size:10px; }
.intl-card-grid.center { grid-template-columns:repeat(2,1fr); }
.intl-card-grid.center article>div { height:320px; background-position:center; background-size:cover; }
.intl-events { background:#efe6d6; }
.intl-card-grid.festivals { grid-template-columns:repeat(3,1fr); }
.intl-card-grid.festivals article>div,.intl-card-grid.news article>div { height:260px; background-position:center; background-size:cover; }
.intl-card-grid.festivals p,.intl-card-grid.news>article>p { color:var(--rust); font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.intl-traditions { padding:125px 0; background:#0b2b26; color:white; }
.intl-traditions>.page-shell { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.intl-traditions h2 { max-width:700px; margin:0; font-family:Georgia,serif; font-size:clamp(50px,5vw,76px); font-weight:400; line-height:1; letter-spacing:-.045em; }
.intl-traditions>div>div:first-child>span { display:block; max-width:660px; margin-top:30px; color:rgba(255,255,255,.68); font-size:14px; line-height:1.8; }
.intl-word-list { border-top:1px solid rgba(255,255,255,.2); }
.intl-word-list article { display:flex; align-items:center; gap:22px; min-height:78px; border-bottom:1px solid rgba(255,255,255,.15); }
.intl-word-list small { color:#e4b968; font-size:7px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.intl-word-list b { font-family:Georgia,serif; font-size:19px; font-weight:400; }
.intl-card-grid.news { grid-template-columns:repeat(3,1fr); }
.intl-camp { display:grid; grid-template-columns:1.1fr .9fr; min-height:700px; background:var(--rust); color:white; }
.intl-camp-photo { background:url('https://bononiatravel.com/wp-content/uploads/2023/11/IMG_8612-scaled.jpg') center/cover; }
.intl-camp>div:last-child { display:flex; flex-direction:column; justify-content:center; padding:80px clamp(45px,6vw,95px); }
.intl-camp>div:last-child>p:not(.eyebrow) { max-width:560px; margin:30px 0; color:rgba(255,255,255,.77); font-size:15px; line-height:1.8; }
.intl-camp .button { align-self:flex-start; }
.intl-community { padding:110px 25px; text-align:center; }
.intl-community>p { color:var(--rust); font-size:9px; font-weight:800; letter-spacing:.18em; }
.intl-community h2 { margin:0 auto 35px; }
.intl-footer { display:flex; align-items:center; justify-content:space-between; min-height:100px; border-top:1px solid var(--line); color:#6d756f; font-size:9px; text-transform:uppercase; }

.news-page { padding:90px 0 150px; }
.news-filter { display:flex; gap:25px; margin-bottom:65px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.news-filter span { font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.news-filter span:first-child { color:var(--rust); }
.news-page-grid { display:grid; grid-template-columns:1fr 1fr; gap:85px 30px; }
.news-page-grid article { border-bottom:1px solid var(--line); }
.news-page-grid article.featured-news { grid-column:1/span 2; display:grid; grid-template-columns:1.15fr .85fr; }
.news-page-image { position:relative; height:360px; background-size:cover; background-position:center; }
.featured-news .news-page-image { height:520px; }
.news-image-1 { background-image:url('https://www.belogradchik-bg.net/wp-content/uploads/2020/12/belogradchishki-skali-768x511.jpg'); }
.news-image-2 { background-image:url('https://static.wixstatic.com/media/780e26_c6147f618e334cc5bc59227d8652f4a3~mv2_d_5152_3864_s_4_2.jpg'); }
.news-image-3 { background-image:url('https://imgrabo.com/pics/guide/20150901093730_86107.jpeg'); }
.news-page-image>span { position:absolute; left:18px; bottom:18px; padding:8px 10px; background:var(--rust); color:white; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.news-page-copy { padding:30px 8px 36px; }
.featured-news .news-page-copy { display:flex; flex-direction:column; justify-content:center; padding:55px; background:var(--cream); }
.news-page-copy time { color:#7a827d; font-size:10px; }
.news-page-copy h2 { margin:16px 0; font-family:Georgia,serif; font-size:34px; font-weight:400; line-height:1.15; }
.featured-news .news-page-copy h2 { font-size:48px; }
.news-page-copy p { color:#626c66; font-size:13px; line-height:1.75; }
.news-page-copy .text-link { margin-top:18px; align-self:flex-start; }
.facebook-news { padding:90px 0; background:#e1b45f; }
.facebook-news>.page-shell { display:flex; align-items:end; justify-content:space-between; gap:50px; }
.facebook-news h2 { max-width:850px; font-size:56px; }

/* Village history */
.founding-legend { padding:125px 0; background:#f0e8d7; }
.legend-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,9vw,150px); }
.legend-heading h2,.notable-people h2 { margin:12px 0 26px; font-family:Georgia,serif; font-size:58px; font-weight:400; line-height:1.04; }
.legend-heading>p:last-child { max-width:430px; color:#69726c; font-size:13px; line-height:1.8; }
.legend-story>p { margin:0; color:#35433b; font-family:Georgia,serif; font-size:25px; line-height:1.55; }
.brother-places { display:grid; grid-template-columns:1fr 70px 1fr; align-items:center; margin:55px 0 35px; }
.brother-places article { min-height:190px; padding:28px; border:1px solid rgba(39,65,53,.18); background:rgba(255,255,255,.36); }
.brother-places small,.people-grid small { color:var(--rust); font-size:8px; font-weight:800; letter-spacing:.16em; }
.brother-places h3 { margin:14px 0 13px; font-family:Georgia,serif; font-size:31px; font-weight:400; }
.brother-places span { color:#6c756f; font-size:10px; line-height:1.7; }
.brother-places i { height:1px; background:#9b8066; }
.source-link { display:inline-block; padding-bottom:6px; border-bottom:1px solid currentColor; color:var(--rust); font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.viden-feature { display:grid; grid-template-columns:.85fr 1.15fr; min-height:890px; background:#0b2725; color:white; }
.viden-portrait { min-height:760px; background:linear-gradient(180deg,transparent 68%,rgba(11,39,37,.75)),url('https://commons.wikimedia.org/wiki/Special:Redirect/file/10._Tabakoff_portrait.jpg?width=1100') center top/cover no-repeat; filter:sepia(.1) contrast(1.03); }
.viden-copy { display:flex; flex-direction:column; justify-content:center; padding:95px clamp(45px,7vw,120px); }
.viden-copy h2 { margin:14px 0 27px; font-family:Georgia,serif; font-size:76px; font-weight:400; line-height:.96; }
.viden-copy>p:not(.eyebrow) { max-width:760px; color:rgba(255,255,255,.68); font-size:13px; line-height:1.85; }
.viden-copy .viden-lead { color:#f0d59a!important; font-family:Georgia,serif; font-size:22px!important; line-height:1.5!important; }
.viden-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:32px 0; background:rgba(255,255,255,.14); }
.viden-facts span { display:flex; min-height:105px; flex-direction:column; justify-content:center; padding:18px; background:#123630; color:rgba(255,255,255,.6); font-size:8px; letter-spacing:.06em; text-transform:uppercase; }
.viden-facts b { margin-bottom:7px; color:white; font-family:Georgia,serif; font-size:30px; font-weight:400; text-transform:none; }
.viden-links { display:flex; flex-wrap:wrap; gap:22px; }
.viden-links a { padding-bottom:6px; border-bottom:1px solid rgba(239,198,119,.55); color:#efc677; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.portrait-credit { margin-top:24px; color:rgba(255,255,255,.36); font-size:7px; }
.musk-aside { padding:90px 0; background:#e5b963; }
.musk-aside>.page-shell { display:grid; grid-template-columns:.9fr 1.1fr; gap:35px 90px; align-items:end; }
.musk-aside h2 { max-width:560px; margin:10px 0 0; font-family:Georgia,serif; font-size:48px; font-weight:400; line-height:1.08; }
.musk-aside>div>p { margin:0; color:#4d473d; font-size:13px; line-height:1.8; }
.musk-aside a { grid-column:2; justify-self:start; padding-bottom:5px; border-bottom:1px solid currentColor; font-size:8px; font-weight:800; text-transform:uppercase; }
.notable-people { padding:125px 0; }
.people-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:65px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.people-grid article { display:flex; min-height:365px; flex-direction:column; padding:32px 27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.people-grid h3 { margin:20px 0 16px; font-family:Georgia,serif; font-size:28px; font-weight:400; line-height:1.12; }
.people-grid p { margin:0; color:#69736d; font-size:11px; line-height:1.75; }
.people-grid a { margin-top:auto; padding-top:25px; color:var(--rust); font-size:8px; font-weight:800; text-transform:uppercase; }

/* Administration */
.admin-shell { --admin-bg:#f3f5f2; display:grid; grid-template-columns:250px 1fr; min-height:100vh; background:var(--admin-bg); color:#1b2923; }
.admin-sidebar { position:fixed; z-index:10; inset:0 auto 0 0; display:flex; flex-direction:column; width:250px; padding:28px 20px 22px; background:#102f27; color:white; }
.admin-brand { display:flex; align-items:center; gap:13px; padding:0 8px 30px; border-bottom:1px solid rgba(255,255,255,.12); }
.admin-brand>span { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#efc879; font-family:Georgia,serif; font-size:19px; }
.admin-brand>div { display:flex; flex-direction:column; gap:3px; }
.admin-brand b { font-family:Georgia,serif; letter-spacing:.12em; }
.admin-brand small { color:rgba(255,255,255,.5); font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.admin-sidebar nav { display:flex; flex-direction:column; gap:5px; margin-top:32px; }
.admin-sidebar nav button { display:grid; grid-template-columns:28px 1fr auto; align-items:center; width:100%; min-height:46px; padding:0 13px; border:0; border-radius:7px; background:transparent; color:rgba(255,255,255,.62); text-align:left; font-size:11px; font-weight:700; cursor:pointer; }
.admin-sidebar nav button:hover,.admin-sidebar nav button.active { background:rgba(255,255,255,.09); color:white; }
.admin-sidebar nav button.active { box-shadow:inset 3px 0 #e5b963; }
.admin-sidebar nav button>span { color:#e1b76c; font-family:Georgia,serif; font-size:10px; }
.admin-sidebar nav button>b { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:rgba(255,255,255,.1); font-size:8px; }
.admin-user { display:flex; align-items:center; gap:10px; margin-top:auto; padding:18px 8px 0; border-top:1px solid rgba(255,255,255,.12); }
.admin-user>span { display:grid; flex:0 0 auto; place-items:center; width:34px; height:34px; border-radius:50%; background:#e3b865; color:#16362d; font-family:Georgia,serif; }
.admin-user>div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.admin-user b { font-size:10px; }
.admin-user small { overflow:hidden; color:rgba(255,255,255,.45); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.admin-main { grid-column:2; min-width:0; }
.admin-topbar { display:flex; align-items:center; justify-content:space-between; min-height:66px; padding:0 38px; border-bottom:1px solid #dce2dd; background:white; color:#627069; font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.admin-topbar>div { display:flex; align-items:center; gap:22px; }
.status-dot { width:7px; height:7px; border-radius:50%; background:#56a773; box-shadow:0 0 0 4px rgba(86,167,115,.13); }
.admin-topbar a:hover { color:var(--rust); }
.admin-logout { padding:0; border:0; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; }
.admin-logout:hover { color:var(--rust); }
.admin-dashboard,.admin-content-page { padding:55px clamp(28px,5vw,72px) 80px; }
.admin-welcome p,.admin-page-heading p,.admin-help>p,.editor-panel header p { margin:0 0 10px; color:var(--rust); font-size:8px; font-weight:800; letter-spacing:.18em; }
.admin-welcome h1,.admin-page-heading h1 { margin:0; font-family:Georgia,serif; font-size:45px; font-weight:400; letter-spacing:-.035em; }
.admin-welcome>span,.admin-page-heading>div>span { display:block; margin-top:10px; color:#758079; font-size:12px; }
.admin-home-shortcut { margin-top:22px; min-height:40px; padding:0 16px; border:1px solid #cbd5ce; border-radius:6px; background:white; color:var(--forest); font-size:9px; font-weight:800; cursor:pointer; }
.admin-home-shortcut:hover { border-color:var(--forest); }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:40px 0; }
.admin-stats article { min-height:150px; padding:23px; border:1px solid #dde2de; border-radius:9px; background:white; }
.admin-stats article>span { display:block; color:#758079; font-size:9px; font-weight:700; letter-spacing:.04em; }
.admin-stats article>b { display:block; margin:15px 0 7px; font-family:Georgia,serif; font-size:39px; font-weight:400; }
.admin-stats article>small { color:#98a09b; font-size:8px; }
.admin-stats article.admin-quick { background:var(--forest); color:white; }
.admin-quick>span { color:rgba(255,255,255,.63)!important; }
.admin-quick>div { display:grid; gap:8px; margin-top:20px; }
.admin-quick button { min-height:34px; border:1px solid rgba(255,255,255,.2); border-radius:5px; background:rgba(255,255,255,.08); color:white; font-size:9px; text-align:left; padding:0 12px; cursor:pointer; }
.admin-dashboard-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; }
.admin-dashboard-grid>section { padding:28px; border:1px solid #dde2de; border-radius:9px; background:white; }
.admin-section-title { display:flex; align-items:end; justify-content:space-between; padding-bottom:19px; border-bottom:1px solid #e6eae6; }
.admin-section-title h2,.admin-help h2 { margin:0; font-family:Georgia,serif; font-size:24px; font-weight:400; }
.admin-section-title span { color:#909994; font-size:8px; }
.admin-recent article { display:flex; align-items:center; gap:12px; min-height:63px; border-bottom:1px solid #edf0ed; }
.admin-recent article:last-child { border:0; }
.mini-type { display:grid; place-items:center; width:32px; height:32px; border-radius:7px; background:#e9eee9; color:var(--forest); font-size:8px; font-weight:800; }
.mini-type.attraction { background:#f5eadc; color:#a45838; }
.mini-type.news { background:#e6edf3; color:#436a85; }
.mini-type.center { background:#eee8f3; color:#735689; }
.admin-recent article>div { display:flex; flex:1; flex-direction:column; gap:4px; min-width:0; }
.admin-recent b { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.admin-recent small,.admin-recent time { color:#98a09b; font-size:8px; }
.admin-help { background:#f7f2e8!important; }
.admin-help h2 { max-width:260px; margin-bottom:26px; font-size:30px; }
.admin-help ul { display:grid; gap:12px; margin:0 0 28px; padding:0; list-style:none; }
.admin-help li { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:700; }
.admin-help li span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:white; color:var(--rust); font-family:Georgia,serif; }
.admin-help>small { color:#838c86; font-size:8px; }
.admin-page-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:35px; }
.admin-primary,.admin-secondary { min-height:40px; padding:0 17px; border:0; border-radius:6px; font-size:9px; font-weight:800; letter-spacing:.04em; cursor:pointer; }
.admin-primary { background:var(--forest); color:white; }
.admin-primary:hover { background:var(--forest-deep); }
.admin-primary:disabled { opacity:.55; cursor:wait; }
.admin-secondary { border:1px solid #d7ddd8; background:white; color:#56625b; }
.admin-table { overflow:hidden; border:1px solid #dce2dd; border-radius:9px; background:white; }
.admin-table-head,.admin-table-row { display:grid; grid-template-columns:minmax(340px,1fr) 105px 60px 128px; gap:16px; align-items:center; padding:0 20px; }
.admin-table-head { min-height:43px; border-bottom:1px solid #e2e7e3; background:#f7f9f7; color:#89928c; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-table-row { min-height:92px; border-bottom:1px solid #e8ece9; }
.admin-table-row:last-child { border:0; }
.admin-item-main { display:flex; align-items:center; gap:14px; min-width:0; }
.admin-thumb { display:grid; flex:0 0 auto; place-items:center; width:58px; height:58px; border-radius:6px; background-position:center; background-size:cover; }
.admin-thumb.placeholder { background:#edf1ed; color:#789084; font-family:Georgia,serif; font-size:20px; }
.admin-item-main>div { min-width:0; }
.admin-item-main small { display:block; margin-bottom:5px; color:var(--rust); font-size:7px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.admin-item-main b { display:block; overflow:hidden; font-family:Georgia,serif; font-size:15px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.admin-item-main p { overflow:hidden; margin:5px 0 0; color:#818a84; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.admin-status { justify-self:start; padding:6px 8px; border-radius:10px; font-size:7px; font-weight:800; }
.admin-status.published { background:#e5f2e8; color:#43815b; }
.admin-status.draft { background:#f1ece3; color:#8c7551; }
.admin-order { color:#69746d; font-family:Georgia,serif; font-size:12px; text-align:center; }
.admin-row-actions { display:flex; justify-content:flex-end; gap:6px; }
.admin-row-actions button { min-height:30px; padding:0 10px; border:1px solid #dce2dd; border-radius:5px; background:white; color:#58645d; font-size:8px; cursor:pointer; }
.admin-row-actions button:hover { border-color:#9eaaa2; }
.admin-row-actions button.danger { width:30px; padding:0; color:#b85b44; font-size:16px; }
.admin-empty { padding:75px 20px; text-align:center; }
.admin-empty>span { color:#a7b3ab; font-size:35px; }
.admin-empty h3 { margin:12px 0 6px; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.admin-empty p { color:#8b948f; font-size:10px; }
.admin-empty button { border:0; background:transparent; color:var(--rust); font-size:9px; font-weight:800; cursor:pointer; }

.editor-backdrop { position:fixed; z-index:100; inset:0; display:flex; justify-content:flex-end; background:rgba(6,25,19,.58); backdrop-filter:blur(3px); }
.editor-panel { display:flex; flex-direction:column; width:min(620px,100%); height:100%; background:#f7f8f6; box-shadow:-20px 0 50px rgba(0,0,0,.2); animation:slideIn .28s ease both; }
@keyframes slideIn { from { transform:translateX(100%); } }
.editor-panel>header { display:flex; align-items:center; justify-content:space-between; min-height:90px; padding:20px 30px; border-bottom:1px solid #dce2dd; background:white; }
.editor-panel header h2 { max-width:470px; overflow:hidden; margin:0; font-family:Georgia,serif; font-size:25px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.editor-panel>header>button { width:35px; height:35px; border:1px solid #dce2dd; border-radius:50%; background:white; color:#67736c; font-size:22px; cursor:pointer; }
.editor-panel form { display:flex; flex:1; min-height:0; flex-direction:column; }
.editor-scroll { flex:1; overflow:auto; padding:28px 30px 50px; }
.editor-scroll>label,.form-row label { display:flex; flex-direction:column; gap:7px; margin-bottom:19px; }
.editor-scroll label>span:first-child { color:#59665e; font-size:9px; font-weight:800; letter-spacing:.04em; }
.editor-scroll input,.editor-scroll textarea,.editor-scroll select { width:100%; border:1px solid #d5dcd7; border-radius:6px; outline:0; background:white; color:#223128; font-size:11px; }
.editor-scroll input,.editor-scroll select { min-height:42px; padding:0 12px; }
.editor-scroll textarea { padding:12px; resize:vertical; line-height:1.6; }
.editor-scroll input:focus,.editor-scroll textarea:focus,.editor-scroll select:focus { border-color:#6c8c7d; box-shadow:0 0 0 3px rgba(74,116,96,.09); }
.center-function-editor { margin:3px 0 20px; padding:18px; border:1px solid #dce2dd; border-radius:8px; background:#eef2ef; }
.center-function-editor>p { margin:0 0 14px; color:var(--rust); font-size:8px; font-weight:800; letter-spacing:.14em; }
.center-function-editor fieldset { margin:0 0 12px; padding:15px; border:1px solid #d5dcd7; border-radius:6px; background:white; }
.center-function-editor fieldset:last-child { margin-bottom:0; }
.center-function-editor legend { padding:0 7px; color:#66736b; font-size:8px; font-weight:800; text-transform:uppercase; }
.center-function-editor .form-row { grid-template-columns:1fr 1fr; }
.center-function-editor label { display:flex; flex-direction:column; gap:7px; margin-bottom:12px; }
.form-row { display:grid; grid-template-columns:1fr 110px; gap:14px; }
.form-row.three { grid-template-columns:1fr 1fr 1fr; }
.image-preview { display:block; height:135px; border-radius:7px; background-position:center; background-size:cover; }
.image-field { margin-bottom:20px; padding:15px; border:1px solid #dce2dd; border-radius:8px; background:#edf2ee; }
.image-field>label:first-child { display:flex; flex-direction:column; gap:7px; margin-bottom:10px; }
.image-field label>span:first-child { color:#59665e; font-size:9px; font-weight:800; letter-spacing:.04em; }
.image-upload { display:flex; min-height:42px; align-items:center; justify-content:center; margin-bottom:10px; border:1px dashed #9aaba0; border-radius:6px; background:white; color:var(--forest); cursor:pointer; }
.image-upload:hover { border-color:var(--forest); background:#f8faf8; }
.image-upload input { position:absolute; width:1px; height:1px; min-height:0; opacity:0; pointer-events:none; }
.form-error { display:block; margin:0 0 10px; color:#a74f3d; font-size:8px; }
.admin-users-layout { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; align-items:start; }
.admin-user-list,.admin-add-user { border:1px solid #dce2dd; border-radius:9px; background:white; }
.admin-user-list { padding:28px; }
.admin-user-list article { display:grid; grid-template-columns:42px 1fr auto auto; gap:13px; align-items:center; min-height:74px; border-bottom:1px solid #edf0ed; }
.admin-user-list article:last-child { border:0; }
.member-avatar { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#e8eee9; color:var(--forest); font-family:Georgia,serif; }
.admin-user-list article>div { display:flex; min-width:0; flex-direction:column; gap:5px; }
.admin-user-list article b { font-size:10px; }
.admin-user-list article small { overflow:hidden; color:#8a948e; font-size:8px; text-overflow:ellipsis; }
.admin-user-list article em { padding:6px 8px; border-radius:12px; background:#edf4ee; color:#477559; font-size:7px; font-style:normal; font-weight:800; text-transform:uppercase; }
.admin-user-list article button { border:0; background:transparent; color:#a95343; font-size:8px; font-weight:700; cursor:pointer; }
.admin-add-user { display:flex; flex-direction:column; padding:30px; }
.admin-add-user>p { margin:0 0 10px; color:var(--rust); font-size:8px; font-weight:800; letter-spacing:.16em; }
.admin-add-user h2 { margin:0 0 9px; font-family:Georgia,serif; font-size:28px; font-weight:400; }
.admin-add-user>span { margin-bottom:26px; color:#78837c; font-size:9px; line-height:1.65; }
.admin-add-user label { display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.admin-add-user label b { color:#59665e; font-size:9px; }
.admin-add-user input { min-height:42px; padding:0 12px; border:1px solid #d5dcd7; border-radius:6px; outline:0; font-size:11px; }
.admin-add-user input:focus { border-color:#6c8c7d; box-shadow:0 0 0 3px rgba(74,116,96,.09); }
.admin-add-user>small { margin-top:17px; color:#8a948e; font-size:8px; line-height:1.6; }
.publish-switch { flex-direction:row!important; align-items:center; justify-content:space-between; padding:16px; border:1px solid #dce2dd; border-radius:7px; background:white; }
.publish-switch>div { display:flex; flex-direction:column; gap:4px; }
.publish-switch b { font-size:10px; }
.publish-switch>div span { color:#8b948e!important; font-size:8px!important; font-weight:400!important; }
.publish-switch input { width:37px; min-height:20px; accent-color:var(--forest); }
.editor-panel form>footer { display:flex; justify-content:flex-end; gap:9px; padding:16px 30px; border-top:1px solid #dce2dd; background:white; }
.admin-toast { position:fixed; z-index:200; right:25px; bottom:25px; display:flex; align-items:center; gap:10px; min-height:48px; padding:0 18px; border-radius:7px; background:#183d31; color:white; box-shadow:0 10px 30px rgba(0,0,0,.2); font-size:10px; }
.admin-toast span { color:#e4bd72; }
.admin-denied { min-height:100vh; display:grid; place-items:center; padding:25px; background:var(--forest); color:white; text-align:center; }
.admin-denied>div { max-width:650px; }
.admin-denied>div>span { color:#e4bd72; font-size:10px; font-weight:800; letter-spacing:.22em; }
.admin-denied h1 { font-family:Georgia,serif; font-size:52px; font-weight:400; }
.admin-denied p { color:rgba(255,255,255,.66); }
.admin-denied a { display:inline-block; margin-top:20px; padding-bottom:6px; border-bottom:1px solid currentColor; font-size:10px; font-weight:800; text-transform:uppercase; }

.admin-preview-link { display:grid; place-items:center; }
.admin-home-form { overflow:hidden; border:1px solid #dce2dd; border-radius:10px; background:white; }
.admin-home-form>section { display:grid; grid-template-columns:280px 1fr; gap:42px; padding:38px; border-bottom:1px solid #e4e8e5; }
.admin-form-heading>span { color:var(--rust); font-size:8px; font-weight:800; letter-spacing:.15em; }
.admin-form-heading h2 { margin:10px 0 10px; font-family:Georgia,serif; font-size:29px; font-weight:400; }
.admin-form-heading p { margin:0; color:#808a84; font-size:10px; line-height:1.65; }
.admin-form-fields { min-width:0; }
.admin-form-fields>label,.admin-home-title-fields label { display:flex; flex-direction:column; gap:7px; margin-bottom:17px; }
.admin-form-fields label b { color:#59665e; font-size:9px; }
.admin-form-fields input,.admin-form-fields textarea { width:100%; padding:0 12px; border:1px solid #d5dcd7; border-radius:6px; outline:0; color:#223128; font-size:11px; }
.admin-form-fields input { min-height:42px; }
.admin-form-fields textarea { padding-block:12px; resize:vertical; line-height:1.6; }
.admin-form-fields input:focus,.admin-form-fields textarea:focus { border-color:#6c8c7d; box-shadow:0 0 0 3px rgba(74,116,96,.09); }
.admin-home-title-fields { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.admin-home-title-fields.two { grid-template-columns:1fr 1fr; }
.admin-home-form .admin-hero-image { margin:0; }
.admin-home-form>footer { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:20px 38px; background:#f6f8f6; }
.admin-home-form>footer>span { color:#818b85; font-size:9px; }

.admin-gate { display:grid; grid-template-columns:1.05fr .95fr; min-height:100vh; background:#f4f3ee; }
.admin-gate-photo { position:relative; display:flex; min-height:100vh; flex-direction:column; justify-content:space-between; padding:42px clamp(35px,6vw,90px) 70px; background:linear-gradient(0deg,rgba(6,30,25,.78),rgba(6,30,25,.18)),url('/images/stakevci-spring-panorama.webp') center/cover; color:white; }
.admin-gate-photo>a { align-self:flex-start; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-gate-photo>div { max-width:690px; }
.admin-gate-photo span,.admin-gate-form form>p { color:#ecc372; font-size:9px; font-weight:800; letter-spacing:.2em; }
.admin-gate-photo h1 { margin:18px 0 22px; font-family:Georgia,serif; font-size:clamp(52px,5.3vw,82px); font-weight:400; line-height:.98; }
.admin-gate-photo p { max-width:600px; color:rgba(255,255,255,.75); font-size:13px; line-height:1.75; }
.admin-gate-form { display:grid; place-items:center; padding:45px; }
.admin-gate-form form { width:min(100%,480px); padding:42px; border:1px solid #dfe3df; border-radius:12px; background:white; box-shadow:0 20px 55px rgba(25,48,37,.09); }
.admin-gate-form h2 { margin:12px 0 9px; font-family:Georgia,serif; font-size:34px; font-weight:400; }
.admin-gate-form form>span { display:block; margin-bottom:28px; color:#758079; font-size:10px; line-height:1.65; }
.admin-gate-form label { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.admin-gate-form label b { color:#526059; font-size:9px; }
.admin-gate-form input { min-height:45px; padding:0 13px; border:1px solid #d3dad5; border-radius:6px; outline:0; font-size:12px; }
.admin-gate-form input:focus { border-color:#668775; box-shadow:0 0 0 3px rgba(74,116,96,.1); }
.admin-gate-form button { width:100%; min-height:47px; margin-top:7px; }
.admin-gate-form small { display:block; margin-top:19px; color:#89918c; font-size:8px; line-height:1.6; }
.admin-gate-error { margin:4px 0 13px; padding:11px 13px; border-radius:6px; background:#f8e9e5; color:#9b4637; font-size:9px; line-height:1.5; }

@media (max-width:1180px) {
  .desktop-nav,.header-community,.header-inner>.language-switcher { display:none; }
  .menu-toggle { display:block; position:relative; z-index:2; }
  .mobile-menu { position:fixed; display:flex; overflow-y:auto; flex-direction:column; justify-content:flex-start; inset:0; padding:110px 32px 40px; background:var(--forest-deep); transform:translateY(-105%); transition:transform .45s cubic-bezier(.7,0,.2,1); }
  .mobile-menu.is-open { transform:translateY(0); }
  .mobile-menu nav { display:flex; flex-direction:column; }
  .mobile-menu nav a { display:flex; gap:20px; align-items:baseline; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.14); font-family:Georgia,serif; font-size:clamp(30px,5vw,44px); line-height:1.05; }
  .mobile-menu nav small { font-family:Arial,sans-serif; font-size:10px; color:#e4b968; }
  .mobile-menu>a { display:flex; align-items:center; min-height:46px; margin-top:24px; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
  .mobile-menu .language-switcher { margin-top:16px; }
  .mobile-menu .language-switcher select { width:100%; min-height:48px; font-size:11px; }
}

@media (max-width:980px) {
  .legend-layout { grid-template-columns:1fr; gap:50px; }
  .viden-feature { grid-template-columns:1fr 1fr; }
  .viden-copy { padding:70px 42px; }
  .viden-copy h2 { font-size:61px; }
  .people-grid { grid-template-columns:repeat(2,1fr); }
  .admin-users-layout { grid-template-columns:1fr; }
  .admin-home-form>section { grid-template-columns:1fr; gap:24px; }
  .admin-gate { grid-template-columns:1fr; }
  .admin-gate-photo { min-height:520px; }
  .admin-shell { display:block; padding-bottom:76px; }
  .admin-sidebar { inset:auto 0 0; width:100%; height:76px; padding:8px 12px; flex-direction:row; align-items:center; }
  .admin-brand,.admin-user { display:none; }
  .admin-sidebar nav { flex:1; overflow-x:auto; flex-direction:row; justify-content:flex-start; gap:3px; margin:0; scrollbar-width:none; }
  .admin-sidebar nav button { display:flex; min-width:76px; min-height:58px; flex:0 0 auto; flex-direction:column; justify-content:center; gap:5px; padding:0 5px; text-align:center; font-size:7px; }
  .admin-sidebar nav button.active { box-shadow:inset 0 3px #e5b963; }
  .admin-sidebar nav button>b { display:none; }
  .admin-main { min-height:calc(100vh - 76px); }
  .admin-stats { grid-template-columns:repeat(2,1fr); }
  .admin-dashboard-grid { grid-template-columns:1fr; }
  .admin-table-head,.admin-table-row { grid-template-columns:minmax(260px,1fr) 100px 105px; }
  .admin-table-head>span:nth-child(3),.admin-order { display:none; }
  .page-shell { width:min(100% - 44px,800px); }
  .desktop-nav,.header-community,.header-inner>.language-switcher { display:none; }
  .menu-toggle { display:block; position:relative; z-index:2; }
  .mobile-menu { position:fixed; display:flex; flex-direction:column; justify-content:center; inset:0; padding:110px 28px 45px; background:var(--forest-deep); transform:translateY(-105%); transition:transform .45s cubic-bezier(.7,0,.2,1); }
  .mobile-menu.is-open { transform:translateY(0); }
  .mobile-menu nav { display:flex; flex-direction:column; }
  .mobile-menu nav a { display:flex; gap:20px; align-items:baseline; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.14); font-family:Georgia,serif; font-size:clamp(32px,8vw,52px); }
  .mobile-menu nav small { font-family:Arial,sans-serif; font-size:9px; color:#e4b968; }
  .mobile-menu>a { margin-top:30px; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
  .mobile-menu .language-switcher { margin-top:20px; }
  .mobile-menu .language-switcher select { width:100%; min-height:44px; }
  .hero-facts { width:min(100% - 44px,800px); grid-template-columns:repeat(3,1fr) 70px; }
  .hero-facts>a { grid-column:4; }
  .intro-section { grid-template-columns:1fr; }
  .intro-text { grid-column:auto; }
  .experience-grid { grid-template-columns:1fr 1fr; grid-template-rows:520px 290px; }
  .experience-card.tall { grid-column:1/span 2; grid-row:1; }
  .route-feature { grid-template-columns:1fr; }
  .route-feature-media { min-height:540px; }
  .stay-cards { overflow-x:auto; grid-template-columns:repeat(3,minmax(300px,1fr)); padding-bottom:12px; }
  .camp-section { gap:60px; }
  .camp-image { height:540px; }
  .camp-stamp { right:-25px; }
  .tradition-content { gap:70px; }
  .news-list>a { grid-template-columns:130px 1.2fr 1fr 44px; gap:22px; }
  .footer-grid { grid-template-columns:2fr 1fr 1fr; }
  .footer-place { display:none; }
  .intl-header nav { display:none; }
  .intl-card-grid.stays,.intl-card-grid.routes { grid-template-columns:repeat(2,1fr); }
  .intl-card-grid.food { grid-template-columns:repeat(2,1fr); }
  .intl-card-grid.festivals,.intl-card-grid.news { grid-template-columns:repeat(2,1fr); }
  .intl-traditions>.page-shell { grid-template-columns:1fr; gap:55px; }
  .culture-heading { grid-template-columns:1fr 1fr; }
  .culture-heading>p:last-child { grid-column:2; }
  .word-callout>.page-shell { grid-template-columns:1fr auto; }
  .word-callout span { grid-column:1; }
}

@media (max-width:700px) {
  .admin-topbar { padding:0 18px; }
  .admin-topbar>div:first-child,.admin-topbar a:last-child { display:none; }
  .admin-topbar>div:last-child { margin-left:auto; }
  .admin-dashboard,.admin-content-page { padding:34px 16px 55px; }
  .admin-welcome h1,.admin-page-heading h1 { font-size:36px; }
  .admin-stats { grid-template-columns:1fr 1fr; gap:9px; }
  .admin-stats article { min-height:130px; padding:18px; }
  .admin-stats article>b { font-size:32px; }
  .admin-page-heading { align-items:flex-start; flex-direction:column; gap:22px; }
  .admin-page-heading>.admin-primary { width:100%; }
  .admin-table { overflow:visible; border:0; background:transparent; }
  .admin-table-head { display:none; }
  .admin-table-row { display:grid; grid-template-columns:1fr auto; gap:16px; min-height:0; margin-bottom:10px; padding:16px; border:1px solid #dce2dd!important; border-radius:8px; background:white; }
  .admin-item-main { grid-column:1/span 2; }
  .admin-item-main p { max-width:240px; }
  .admin-status { align-self:center; }
  .admin-row-actions { grid-column:2; }
  .admin-sidebar { overflow-x:auto; }
  .admin-sidebar nav { min-width:560px; }
  .admin-user-list { padding:18px; }
  .admin-user-list article { grid-template-columns:38px 1fr auto; }
  .admin-user-list article em { grid-column:2; justify-self:start; }
  .admin-user-list article button { grid-column:3; grid-row:1/span 2; }
  .editor-panel>header { min-height:76px; padding:16px 18px; }
  .editor-panel header h2 { max-width:290px; font-size:20px; }
  .editor-scroll { padding:22px 18px 45px; }
  .form-row,.form-row.three { grid-template-columns:1fr; gap:0; }
  .editor-panel form>footer { padding:13px 18px; }
  .admin-toast { right:14px; left:14px; bottom:90px; justify-content:center; }
  .page-shell { width:calc(100% - 36px); }
  .header-inner { width:calc(100% - 32px); height:76px; }
  .hero { min-height:720px; height:100svh; }
  .hero-content { padding-top:175px; }
  .hero h1 { font-size:clamp(54px,17vw,74px); }
  .hero-lead { font-size:14px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:24px; }
  .hero-facts { width:calc(100% - 36px); grid-template-columns:repeat(2,1fr) 56px; min-height:75px; }
  .hero-facts>div:nth-child(3) { display:none; }
  .hero-facts>a { grid-column:3; }
  .intro-section { grid-template-columns:1fr; gap:28px; padding:90px 0 80px; }
  .section-number { display:none; }
  .intro-text { grid-column:auto; padding-top:0; }
  .intro-copy h2,.section-heading h2,.camp-copy h2 { font-size:46px; }
  .experience-grid { display:flex; flex-direction:column; padding:70px 0 90px; }
  .experience-card { min-height:330px; }
  .experience-card.tall { min-height:500px; }
  .experience-card>div:last-child { left:24px; right:24px; bottom:25px; }
  .route-feature-media { min-height:420px; }
  .route-feature-content { padding:72px 23px; }
  .route-feature h2 { font-size:52px; }
  .route-metrics { gap:10px; }
  .stays-section { padding:95px 0; }
  .split-heading { grid-template-columns:1fr; gap:30px; }
  .stay-cards { margin-right:-18px; grid-template-columns:repeat(3,82vw); }
  .stay-image { height:340px; }
  .village-center { padding:90px 0; }
  .center-list>a { grid-template-columns:1fr 38px; gap:10px; padding:28px 0; }
  .center-list h3 { display:block; width:100%; font-size:28px; }
  .center-list p { display:block; width:100%; margin:13px 0 0; }
  .place-functions { grid-template-columns:1fr; }
  .round-arrow { width:36px; height:36px; }
  .camp-section { grid-template-columns:1fr; gap:65px; padding:90px 0; }
  .camp-image { height:470px; }
  .camp-copy { padding-right:0; }
  .camp-stamp { right:8px; top:auto; bottom:-52px; }
  .home-festivals { padding:90px 0; }
  .home-festival-grid { grid-template-columns:1fr; gap:55px; }
  .home-festival-grid>a>div { height:360px; }
  .home-festival-grid h3 { min-height:0; }
  .tradition-band { padding:100px 0 125px; }
  .tradition-content { grid-template-columns:1fr; gap:50px; }
  .tradition-content h2 { font-size:62px; }
  .news-section { padding:100px 0; }
  .news-section .split-heading>a { justify-self:start; }
  .news-list>a { grid-template-columns:1fr 40px; gap:15px; padding:26px 0; }
  .news-list>a>div,.news-list h3,.news-list p { grid-column:1; }
  .news-list .round-arrow { grid-column:2; grid-row:1/span 3; }
  .community-cta { padding:85px 0; }
  .site-footer { padding:80px 20px 35px; }
  .footer-top { padding-bottom:55px; }
  .footer-mark { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:45px 25px; }
  .footer-about { grid-column:1/span 2; }
  .footer-bottom { flex-direction:column; gap:12px; }
}

@media (max-width:980px) {
  .listing-intro,.route-page-intro,.camp-page-intro { gap:55px; }
  .accommodation-row { gap:45px; }
  .routes-grid { gap:65px 24px; }
  .program-section>.page-shell { gap:55px; }
  .program-list article { grid-template-columns:55px 1fr; }
  .program-list article p { grid-column:2; }
  .included-section { gap:55px; }
  .story-section { grid-template-columns:70px 1fr 1fr; gap:35px; }
  .center-cards>a { padding:26px; }
}

@media (max-width:700px) {
  .interior-hero { min-height:620px; }
  .interior-hero-content { padding-top:155px; padding-bottom:75px; }
  .breadcrumbs { margin-bottom:65px; }
  .interior-hero h1 { font-size:57px; }
  .interior-hero-content>p:last-child { font-size:14px; }
  .listing-intro,.route-page-intro,.camp-page-intro { grid-template-columns:1fr; gap:35px; padding:85px 0; }
  .listing-intro h2,.route-page-intro h2,.camp-page-intro h2,.story-title h2,.turlak-copy h2,.program-heading h2,.included-section h2,.memory-cta h2,.submission-cta h2,.safety-band h2,.facebook-news h2 { font-size:46px; }
  .accommodation-list { padding-bottom:90px; }
  .accommodation-row { grid-template-columns:1fr; gap:15px; padding:45px 0; }
  .accommodation-row:nth-child(even) .accommodation-photo { order:0; }
  .accommodation-photo { min-height:340px; }
  .accommodation-copy { padding:25px 4px; }
  .accommodation-copy h2 { font-size:38px; }
  .listing-actions { align-items:flex-start; flex-direction:column; }
  .submission-cta>.page-shell { align-items:flex-start; flex-direction:column; }
  .route-group-nav { margin-bottom:70px; overflow-x:auto; flex-wrap:nowrap; padding-bottom:8px; }
  .route-group-nav a { flex:0 0 auto; }
  .route-group { padding-bottom:95px; }
  .route-group-heading { grid-template-columns:1fr; gap:18px; }
  .routes-grid { grid-template-columns:1fr; gap:70px; }
  .route-card-image { height:340px; }
  .route-card-copy { padding-left:3px; padding-right:3px; }
  .route-card-copy h2 { font-size:36px; }
  .route-card-copy>p:not(.eyebrow) { min-height:0; }
  .safety-band>.page-shell { grid-template-columns:1fr; gap:25px; }
  .program-section { padding:90px 0; }
  .program-section>.page-shell { grid-template-columns:1fr; }
  .program-heading { position:static; }
  .program-list article { grid-template-columns:55px 1fr; }
  .program-list article p { grid-column:2; }
  .included-section { grid-template-columns:1fr; gap:60px; padding:90px 0; }
  .included-image { height:420px; }
  .story-section { grid-template-columns:1fr; gap:30px; padding:90px 0; }
  .story-aside { flex-direction:row; align-items:center; }
  .story-aside i { width:90px; height:1px; }
  .story-copy { padding-top:0; }
  .founding-legend { padding:90px 0; }
  .legend-heading h2,.notable-people h2 { font-size:46px; }
  .legend-story>p { font-size:21px; }
  .brother-places { grid-template-columns:1fr; gap:14px; }
  .brother-places i { width:1px; height:32px; margin:auto; }
  .viden-feature { grid-template-columns:1fr; }
  .viden-portrait { min-height:610px; }
  .viden-copy { padding:75px 22px; }
  .viden-copy h2 { font-size:56px; }
  .viden-facts { grid-template-columns:1fr; }
  .viden-facts span { min-height:86px; }
  .musk-aside { padding:80px 0; }
  .musk-aside>.page-shell { grid-template-columns:1fr; gap:25px; }
  .musk-aside h2 { font-size:40px; }
  .musk-aside a { grid-column:auto; }
  .notable-people { padding:90px 0; }
  .people-grid { grid-template-columns:1fr; margin-top:45px; }
  .people-grid article { min-height:300px; }
  .values-grid { grid-template-columns:1fr; padding-bottom:90px; }
  .values-grid article { border-right:1px solid var(--line); border-bottom:0; }
  .values-grid article:last-child { border-bottom:1px solid var(--line); }
  .turlak-section { grid-template-columns:1fr; }
  .turlak-image { min-height:440px; }
  .turlak-copy { padding:75px 22px; }
  .dialect-card { grid-template-columns:75px 90px 1fr; }
  .dialect-card strong { font-size:36px; }
  .center-page { padding:90px 0; }
  .center-cards { grid-template-columns:1fr; }
  .center-cards>a { min-height:280px; border-right:1px solid var(--line); border-bottom:0; }
  .center-cards>a:last-child { border-bottom:1px solid var(--line); }
  .food-intro { grid-template-columns:1fr; gap:35px; padding:85px 0; }
  .food-grid { grid-template-columns:1fr; gap:65px; padding-bottom:95px; }
  .food-card-media { height:340px; }
  .food-card-copy>p:not(.eyebrow) { min-height:0; }
  .festival-intro { grid-template-columns:1fr; gap:35px; padding:85px 0; }
  .festival-card { grid-template-columns:1fr; gap:15px; padding:45px 0; }
  .festival-card:nth-child(even) .festival-card-image { order:0; }
  .festival-card-image { min-height:345px; }
  .festival-card-copy { padding:27px 3px; }
  .festival-card-copy h2 { font-size:39px; }
  .festival-card-copy>div { align-items:flex-start; flex-direction:column; }
  .festival-note { padding:80px 0; }
  .torlak-intro { padding:90px 0; }
  .torlak-intro nav { align-items:stretch; flex-direction:column; }
  .culture-heading { grid-template-columns:1fr; gap:22px; }
  .culture-heading>p:last-child { grid-column:auto; }
  .dish-section { padding-bottom:95px; }
  .dish-grid { grid-template-columns:1fr; gap:18px; }
  .dish-card { min-height:0; }
  .dish-card-image { height:260px; }
  .dish-card-body { min-height:0; padding:28px 22px 30px; }
  .dish-card h3 { font-size:37px; }
  .word-section { padding:90px 0; }
  .word-heading { margin-bottom:42px; }
  .word-grid { grid-template-columns:1fr; }
  .word-card summary { min-height:100px; padding:23px 22px; }
  .word-card summary strong { font-size:26px; }
  .word-card-toggle i { display:none!important; }
  .word-card-meaning { grid-template-columns:1fr; gap:8px; padding:24px 22px 28px; }
  .word-card-meaning>span { margin-top:10px; }
  .word-callout>.page-shell { grid-template-columns:1fr; gap:20px; }
  .word-callout span { grid-column:auto; }
  .word-callout .button { justify-self:start; }
  .camp-gallery { grid-template-columns:1fr; grid-template-rows:none; padding-bottom:90px; }
  .camp-gallery div:first-child { grid-row:auto; }
  .intl-hero { min-height:720px; }
  .intl-header { min-height:76px; }
  .intl-header .brand small { display:none; }
  .intl-hero-copy { padding-top:130px; }
  .intl-hero-copy h1 { font-size:55px; }
  .intl-hero-copy>span { font-size:14px; }
  .intl-intro,.intl-section,.intl-routes { padding:90px 0; }
  .intl-intro>div { gap:24px; flex-wrap:wrap; }
  .intl-card-grid.stays,.intl-card-grid.routes,.intl-card-grid.food { grid-template-columns:1fr; }
  .intl-card-grid.center,.intl-card-grid.festivals,.intl-card-grid.news { grid-template-columns:1fr; }
  .intl-traditions { padding:90px 0; }
  .intl-card-grid.stays article>div,.intl-card-grid.food article>div { height:340px; }
  .intl-camp { grid-template-columns:1fr; }
  .intl-camp-photo { min-height:430px; }
  .intl-camp>div:last-child { padding:75px 22px; }
  .intl-footer { align-items:flex-start; flex-direction:column; gap:20px; padding:32px 0; }
  .news-page { padding:65px 0 95px; }
  .news-filter { overflow-x:auto; white-space:nowrap; }
  .news-page-grid { grid-template-columns:1fr; gap:60px; }
  .news-page-grid article.featured-news { grid-column:auto; display:block; }
  .featured-news .news-page-image { height:370px; }
  .featured-news .news-page-copy { padding:35px 24px; }
  .featured-news .news-page-copy h2 { font-size:38px; }
  .facebook-news>.page-shell { align-items:flex-start; flex-direction:column; }
}

@media (max-width:700px) {
  html { scroll-padding-top:82px; }
  body { overflow-x:clip; }
  .page-shell { width:calc(100% - 32px); }
  .header-inner { width:calc(100% - 28px); height:82px; }
  .brand { gap:11px; }
  .brand b { font-size:21px; letter-spacing:.09em; }
  .brand small { font-size:7px; letter-spacing:.16em; }
  .brand-mark { width:38px; height:40px; flex-basis:38px; }
  .brand-mark i { bottom:5px; border-left-width:12px; border-right-width:12px; border-bottom-width:25px; }
  .brand-mark i:nth-child(2) { left:11px; border-left-width:10px; border-right-width:10px; border-bottom-width:18px; }
  .brand-mark i:nth-child(3) { left:23px; border-left-width:8px; border-right-width:8px; border-bottom-width:13px; }
  .menu-toggle { width:48px; height:48px; margin-right:-8px; }
  .menu-toggle span { width:27px; }
  .mobile-menu { padding:94px 20px calc(26px + env(safe-area-inset-bottom)); }
  .mobile-menu nav a { padding:12px 0; font-size:clamp(28px,9vw,38px); }
  .mobile-menu>a { margin-top:18px; }
  .mobile-menu .language-switcher { margin-top:12px; }
  .hero { min-height:700px; }
  .hero-content { padding-top:150px; }
  .hero h1 { font-size:clamp(48px,16vw,64px); line-height:.94; }
  .hero-lead { margin-top:25px; font-size:16px; line-height:1.6; }
  .hero-actions { width:100%; margin-top:30px; }
  .hero-actions .button { width:min(100%,340px); }
  .button { min-height:56px; padding-inline:19px; gap:18px; }
  .eyebrow { margin-bottom:17px; font-size:10px; line-height:1.45; }
  .hero-facts { width:calc(100% - 32px); min-height:82px; padding-bottom:env(safe-area-inset-bottom); }
  .intro-section,.stays-section,.village-center,.camp-section,.home-festivals,.news-section { padding-top:76px; padding-bottom:76px; }
  .intro-copy h2,.section-heading h2,.camp-copy h2,.listing-intro h2,.route-page-intro h2,.camp-page-intro h2,.story-title h2,.turlak-copy h2,.program-heading h2,.included-section h2,.memory-cta h2,.submission-cta h2,.safety-band h2,.facebook-news h2 { font-size:clamp(40px,12vw,50px); line-height:1.02; }
  .intro-text p,.split-heading>div:last-child>p,.split-heading>p,.route-feature-content>p:not(.eyebrow),.camp-copy>p:not(.eyebrow),.listing-intro>p,.route-page-intro>div:last-child p,.accommodation-copy>p:not(.eyebrow),.route-card-copy>p:not(.eyebrow),.food-intro>div:last-child>p,.food-card-copy>p:not(.eyebrow),.festival-card-copy>p,.story-copy p { font-size:15px; line-height:1.75; }
  .experience-grid { gap:14px; padding-top:64px; padding-bottom:76px; }
  .experience-card { min-height:300px; }
  .experience-card.tall { min-height:420px; }
  .route-feature-media { min-height:330px; }
  .route-feature-content { padding:58px 20px; }
  .route-feature h2 { font-size:clamp(42px,13vw,54px); }
  .stay-cards { margin-right:-16px; gap:16px; grid-template-columns:repeat(3,84vw); scroll-padding-left:16px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .stay-cards::-webkit-scrollbar,.route-group-nav::-webkit-scrollbar,.news-filter::-webkit-scrollbar { display:none; }
  .stay-card { scroll-snap-align:start; }
  .stay-image,.home-festival-grid>a>div { height:300px; }
  .center-list p { font-size:14px; line-height:1.7; }
  .camp-image { height:400px; }
  .camp-stamp { width:120px; height:120px; bottom:-38px; font-size:8px; }
  .tradition-band { padding:80px 0 90px; }
  .tradition-content h2,.community-inner h2 { font-size:clamp(43px,13vw,56px); }
  .community-inner>span { font-size:15px; }
  .interior-hero { min-height:560px; }
  .interior-hero-content { padding-top:130px; padding-bottom:62px; }
  .breadcrumbs { margin-bottom:46px; }
  .interior-hero h1 { font-size:clamp(44px,13vw,56px); line-height:.98; }
  .listing-intro,.route-page-intro,.camp-page-intro,.food-intro,.festival-intro { padding:72px 0; }
  .accommodation-photo,.route-card-image,.food-card-media,.festival-card-image { min-height:0; height:300px; }
  .accommodation-row,.festival-card { padding:35px 0; }
  .accommodation-copy h2,.route-card-copy h2,.food-card-copy h2,.festival-card-copy h2 { font-size:clamp(34px,10vw,40px); }
  .route-group-nav { margin-bottom:55px; scroll-snap-type:x proximity; scrollbar-width:none; }
  .route-group-nav a { min-height:44px; display:flex; align-items:center; scroll-snap-align:start; font-size:10px; }
  .route-group { padding-bottom:76px; }
  .routes-grid,.food-grid { gap:52px; padding-bottom:80px; }
  .route-card-copy,.food-card-copy { padding-left:0; padding-right:0; }
  .route-card .button,.listing-actions .button,.festival-card .button { width:100%; }
  .program-section,.included-section,.story-section,.founding-legend,.notable-people,.center-page,.torlak-intro,.word-section { padding-top:76px; padding-bottom:76px; }
  .included-image,.turlak-image { height:360px; min-height:360px; }
  .viden-portrait { min-height:470px; }
  .viden-copy,.turlak-copy,.intl-camp>div:last-child { padding:58px 20px; }
  .dialect-card { grid-template-columns:70px 1fr; gap:12px; }
  .dialect-card span { grid-column:1/span 2; font-size:13px; }
  .dish-card h3,.word-card summary strong { overflow-wrap:anywhere; }
  .site-footer { padding:68px 16px 28px; }
  .footer-grid nav a { display:flex; align-items:center; min-height:34px; font-size:13px; }
  .footer-bottom { line-height:1.6; }
}

@media (max-width:620px) {
  .admin-home-title-fields,.admin-home-title-fields.two { grid-template-columns:1fr; }
  .admin-home-form>section { padding:25px 20px; }
  .admin-home-form>footer { align-items:stretch; flex-direction:column; padding:18px 20px; }
  .admin-gate-form { padding:24px; }
  .admin-gate-form form { padding:30px 22px; }
}

@media (max-width:420px) {
  .page-shell { width:calc(100% - 28px); }
  .brand b { font-size:20px; }
  .brand small { display:none; }
  .hero-actions .button,.route-card .button,.listing-actions .button,.festival-card .button { width:100%; max-width:none; }
  .route-card-facts { gap:24px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-about { grid-column:auto; }
  .camp-quick-facts { grid-template-columns:1fr; gap:14px; }
  .camp-quick-facts span { padding-bottom:12px; border-bottom:1px solid var(--line); }
}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* PHP hosting package additions */
.language-select{display:flex;align-items:center}.language-select select{max-width:104px;padding:9px 24px 9px 9px;border:1px solid rgba(255,255,255,.3);border-radius:3px;background:rgba(8,37,31,.35);color:#fff;font-size:9px;font-weight:800;outline:none}.language-select select option{color:#12231e;background:#fff}.mobile-language{display:none}.not-found-page{min-height:70vh;padding-top:190px;padding-bottom:110px}.not-found-page h1{max-width:800px;margin:0 0 25px;font-family:Georgia,serif;font-size:clamp(50px,7vw,86px);font-weight:400;line-height:1}.not-found-page>p:not(.eyebrow){margin-bottom:30px;color:#65706a;font-size:15px}.route-card{scroll-margin-top:100px}.food-card,.festival-card,.accommodation-row,.news-page article{scroll-margin-top:100px}
@media(max-width:1180px){.language-select:not(.mobile-language){display:none}.mobile-language{display:grid;gap:8px;margin-top:18px;color:#fff}.mobile-language span{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mobile-language select{width:100%;max-width:none;min-height:46px;font-size:12px}}
@media(max-width:700px){.not-found-page{padding-top:130px}.mobile-language{margin-top:14px}}

/* Routes page: compact, balanced layout */
.route-page-intro { display:block; padding:96px 0 82px; }
.route-intro-main { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:64px; align-items:end; }
.route-intro-copy h2 { max-width:790px; }
.route-page-intro .route-notice { padding:25px 27px; color:#5c6760; font-size:14px; line-height:1.7; }
.route-page-intro .route-group-nav { margin:32px 0 0; }
.route-group { padding-bottom:105px; }
.route-group-heading { grid-template-columns:200px minmax(0,1fr); gap:40px; align-items:start; margin-bottom:38px; }
.route-group-heading h2 { max-width:690px; font-size:clamp(42px,4vw,60px); }
.routes-grid { gap:58px 34px; align-items:stretch; }
.route-card { display:flex; min-width:0; flex-direction:column; }
.route-card-image { height:360px; flex:0 0 auto; }
.route-card-copy { display:flex; flex:1 1 auto; flex-direction:column; padding:26px 12px 0; }
.route-card-copy h2 { line-height:1.04; }
.route-card-copy>p:not(.eyebrow) { min-height:0; margin:0 0 26px; flex:1 1 auto; }
.route-card-facts { margin:0 0 30px; }
.route-card-copy .button { align-self:flex-start; }

@media (max-width:900px) {
  .route-page-intro { padding:78px 0 70px; }
  .route-intro-main { grid-template-columns:1fr; gap:30px; }
  .route-intro-copy h2 { max-width:720px; }
  .route-page-intro .route-group-nav { margin-top:24px; }
}

@media (max-width:820px) {
  .route-group { padding-bottom:82px; }
  .route-group-heading { grid-template-columns:1fr; gap:14px; margin-bottom:32px; }
  .routes-grid { grid-template-columns:1fr; gap:56px; }
  .route-card-image { height:340px; }
  .route-card-copy { padding-right:0; padding-left:0; }
}

@media (max-width:700px) {
  .route-page-intro { padding:64px 0 58px; }
  .route-page-intro .route-notice { padding:22px; font-size:15px; }
  .route-page-intro .route-group-nav { margin-top:22px; overflow-x:auto; flex-wrap:nowrap; padding-bottom:8px; }
  .route-page-intro .route-group-nav a { flex:0 0 auto; }
  .route-group-heading h2 { font-size:clamp(38px,11vw,48px); }
  .route-card-image { height:300px; }
  .route-card-copy .button { width:100%; }
}

/* Keep the mobile hero actions and facts in normal flow so they never overlap. */
@media (max-width:700px) {
  .hero { height:auto; min-height:100svh; }
  .hero-content { padding-bottom:0; }
  .hero-facts { position:relative; right:auto; bottom:auto; left:auto; margin:42px auto 0; min-height:92px; }
}
