/* ── Reset ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', Helvetica, sans-serif; color: #2C2C2C; background: #fff; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
strong { font-weight: 500; }
.body-text strong { color: var(--txt); }

/* ── Tokens ── */
:root {
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'DM Sans', Helvetica, sans-serif;
  --teal: #1A5F5A;
  --teal-dk: #134845;
  --navy: #1E2A38;
  --gold: #C9A962;
  --cream: #F8F6F3;
  --txt: #2C2C2C;
  --txt-light: #6B6B6B;
}

/* ── Utility ── */
.tag { font-family: var(--sans); font-size: 0.7rem; font-weight: 500; letter-spacing: 0.28em; text-transform: uppercase; color: var(--teal); margin-bottom: 1.2rem; }
.tag--gold { color: var(--gold); }
.tag--white { color: rgba(255,255,255,0.7); }
.section-h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.18; color: var(--txt); margin-bottom: 1.4rem; }
.section-h2 em { font-style: italic; color: var(--teal); }
.section-h2--white { color: #fff; }
.section-h2--white em { color: var(--gold); }
.body-text { font-size: 0.95rem; font-weight: 300; line-height: 1.78; color: var(--txt-light); max-width: 560px; }
.hairline { display: block; width: 48px; height: 1px; background: var(--gold); margin: 0 auto 1.4rem; }
.img-cover { position: absolute; inset: 0; background-size: cover; background-position: center; }

/* ── Scroll reveal ── */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.9s ease, transform 0.9s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ── Nav ── */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 1.3rem 3.5rem; transition: all 0.5s; }
.nav.scrolled, .nav--solid { padding: 0.8rem 3.5rem; background: rgba(255,255,255,0.96); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(0,0,0,0.06); }
.nav__logo { font-family: var(--sans); font-weight: 600; font-size: 1.1rem; letter-spacing: 0.24em; text-transform: uppercase; color: #fff; cursor: pointer; transition: color 0.5s; }
.nav.scrolled .nav__logo, .nav--solid .nav__logo { color: var(--teal); }
.nav__links { display: flex; gap: 2rem; align-items: center; }
.nav__link { font-size: 0.76rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; color: rgba(255,255,255,0.85); transition: color 0.4s; }
.nav.scrolled .nav__link, .nav--solid .nav__link { color: #2C2C2C; }
.nav__cta { font-size: 0.76rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; color: #fff; padding: 0.55rem 1.3rem; border-radius: 2px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.3); transition: all 0.4s; }
.nav.scrolled .nav__cta, .nav--solid .nav__cta { background: var(--teal); border-color: var(--teal); }

/* ── Hero ── */
.hero { min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; background: url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=1920&q=80') center/cover; animation: kenBurns 22s ease-out both; }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,38,35,0.5) 0%, rgba(20,30,28,0.35) 45%, rgba(30,42,56,0.75) 100%); }
.hero__content { text-align: center; position: relative; z-index: 2; padding: 0 2rem; max-width: 980px; }
.hero__eyebrow { font-family: var(--sans); font-size: 0.7rem; font-weight: 500; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); margin-bottom: 2.4rem; animation: fadeUp 0.9s ease 0.4s both; }
.hero__title { font-family: var(--serif); font-weight: 300; font-size: clamp(3rem, 7vw, 5.6rem); line-height: 1.05; color: #fff; margin-bottom: 2rem; animation: fadeUp 1.1s cubic-bezier(0.22,1,0.36,1) 0.7s both; }
.hero__title em { font-style: italic; font-weight: 400; color: #E8D5A3; }
.hero__sub { font-size: 1.05rem; font-weight: 300; line-height: 1.8; color: rgba(255,255,255,0.78); max-width: 580px; margin: 0 auto 1.2rem; animation: fadeUp 0.9s ease 1s both; }
.hero__base { font-size: 0.78rem; font-weight: 400; letter-spacing: 0.1em; color: rgba(255,255,255,0.5); margin-bottom: 3rem; animation: fadeUp 0.9s ease 1.1s both; }
.hero__buttons { display: inline-flex; gap: 1rem; animation: fadeUp 0.9s ease 1.3s both; flex-wrap: wrap; justify-content: center; }
.btn-outline { display: inline-block; font-size: 0.78rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; border: 1px solid rgba(255,255,255,0.4); padding: 1.05rem 2.8rem; backdrop-filter: blur(8px); background: rgba(255,255,255,0.06); cursor: pointer; transition: background 0.3s; }
.btn-outline:hover { background: rgba(255,255,255,0.14); }
.btn-gold { display: inline-block; font-size: 0.78rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal-dk); padding: 1.05rem 2.8rem; background: var(--gold); cursor: pointer; transition: opacity 0.3s; }
.btn-gold:hover { opacity: 0.88; }

/* ── Corner accents ── */
.hero__corner { position: absolute; z-index: 3; background: rgba(201,169,98,0.6); animation: fadeIn 1.2s ease 1.8s both; }
.hero__corner--tl-h { top: 96px; left: 56px; width: 60px; height: 1px; }
.hero__corner--tl-v { top: 96px; left: 56px; width: 1px; height: 60px; }
.hero__corner--br-h { bottom: 96px; right: 56px; width: 60px; height: 1px; }
.hero__corner--br-v { bottom: 96px; right: 56px; width: 1px; height: 60px; }

/* ── Scroll cue ── */
.scroll-cue { position: absolute; bottom: 38px; left: 50%; transform: translateX(-50%); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 10px; animation: fadeIn 1s ease 2s both; }
.scroll-cue span { font-size: 0.64rem; font-weight: 500; letter-spacing: 0.3em; color: rgba(255,255,255,0.5); text-transform: uppercase; }
.scroll-cue__line { width: 1px; height: 40px; background: linear-gradient(180deg, rgba(255,255,255,0.4), transparent); animation: float1 2.4s ease-in-out infinite; }

/* ── Problem / Approach ── */
.problem { padding: 6rem 3.5rem; background: #fff; }
.problem__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.approach { display: grid; grid-template-columns: 1fr 1fr; min-height: 50vh; background: var(--cream); }
.approach__text { display: flex; flex-direction: column; justify-content: center; padding: 4rem 2.5rem 4rem 4rem; }
.approach__img { position: relative; min-height: 360px; }

/* ── Why UnDone ── */
.why { padding: 7rem 3.5rem; background: var(--cream); text-align: center; }
.why__inner { max-width: 880px; margin: 0 auto; }
.why__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 3.2rem; margin-top: 2.6rem; text-align: left; }
.why__cols .body-text { max-width: none; }
.why__close { max-width: 600px; margin: 3.4rem auto 0; font-family: var(--serif); font-style: italic; font-size: 1.16rem; line-height: 1.62; color: var(--txt); }

/* ── Quote divider ── */
.quote-divider { height: 50vh; min-height: 360px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.quote-divider__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,30,28,0.35) 0%, rgba(26,95,90,0.4) 100%); }
.quote-divider__text { position: relative; z-index: 2; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(1.3rem, 2.5vw, 1.9rem); line-height: 1.6; max-width: 700px; color: #fff; text-align: center; padding: 2rem; }

/* ── Pillars: Think Move Connect Reset ── */
.pillars { padding: 7rem 3.5rem; background: var(--navy); position: relative; overflow: hidden; }
.pillars__watermark { position: absolute; top: 2rem; left: -1rem; font-family: var(--serif); font-style: italic; font-size: clamp(8rem, 18vw, 18rem); font-weight: 300; line-height: 0.8; color: rgba(201,169,98,0.06); pointer-events: none; user-select: none; }
.pillars__grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5rem; }
.pillar { border-left: 1px solid var(--gold); padding-left: 1.8rem; }
.pillar__title { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; color: #fff; margin-bottom: 0.5rem; font-style: italic; }
.pillar__body { font-size: 0.9rem; font-weight: 300; line-height: 1.75; color: rgba(255,255,255,0.62); }

/* ── What We Do (3 offers) ── */
.offers { padding: 7rem 3.5rem 5rem; position: relative; overflow: hidden; }
.offers__watermark { position: absolute; top: 2rem; right: -1rem; font-family: var(--serif); font-style: italic; font-size: clamp(14rem, 28vw, 28rem); font-weight: 300; line-height: 0.8; color: rgba(26,95,90,0.045); pointer-events: none; user-select: none; }
.offers__grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; position: relative; z-index: 2; }
.offer-card { position: relative; overflow: hidden; min-height: 580px; display: flex; flex-direction: column; justify-content: flex-end; padding: 2.5rem 2rem; border-radius: 3px; }
.offer-card__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 1.2s cubic-bezier(0.22,1,0.36,1); }
.offer-card:hover .offer-card__bg { transform: scale(1.04); }
.offer-card__overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,18,16,0.94) 0%, rgba(12,22,20,0.4) 50%, rgba(12,22,20,0.1) 100%); }
.offer-card__content { position: relative; z-index: 2; }
.offer-card__num { font-family: var(--serif); font-size: 4.4rem; font-weight: 300; color: var(--gold); opacity: 0.55; line-height: 1; margin-bottom: 0.5rem; font-style: italic; }
.offer-card__rule { width: 32px; height: 1px; background: var(--gold); margin-bottom: 1rem; }
.offer-card__title { font-family: var(--serif); font-weight: 400; font-size: 1.7rem; color: #fff; margin-bottom: 0.7rem; }
.offer-card__desc { font-size: 0.88rem; font-weight: 300; line-height: 1.75; color: rgba(255,255,255,0.78); max-width: 340px; }
.offer-card__price { display: inline-block; margin-top: 1.1rem; font-size: 0.7rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); }

/* ── Designed For ── */
.designed { padding: 7rem 3.5rem; background: var(--cream); }
.designed__intro { max-width: 720px; margin: 0 auto; text-align: center; }
.designed__grid { max-width: 1040px; margin: 4.5rem auto 0; display: grid; grid-template-columns: 1fr 1fr; }
.designed__col { padding: 0 3.4rem; display: flex; flex-direction: column; align-items: flex-start; }
.designed__col:first-child { padding-left: 0; }
.designed__col:last-child { padding-right: 0; border-left: 1px solid rgba(30,42,56,0.10); }
.designed__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1.2rem; margin-bottom: 1.4rem; }
.designed__title { font-family: var(--serif); font-weight: 400; font-size: 1.65rem; line-height: 1.2; color: var(--txt); }
.designed__label { display: inline-flex; align-items: center; gap: 0.55rem; flex-shrink: 0; font-size: 0.62rem; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold); white-space: nowrap; }
.designed__label::before { content: ""; display: block; width: 18px; height: 1px; background: var(--gold); }
.designed__body { font-size: 0.92rem; font-weight: 300; line-height: 1.8; color: var(--txt-light); margin-bottom: 1rem; }
.designed__meta { list-style: none; width: 100%; margin: 2rem 0 2.2rem; }
.designed__grid .designed__meta { margin-top: auto; }
.designed__meta li { font-size: 0.8rem; font-weight: 400; letter-spacing: 0.03em; color: var(--txt); padding: 0.75rem 0; border-top: 1px solid rgba(30,42,56,0.09); }
.designed__meta li:last-child { border-bottom: 1px solid rgba(30,42,56,0.09); }
.designed__cta { display: inline-block; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--teal); padding-bottom: 0.4rem; border-bottom: 1px solid rgba(26,95,90,0.3); transition: color 0.4s, border-color 0.4s; }
.designed__cta:hover { color: var(--teal-dk); border-bottom-color: var(--teal); }
.designed__foot { max-width: 1040px; margin: 4.5rem auto 0; text-align: center; font-family: var(--serif); font-style: italic; font-size: 0.95rem; color: var(--txt-light); }

/* ── The Experience ── */
.experience { display: grid; grid-template-columns: 1fr 1fr; min-height: 70vh; background: var(--cream); }
.experience__text { padding: 6rem 4rem 6rem 6rem; display: flex; flex-direction: column; justify-content: center; }
.experience__blocks { display: flex; flex-direction: column; gap: 0.9rem; max-width: 560px; }
.exp-block { background: rgba(255,255,255,0.7); padding: 1.4rem 1.6rem; border-radius: 2px; }
.exp-block__title { font-family: var(--serif); font-weight: 500; font-size: 1.2rem; color: var(--navy); margin-bottom: 0.5rem; }
.exp-block__desc { font-size: 0.9rem; font-weight: 300; line-height: 1.65; color: var(--txt-light); }
.experience__img { position: relative; min-height: 500px; }

/* ── Activities ── */
.activities { padding: 7rem 3.5rem; background: #fff; }
.activities__grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 4rem; row-gap: 2.8rem; }
.activity { display: grid; grid-template-columns: 48px 1fr; gap: 1.2rem; align-items: start; }
.activity__icon { padding-top: 2px; }
.activity__title { font-family: var(--serif); font-weight: 500; font-size: 1.15rem; color: var(--navy); margin-bottom: 0.35rem; }
.activity__desc { font-size: 0.9rem; font-weight: 300; line-height: 1.7; color: var(--txt-light); }

/* ── How It Works ── */
.hiw { display: grid; grid-template-columns: 1fr 1fr; min-height: 85vh; }
.hiw__img { position: relative; overflow: hidden; }
.hiw__img-fade { position: absolute; inset: 0; background: linear-gradient(270deg, var(--navy) 0%, transparent 45%); }
.hiw__content { background: var(--navy); padding: 5rem 4rem; display: flex; flex-direction: column; justify-content: center; }
.hiw__steps { max-width: 460px; }
.hiw-step { display: grid; grid-template-columns: 44px 1fr; gap: 1.2rem; padding: 1.3rem 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
.hiw-step:last-child { border-bottom: none; }
.hiw-step__num { font-family: var(--serif); font-size: 1.8rem; font-weight: 300; color: var(--gold); line-height: 1; }
.hiw-step__title { font-family: var(--serif); font-weight: 400; font-size: 1.12rem; color: #fff; margin-bottom: 0.25rem; }
.hiw-step__desc { font-size: 0.87rem; font-weight: 300; line-height: 1.7; color: rgba(255,255,255,0.58); }

/* ── Destinations ── */
.destinations { padding: 8rem 3.5rem 6rem; background: var(--cream); position: relative; overflow: hidden; }
.destinations__watermark { position: absolute; top: 3rem; left: -2rem; font-family: var(--serif); font-style: italic; font-size: clamp(10rem, 22vw, 22rem); font-weight: 300; line-height: 0.8; color: rgba(26,95,90,0.05); pointer-events: none; user-select: none; }
.destinations__grid { max-width: 1260px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; position: relative; z-index: 2; }
.dest-card { position: relative; overflow: hidden; height: 280px; border-radius: 3px; }
.dest-card__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 1.4s cubic-bezier(0.22,1,0.36,1); }
.dest-card:hover .dest-card__bg { transform: scale(1.08); }
.dest-card__overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.1) 60%); }
.dest-card__label { position: absolute; bottom: 1.2rem; left: 1.3rem; z-index: 2; }
.dest-card__name { font-family: var(--serif); font-weight: 400; font-size: 1.3rem; color: #fff; margin-bottom: 4px; }
.dest-card__sub { font-size: 0.7rem; font-weight: 400; letter-spacing: 0.08em; color: rgba(255,255,255,0.65); text-transform: uppercase; }

/* ── Values ── */
.values { padding: 8rem 3.5rem; background: var(--navy); position: relative; overflow: hidden; }
.values__watermark { position: absolute; top: -2rem; left: 50%; transform: translateX(-50%); font-family: var(--serif); font-style: italic; font-size: clamp(10rem, 22vw, 22rem); font-weight: 300; line-height: 0.8; color: rgba(201,169,98,0.06); pointer-events: none; user-select: none; white-space: nowrap; }
.values__row { max-width: 1060px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; }
.values__row + .values__row { margin-top: 2.5rem; }
.value { border-left: 1px solid var(--gold); padding-left: 1.8rem; padding-top: 0.3rem; padding-bottom: 0.3rem; }
.value__title { font-family: var(--serif); font-size: 1.3rem; font-weight: 400; color: #fff; margin-bottom: 0.6rem; font-style: italic; }
.value__desc { font-size: 0.9rem; font-weight: 300; line-height: 1.75; color: rgba(255,255,255,0.62); }

/* ── Who We Are ── */
.founders { padding: 8rem 3.5rem; position: relative; overflow: hidden; }
.founders__watermark { position: absolute; top: 3rem; right: -1rem; font-family: var(--serif); font-style: italic; font-size: clamp(10rem, 20vw, 20rem); font-weight: 300; line-height: 0.8; color: rgba(26,95,90,0.05); pointer-events: none; user-select: none; }
.founders__grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; position: relative; z-index: 2; }
.founder-card { background: var(--cream); padding: 2.5rem; border-radius: 3px; display: grid; grid-template-columns: 160px 1fr; gap: 2rem; align-items: start; transition: transform 0.4s, box-shadow 0.4s; }
.founder-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.08); }
.founder-card__photo { width: 160px; height: 200px; border-radius: 2px; background-size: cover; background-position: center; border: 1px solid var(--gold); box-shadow: 0 12px 40px rgba(0,0,0,0.1); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 3.2rem; font-weight: 300; color: #fff; }
.founder-card__role { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.5rem; }
.founder-card__name { font-family: var(--serif); font-weight: 400; font-size: 1.9rem; margin-bottom: 1rem; line-height: 1.1; }
.founder-card__rule { width: 28px; height: 1px; background: var(--gold); margin-bottom: 1rem; }
.founder-card__bio { font-size: 0.88rem; font-weight: 300; line-height: 1.75; color: var(--txt-light); }

/* ── Clients ── */
.clients { padding: 0 3.5rem 7rem; text-align: center; }
.clients__inner { max-width: 660px; margin: 0 auto; }
.clients__note { margin-top: 2rem; font-size: 0.8rem; font-weight: 300; letter-spacing: 0.03em; font-style: italic; font-family: var(--serif); color: var(--txt-light); }

/* ── CTA ── */
.cta { position: relative; text-align: center; padding: 10rem 3.5rem; overflow: hidden; }
.cta__bg { position: absolute; inset: 0; background: url('https://images.unsplash.com/photo-1533105079780-92b9be482077?w=1920&q=80') center/cover; animation: kenBurns 30s ease-out infinite alternate; }
.cta__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,95,90,0.9) 0%, rgba(19,72,69,0.96) 100%); }
.cta__content { position: relative; z-index: 2; }
.cta__h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.4rem, 5vw, 4rem); max-width: 720px; margin: 0 auto 1.5rem; line-height: 1.08; color: #fff; }
.cta__h2 em { font-style: italic; color: #E8D5A3; }
.cta__desc { color: rgba(255,255,255,0.72); max-width: 480px; margin: 0 auto 3rem; font-size: 0.98rem; line-height: 1.78; }
.btn-white { display: inline-block; font-size: 0.78rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--teal-dk); background: #fff; padding: 1.15rem 3rem; border-radius: 2px; transition: opacity 0.3s; }
.btn-white:hover { opacity: 0.88; }

/* ── Footer ── */
.footer { padding: 2.5rem 3.5rem; border-top: 1px solid rgba(0,0,0,0.06); display: flex; justify-content: space-between; align-items: center; }
.footer__brand { font-weight: 600; letter-spacing: 0.15em; color: var(--teal); text-transform: uppercase; font-size: 0.85rem; }
.footer__copy { font-size: 0.7rem; color: var(--txt-light); margin-top: 4px; }

/* ── Animations ── */
@keyframes kenBurns { 0% { transform: scale(1); } 100% { transform: scale(1.08); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes float1 { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

/* ── Mobile ── */
@media (max-width: 768px) {
  .nav__links { display: none; }
  .nav { padding: 1rem 1.5rem; }
  .nav.scrolled, .nav--solid { padding: 0.8rem 1.5rem; }
  .hero__title { font-size: clamp(2.4rem, 8vw, 3.6rem); }
  .hero__buttons { flex-direction: column; align-items: center; }
  .hero__corner { display: none; }
  .why { padding: 5rem 1.5rem; }
  .why__cols { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2rem; }
  .why__close { margin-top: 2.6rem; font-size: 1.05rem; }
  .approach { grid-template-columns: 1fr; }
  .approach__img { min-height: 280px; }
  .approach__text { padding: 3rem 1.5rem; }
  .pillars__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .offers__grid { grid-template-columns: 1fr; }
  .offer-card { min-height: 420px; }
  .designed__grid { grid-template-columns: 1fr; margin-top: 3rem; }
  .designed__col { padding: 0; }
  .designed__head { flex-direction: column-reverse; align-items: flex-start; gap: 0.9rem; }
  .designed__col:last-child { padding-left: 0; border-left: 0; border-top: 1px solid rgba(30,42,56,0.10); margin-top: 3rem; padding-top: 3rem; }
  .designed__foot { margin-top: 3rem; }
  .experience { grid-template-columns: 1fr; }
  .experience__text { padding: 3rem 1.5rem; }
  .experience__img { min-height: 300px; }
  .activities__grid { grid-template-columns: 1fr; }
  .hiw { grid-template-columns: 1fr; }
  .hiw__img { min-height: 300px; }
  .hiw__content { padding: 3rem 1.5rem; }
  .destinations__grid { grid-template-columns: repeat(2, 1fr); }
  .values__row { grid-template-columns: 1fr; gap: 2rem; }
  .clients { padding: 0 1.5rem 5rem; }
  .founders__grid { grid-template-columns: 1fr; }
  .founder-card { grid-template-columns: 1fr; text-align: center; }
  .founder-card__photo { margin: 0 auto; }
  .problem, .designed, .offers, .activities, .destinations, .founders { padding-left: 1.5rem; padding-right: 1.5rem; }
  .cta { padding: 6rem 1.5rem; }
  .footer { flex-direction: column; gap: 1rem; text-align: center; }
}

/* ── Page header (subpages) ── */
.pagehead { padding: 10.5rem 3.5rem 4.5rem; background: var(--cream); text-align: center; }
.pagehead__inner { max-width: 760px; margin: 0 auto; }
.pagehead__h1 { font-family: var(--serif); font-weight: 300; font-size: clamp(2.3rem, 5vw, 3.9rem); line-height: 1.08; color: var(--txt); margin-bottom: 1.4rem; }
.pagehead__h1 em { font-style: italic; color: var(--teal); }
.pagehead .body-text { margin: 0 auto; }

/* ── FAQ ── */
.faq { padding: 7rem 3.5rem; background: var(--cream); }
.faq__list { max-width: 780px; margin: 2.6rem auto 0; }
.faq__item { border-top: 1px solid rgba(30,42,56,0.09); padding: 1.7rem 0; }
.faq__item:last-child { border-bottom: 1px solid rgba(30,42,56,0.09); }
.faq__q { font-family: var(--serif); font-weight: 400; font-size: 1.25rem; color: var(--txt); margin-bottom: 0.6rem; }
.faq__a { font-size: 0.92rem; font-weight: 300; line-height: 1.8; color: var(--txt-light); }

/* ── Footer nav ── */
.footer__nav { display: flex; flex-wrap: wrap; gap: 1.4rem; justify-content: center; }
.footer__nav a { font-size: 0.75rem; letter-spacing: 0.06em; color: var(--txt-light); transition: color 0.3s; }
.footer__nav a:hover { color: var(--teal); }

@media (max-width: 768px) {
  .pagehead { padding: 7.5rem 1.5rem 3.5rem; }
  .faq { padding: 5rem 1.5rem; }
}
