:root { --green:#00a651; --green-deep:#08743c; --deep:#0d3c23; --ink:#102b1a; --muted:#637469; --mist:#f3f6f0; --paper:#fff; --line:rgba(16,43,26,.12); --radius:24px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--mist); color:var(--ink); font-family:Sora, sans-serif; }
a { color:inherit; text-decoration:none; } button, input { font:inherit; } button { cursor:pointer; }
.page-container { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.page-nav { position:sticky; z-index:20; top:0; border-bottom:1px solid rgba(255,255,255,.13); background:rgba(10,52,31,.76); backdrop-filter:blur(12px); transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease; }.page-nav.is-scrolled { background:rgba(10,52,31,.97); box-shadow:0 8px 24px rgba(5,28,14,.2); backdrop-filter:blur(18px); }
.page-nav__inner { display:flex; align-items:center; justify-content:space-between; min-height:73px; }
.page-brand { display:inline-flex; align-items:center; gap:8px; color:var(--green); font-size:20px; font-weight:600; letter-spacing:-.06em; }
.page-brand__logo { display:block; width:158px; height:55px; object-fit:contain; }
.page-brand__mark { display:grid; place-items:center; width:24px; height:24px; border:2px solid currentColor; border-radius:70% 70% 70% 15%; transform:rotate(-45deg); }.page-brand__mark span { width:6px; height:6px; border-radius:50%; background:currentColor; }
.page-links { display:flex; align-items:center; gap:25px; font-size:12px; }.page-links a { color:rgba(255,255,255,.76); }.page-links a.is-current, .page-links a:hover { color:#c9f5d2; }
.page-actions { display:flex; gap:10px; }.page-signin, .page-join { display:inline-flex; align-items:center; justify-content:center; min-height:39px; padding:0 15px; border-radius:999px; font-size:11px; font-weight:500; }.page-signin { border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.09); color:#fff; }.page-join { border:1px solid var(--green); background:var(--green); color:#fff; box-shadow:0 8px 18px rgba(0,166,81,.17); }
.page-hero { padding:88px 0 62px; background:linear-gradient(118deg,#ecf7ed 0%,#f4f7f1 48%,#f6f8ef 100%); }.page-kicker { margin:0 0 12px; color:var(--green); font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }.page-title { max-width:700px; margin:0; font-family:Fraunces, Georgia, serif; font-size:clamp(47px,6vw,76px); font-weight:400; letter-spacing:-.065em; line-height:.96; }.page-intro { max-width:530px; margin:21px 0 0; color:#46604e; font-size:13px; line-height:1.75; }
.page-search { display:grid; grid-template-columns:1.25fr 1fr 1fr .82fr auto; gap:0; margin-top:39px; padding:7px; border:1px solid rgba(16,43,26,.13); border-radius:22px; background:#fff; box-shadow:0 15px 33px rgba(24,70,39,.08); }.page-search label { display:block; min-height:57px; padding:8px 14px; border-right:1px solid var(--line); }.page-search label span, .pax-toggle__label { display:block; margin-bottom:6px; color:var(--muted); font-size:9px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.page-search input { width:100%; padding:0; border:0; color:var(--ink); font-size:12px; outline:none; }.page-search > button { width:48px; height:48px; align-self:center; margin:0 2px 0 8px; border:0; border-radius:50%; background:var(--green); color:#fff; font-size:18px; }
.pax-picker { position:relative; min-height:57px; padding:8px 14px; border-right:1px solid var(--line); }.pax-toggle { width:100%; padding:0; border:0; background:transparent; color:var(--ink); text-align:left; }.pax-toggle__value { font-size:12px; }.pax-dropdown { position:absolute; z-index:5; top:calc(100% + 12px); right:0; display:none; width:330px; padding:11px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 17px 35px rgba(22,59,34,.16); }.pax-dropdown.is-open { display:block; }.pax-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:8px 5px; }.pax-row strong,.pax-row small { display:block; }.pax-row strong { font-size:11px; font-weight:500; }.pax-row small { margin-top:3px; color:var(--muted); font-size:9px; }.pax-counter { display:inline-flex; align-items:center; gap:10px; }.pax-counter button { display:grid; place-items:center; width:27px; height:27px; margin:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--green-deep); font-size:16px; }.pax-counter button:disabled { color:#a9b5ac; cursor:not-allowed; }.pax-counter span { min-width:10px; color:var(--ink); font-size:11px; text-align:center; }.pax-done { width:100%; min-height:37px; margin-top:5px; border:0; border-radius:999px; background:var(--mist); color:var(--green-deep); font-size:10px; font-weight:600; }
.page-main { padding:62px 0 100px; }.page-head { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:26px; }.page-head h2 { margin:0; font-family:Fraunces,Georgia,serif; font-size:40px; font-weight:400; letter-spacing:-.055em; }.page-filter-row { display:flex; gap:8px; margin-bottom:25px; overflow-x:auto; scrollbar-width:none; }.page-filter { flex:0 0 auto; min-height:35px; padding:0 14px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font-size:10px; }.page-filter.is-active, .page-filter:hover { border-color:var(--green); background:var(--green); color:#fff; }
.stay-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.stay-card { overflow:hidden; border-radius:var(--radius); background:#fff; box-shadow:0 12px 28px rgba(25,61,35,.07); transition:transform .2s ease, box-shadow .2s ease; }.stay-card:hover { transform:translateY(-4px); box-shadow:0 19px 35px rgba(25,61,35,.13); }.stay-card__photo { height:255px; background:#568260 center/cover no-repeat; }.stay-card:nth-child(1) .stay-card__photo { background-image:url('coorg-forest-house.png'); }.stay-card:nth-child(2) .stay-card__photo { background-image:url('alibaug-villa.png'); background-position:center 57%; }.stay-card:nth-child(3) .stay-card__photo { background:linear-gradient(148deg,#d4ca8c 0%,#3b8050 48%,#173d25 100%); }.stay-card__body { padding:18px; }.stay-card__place { margin:0 0 8px; color:var(--green-deep); font-size:9px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }.stay-card h3 { margin:0 0 12px; font-family:Fraunces,Georgia,serif; font-size:25px; font-weight:400; letter-spacing:-.04em; }.stay-card__meta { display:flex; justify-content:space-between; color:var(--muted); font-size:10px; }.stay-card__meta strong { color:var(--ink); font-weight:600; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.process-step { min-height:253px; padding:23px; border:1px solid var(--line); border-radius:21px; background:#fff; }.process-step__num { color:var(--green); font-family:Fraunces,Georgia,serif; font-size:30px; }.process-step h2 { margin:40px 0 9px; font-family:Fraunces,Georgia,serif; font-size:26px; font-weight:400; letter-spacing:-.04em; }.process-step p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }.assurance { display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; margin-top:78px; padding:42px; border-radius:26px; background:var(--deep); color:#fff; }.assurance h2 { margin:0; font-family:Fraunces,Georgia,serif; font-size:47px; font-weight:400; letter-spacing:-.06em; line-height:1; }.assurance p { margin:0; color:rgba(255,255,255,.76); font-size:13px; line-height:1.75; }
.journal-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:18px; }.story-card { position:relative; min-height:348px; overflow:hidden; border-radius:var(--radius); background:#3f7049; color:#fff; }.story-card::before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,26,13,.8),transparent 65%),linear-gradient(125deg,#486a48 0%,#afbf83 48%,#254a2f 49%); transition:transform .45s ease; }.story-card:nth-child(2)::before { background:linear-gradient(0deg,rgba(4,26,13,.78),transparent 65%),linear-gradient(134deg,#a4c0bb 0%,#e4c88f 48%,#35644d 49%); }.story-card:nth-child(3)::before { background:linear-gradient(0deg,rgba(4,26,13,.78),transparent 65%),linear-gradient(145deg,#587b4f 0%,#e0dbab 42%,#23533b 43%); }.story-card:hover::before { transform:scale(1.05); }.story-card__content { position:absolute; z-index:1; right:20px; bottom:20px; left:20px; }.story-card__tag { margin:0 0 9px; color:#cff6d7; font-size:9px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }.story-card h2 { margin:0; font-family:Fraunces,Georgia,serif; font-size:27px; font-weight:400; letter-spacing:-.045em; line-height:1.04; }
.package-hero { position:relative; overflow:hidden; padding:88px 0 62px; background:radial-gradient(circle at 88% 8%,rgba(169,228,181,.75),transparent 28%),linear-gradient(118deg,#e5f5e8 0%,#f4f7f1 49%,#eef7ef 100%); }.package-hero::after { content:''; position:absolute; right:-120px; bottom:-160px; width:510px; height:510px; border:1px solid rgba(0,166,81,.13); border-radius:50%; box-shadow:0 0 0 65px rgba(0,166,81,.04),0 0 0 130px rgba(0,166,81,.025); }.package-hero .page-container { position:relative; z-index:1; }.package-hero .page-title { max-width:780px; }.package-hero .page-intro { max-width:590px; }.package-page .page-search { grid-template-columns:1.45fr 1fr .82fr auto; }
.package-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.package-card { overflow:hidden; scroll-margin-top:95px; border:1px solid rgba(16,43,26,.07); border-radius:var(--radius); background:#fff; box-shadow:0 12px 28px rgba(25,61,35,.07); transition:transform .22s ease,box-shadow .22s ease; }.package-card:hover { transform:translateY(-5px); box-shadow:0 20px 37px rgba(25,61,35,.14); }.package-card__photo { position:relative; height:242px; overflow:hidden; background:#4a7752 center/cover no-repeat; }.package-card__photo::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,28,14,.48),transparent 63%); }.package-card:nth-child(1) .package-card__photo { background-image:url('coorg-forest-house.png'); background-position:center 48%; }.package-card:nth-child(2) .package-card__photo { background-image:url('alibaug-villa.png'); background-position:center 60%; }.package-card:nth-child(3) .package-card__photo { background:radial-gradient(circle at 76% 15%,rgba(149,211,154,.8),transparent 25%),linear-gradient(145deg,#0c4328 3%,#297142 50%,#9aad6d 160%); }.package-card__duration { position:absolute; z-index:1; top:15px; left:15px; padding:7px 10px; border:1px solid rgba(255,255,255,.47); border-radius:999px; background:rgba(14,52,28,.32); color:#fff; font-size:9px; font-weight:600; letter-spacing:.06em; backdrop-filter:blur(10px); }.package-card__body { padding:19px; }.package-card__route { margin:0 0 9px; color:var(--green-deep); font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.package-card h2 { margin:0 0 9px; font-family:Fraunces,Georgia,serif; font-size:28px; font-weight:400; letter-spacing:-.045em; }.package-card__summary { min-height:37px; margin:0; color:var(--muted); font-size:11px; line-height:1.65; }.package-inclusions { display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 17px; }.package-inclusion { padding:6px 8px; border-radius:999px; background:#edf7ef; color:#356146; font-size:9px; }.package-card__bottom { display:flex; align-items:end; justify-content:space-between; gap:10px; padding-top:15px; border-top:1px solid var(--line); }.package-card__price { color:var(--muted); font-size:9px; }.package-card__price strong { display:block; margin-bottom:3px; color:var(--ink); font-size:15px; font-weight:600; }.package-card__cta { color:var(--green-deep); font-size:10px; font-weight:600; white-space:nowrap; }.package-card:hover .package-card__cta { color:var(--green); }
.package-builder { display:grid; grid-template-columns:1fr .9fr; gap:40px; align-items:center; scroll-margin-top:95px; margin-top:72px; padding:39px; border-radius:26px; background:var(--deep); color:#fff; }.package-builder__kicker { margin:0 0 11px; color:#bcecc7; font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }.package-builder h2 { max-width:490px; margin:0; font-family:Fraunces,Georgia,serif; font-size:43px; font-weight:400; letter-spacing:-.06em; line-height:1.01; }.package-builder__copy { margin:0; color:rgba(255,255,255,.77); font-size:12px; line-height:1.75; }.package-builder__action { display:inline-flex; align-items:center; justify-content:center; min-height:43px; margin-top:19px; padding:0 17px; border-radius:999px; background:var(--green); color:#fff; font-size:11px; font-weight:600; box-shadow:0 10px 20px rgba(0,166,81,.22); transition:transform .2s ease,background .2s ease; }.package-builder__action:hover { transform:translateY(-2px); background:#008d45; }
.page-footer { padding:65px 0 24px; background:#fafbf9; color:var(--ink); }.page-footer__grid { display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:32px; padding-bottom:52px; }.page-footer__brand { display:inline-flex; align-items:center; min-height:53px; padding:4px 12px; border-radius:14px; background:var(--deep); }.page-footer__brand img { display:block; width:151px; height:44px; object-fit:contain; }.page-footer__intro { max-width:235px; margin:17px 0 0; color:var(--muted); font-size:11px; line-height:1.7; }.page-footer__column h2 { margin:4px 0 17px; font-size:12px; font-weight:600; }.page-footer__column a { display:block; width:max-content; max-width:100%; margin:0 0 13px; color:#465a4c; font-size:11px; line-height:1.45; }.page-footer__column a:hover { color:var(--green-deep); }.page-footer__row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:22px; border-top:1px solid var(--line); color:#465a4c; font-size:10px; }.page-footer__legal,.page-footer__settings { display:flex; flex-wrap:wrap; gap:11px; align-items:center; }.page-footer__legal a:hover { color:var(--green-deep); }
@media (max-width:800px) { .page-links { display:none; }.stay-cards,.process-grid,.package-cards { grid-template-columns:1fr 1fr; }.stay-card:first-child,.package-card:first-child { grid-column:1 / -1; }.journal-grid { grid-template-columns:1fr 1fr; }.journal-grid .story-card:first-child { grid-column:1 / -1; }.assurance,.package-builder { grid-template-columns:1fr; gap:25px; }.page-footer__grid { grid-template-columns:1.2fr 1fr 1fr; }.page-footer__column:last-child { grid-column:2; } }
@media (max-width:540px) { .page-container { width:min(100% - 32px,1180px); }.page-nav__inner { min-height:65px; }.page-signin { display:none; }.page-brand__logo { width:139px; height:48px; }.page-join { min-height:36px; }.page-hero,.package-hero { padding:60px 0 47px; }.page-title { font-size:49px; }.page-search { grid-template-columns:1fr; border-radius:18px; }.page-search label,.pax-picker { min-height:53px; border-right:0; border-bottom:1px solid var(--line); }.page-search > button { width:100%; height:43px; margin:5px 0 0; border-radius:13px; font-size:12px; }.page-search > button::after { content:' Search stays'; }.package-page .page-search > button::after { content:' Search packages'; }.pax-dropdown { right:auto; left:0; width:min(330px,100vw - 64px); }.page-main { padding:50px 0 70px; }.page-head h2 { font-size:34px; }.stay-cards,.process-grid,.journal-grid,.package-cards { grid-template-columns:1fr; }.stay-card:first-child,.journal-grid .story-card:first-child,.package-card:first-child { grid-column:auto; }.stay-card__photo,.package-card__photo { height:240px; }.assurance,.package-builder { margin-top:50px; padding:28px; }.assurance h2,.package-builder h2 { font-size:39px; }.page-footer { padding-top:47px; }.page-footer__grid { grid-template-columns:1fr 1fr; gap:29px 20px; padding-bottom:38px; }.page-footer__column:last-child { grid-column:auto; }.page-footer__intro { margin-top:13px; }.page-footer__row { align-items:flex-start; flex-direction:column; gap:13px; } }
