:root {
  --green: #17351f;
  --green-2: #274d2f;
  --lime: #94b85f;
  --cream: #f4f0e7;
  --warm: #e6dfd1;
  --ink: #172018;
  --white: #fffef9;
  --line: rgba(23, 53, 31, .17);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ease: cubic-bezier(.2,.75,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
}
body.menu-open, body.lightbox-open { overflow: hidden; }
::selection { background: var(--lime); color: var(--green); }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; width: 100%; }
button { font: inherit; }

.grain {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  opacity: .028;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}

.cursor-dot, .cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  pointer-events: none;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  opacity: 0;
}
.cursor-dot { width: 5px; height: 5px; background: var(--lime); }
.cursor-ring { width: 34px; height: 34px; border: 1px solid rgba(148,184,95,.9); transition: width .25s, height .25s, background .25s; }
.cursor-ring.hover { width: 54px; height: 54px; background: rgba(148,184,95,.12); }
@media (pointer: fine) {
  body, a, button { cursor: none; }
  .cursor-dot, .cursor-ring { opacity: 1; }
}

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  height: 88px;
  display: grid;
  grid-template-columns: 230px 1fr 230px;
  align-items: center;
  padding: 0 clamp(22px,4.4vw,72px);
  transition: background .4s, height .4s, box-shadow .4s;
}
.site-header.scrolled {
  height: 72px;
  background: rgba(244,240,231,.91);
  backdrop-filter: blur(18px);
  box-shadow: 0 1px 0 rgba(23,53,31,.12);
}
.brand { width: 148px; display: flex; align-items: center; }
.brand img { max-height: 62px; object-fit: contain; object-position: left center; }
.main-nav { justify-self: center; display: flex; align-items: center; gap: clamp(24px,3vw,48px); }
.main-nav a { position: relative; font-size: 13px; font-weight: 650; letter-spacing: .045em; }
.main-nav a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s var(--ease);
}
.main-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.header-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  padding: 11px 15px 11px 21px;
  color: var(--cream);
  background: var(--green);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  transition: transform .3s var(--ease), background .3s;
}
.header-cta:hover { transform: translateY(-2px); background: var(--green-2); }
.header-cta svg { width: 31px; height: 31px; padding: 8px; border-radius: 50%; background: var(--lime); fill: none; stroke: var(--green); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.header-cta.whatsapp-cta svg { fill: var(--green); stroke: none; }
.menu-toggle { display: none; }

.hero {
  min-height: 790px;
  height: min(900px,100svh);
  padding: 132px clamp(22px,5.5vw,92px) 60px;
  display: grid;
  grid-template-columns: minmax(420px,.9fr) minmax(500px,1.12fr);
  gap: clamp(42px,6vw,110px);
  align-items: center;
  overflow: hidden;
  position: relative;
}
.hero::before {
  content: '';
  position: absolute;
  width: 430px;
  height: 430px;
  left: -280px;
  top: 70px;
  border: 1px solid rgba(23,53,31,.13);
  border-radius: 50%;
}
.eyebrow { display: inline-flex; align-items: center; gap: 12px; text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 750; color: var(--green-2); }
.eyebrow i { display: inline-block; width: 24px; height: 1px; background: currentColor; }
.eyebrow.light { color: rgba(255,254,249,.68); }
.hero h1 {
  margin: 23px 0 24px;
  font-family: var(--serif);
  font-size: clamp(53px,5.3vw,82px);
  line-height: .98;
  font-weight: 400;
  letter-spacing: -.046em;
  color: var(--green);
}
.hero h1 em, .section-heading h2 em, .contact h2 em { color: var(--lime); font-weight: 400; }
.hero-copy > p { max-width: 520px; margin: 0 0 30px; color: rgba(23,32,24,.72); font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.btn {
  min-height: 50px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .02em;
  transition: transform .3s var(--ease), box-shadow .3s, background .3s, color .3s;
}
.btn:hover { transform: translateY(-3px); }
.btn-primary { color: var(--cream); background: var(--green); box-shadow: 0 12px 30px rgba(23,53,31,.13); }
.btn-primary:hover { box-shadow: 0 16px 36px rgba(23,53,31,.23); }
.btn-whatsapp { gap: 10px; }
.btn-whatsapp svg { width: 17px; height: 17px; flex: 0 0 auto; fill: currentColor; }
.btn-link { padding: 0; min-height: auto; border-radius: 0; gap: 14px; border-bottom: 1px solid var(--green); }
.btn-link span { font-size: 18px; }
.hero-proof { margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--line); max-width: 440px; display: flex; gap: 18px; align-items: center; }
.stars { color: var(--lime); letter-spacing: 3px; font-size: 14px; }
.hero-proof div:last-child { display: flex; flex-direction: column; }
.hero-proof strong { font-size: 13px; color: var(--green); }
.hero-proof span { font-size: 11px; color: rgba(23,32,24,.58); }
.hero-visual { height: 100%; min-height: 590px; position: relative; display: flex; align-items: center; }
.hero-image-wrap { position: relative; width: 100%; height: min(690px,77vh); overflow: hidden; border-radius: 48% 48% 6px 6px / 22% 22% 6px 6px; background: var(--warm); }
.hero-image-wrap img { height: 100%; object-fit: cover; object-position: 48% 50%; transition: transform 1.2s var(--ease); }
.hero-image-wrap:hover img { transform: scale(1.025); }
.hero-image-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(12,32,18,.15), transparent 35%); }
.hero-shape { position: absolute; inset: 15px; border: 1px solid rgba(255,255,255,.38); border-radius: inherit; z-index: 1; }
.floating-note { position: absolute; left: -66px; bottom: 45px; z-index: 3; width: 205px; padding: 23px 22px; background: var(--white); box-shadow: 0 20px 55px rgba(23,53,31,.14); }
.floating-note span { display: block; color: rgba(23,32,24,.55); font-family: var(--serif); font-style: italic; font-size: 12px; }
.floating-note strong { display: block; margin-top: 4px; color: var(--green); font-family: var(--serif); font-size: 19px; line-height: 1.2; font-weight: 400; }
.scroll-mark { position: absolute; right: -61px; bottom: 0; transform: rotate(90deg); transform-origin: right bottom; font-size: 9px; font-weight: 750; letter-spacing: .18em; color: rgba(23,53,31,.55); display: flex; align-items: center; gap: 12px; }
.scroll-mark i { display: inline-block; width: 55px; height: 1px; background: currentColor; }

.manifesto {
  padding: 105px clamp(22px,5.5vw,92px);
  display: grid;
  grid-template-columns: .34fr 1.2fr .82fr;
  gap: clamp(30px,5vw,90px);
  border-top: 1px solid var(--line);
  align-items: start;
}
.manifesto-index { font-family: var(--serif); font-size: 24px; color: var(--lime); }
.manifesto-title span { text-transform: uppercase; font-size: 10px; letter-spacing: .16em; font-weight: 750; }
.manifesto-title h2 { margin: 18px 0 0; max-width: 700px; font-family: var(--serif); font-size: clamp(35px,3.45vw,56px); line-height: 1.08; font-weight: 400; letter-spacing: -.035em; color: var(--green); }
.manifesto-text { padding-top: 37px; }
.manifesto-text p { margin: 0 0 28px; color: rgba(23,32,24,.68); }
.manifesto-text a { display: inline-flex; gap: 10px; align-items: center; padding-bottom: 5px; border-bottom: 1px solid var(--green); font-size: 12px; font-weight: 750; }

.collections { padding: 115px clamp(22px,5.5vw,92px) 130px; background: var(--white); }
.section-heading { margin-bottom: 62px; display: grid; grid-template-columns: 1.1fr .65fr; gap: 80px; align-items: end; }
.section-heading h2 { margin: 20px 0 0; font-family: var(--serif); color: var(--green); font-size: clamp(43px,4.4vw,70px); line-height: .98; letter-spacing: -.045em; font-weight: 400; }
.section-heading > p { margin: 0 0 7px; color: rgba(23,32,24,.65); max-width: 410px; }
.collection-grid { display: grid; grid-template-columns: 1.05fr .8fr .8fr; gap: 18px; align-items: stretch; }
.collection-card { min-height: 540px; position: relative; overflow: hidden; background: var(--warm); cursor: pointer; }
.collection-card.large { min-height: 620px; }
.collection-card img { height: 100%; object-fit: cover; transition: transform .9s var(--ease), filter .9s; }
.collection-card:nth-child(2) img { object-position: center 20%; }
.collection-card:hover img { transform: scale(1.045); filter: saturate(.9); }
.collection-card::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(8,25,13,.74),transparent 48%); }
.card-overlay { position:absolute; z-index:2; inset:auto 22px 22px 22px; color:white; display:grid; grid-template-columns: 34px 1fr 40px; gap:14px; align-items:end; }
.card-overlay > span { font-family:var(--serif); color:var(--lime); font-size:13px; padding-bottom:4px; }
.card-overlay small { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.13em; opacity:.72; }
.card-overlay h3 { margin:4px 0 0; font-family:var(--serif); font-weight:400; font-size:24px; line-height:1.1; }
.card-overlay button { width:38px; height:38px; border:1px solid rgba(255,255,255,.45); background:rgba(255,255,255,.08); backdrop-filter:blur(10px); border-radius:50%; color:white; }

.experience { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 760px; background: var(--green); color: var(--white); }
.experience-media { min-height: 760px; position: relative; overflow: hidden; }
.experience-media img { height: 100%; object-fit: cover; }
.experience-media::after { content:''; position:absolute; inset:0; background:linear-gradient(to right,transparent 70%,rgba(23,53,31,.2)); }
.experience-badge { position:absolute; right:-52px; top:50%; z-index:2; transform:translateY(-50%); width:118px; height:118px; border-radius:50%; background:var(--lime); color:var(--green); display:flex; flex-direction:column; align-items:center; justify-content:center; border:7px solid var(--green); }
.experience-badge strong { font-family:var(--serif); font-size:31px; line-height:1; }
.experience-badge span { font-size:9px; letter-spacing:1px; margin:4px 0 1px; }
.experience-badge small { font-size:8px; text-transform:uppercase; letter-spacing:.13em; font-weight:800; }
.experience-copy { padding: 110px clamp(50px,6vw,100px); display:flex; flex-direction:column; justify-content:center; }
.experience-copy h2 { margin:22px 0 24px; font-family:var(--serif); font-size:clamp(40px,4vw,62px); line-height:1.03; font-weight:400; letter-spacing:-.04em; }
.experience-copy > p { color:rgba(255,254,249,.64); max-width:520px; margin:0 0 40px; }
.feature-list { border-top:1px solid rgba(255,255,255,.13); }
.feature-list > div { display:grid; grid-template-columns:38px 1fr; gap:16px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.feature-list span { color:var(--lime); font-family:var(--serif); }
.feature-list p { margin:0; color:rgba(255,254,249,.55); font-size:13px; }
.feature-list strong { display:block; color:white; font-size:14px; margin-bottom:2px; }

.gallery-section { padding: 125px clamp(22px,5.5vw,92px); }
.gallery-head { display:grid; grid-template-columns:.45fr 1fr .5fr; align-items:end; gap:30px; margin-bottom:50px; }
.gallery-head > span { align-self:start; font-size:10px; text-transform:uppercase; letter-spacing:.16em; font-weight:750; color:var(--lime); }
.gallery-head h2 { margin:0; font-family:var(--serif); font-size:clamp(42px,4.1vw,65px); line-height:1.02; letter-spacing:-.045em; font-weight:400; color:var(--green); }
.gallery-head h2 em { color:var(--lime); font-weight:400; }
.gallery-head a { justify-self:end; margin-bottom:8px; font-size:12px; font-weight:750; border-bottom:1px solid currentColor; }
.gallery-mosaic { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:95px; gap:15px; }
.gallery-item { position:relative; overflow:hidden; border:0; padding:0; background:var(--warm); }
.gallery-item img { height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-item::after { content:'↗'; position:absolute; right:14px; bottom:14px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:white; background:rgba(23,53,31,.63); backdrop-filter:blur(8px); opacity:0; transform:translateY(8px); transition:.35s var(--ease); }
.gallery-item:hover::after { opacity:1; transform:none; }
.g1 { grid-column:1/5; grid-row:1/5; }
.g2 { grid-column:5/8; grid-row:1/4; }
.g3 { grid-column:8/13; grid-row:1/5; }
.g4 { grid-column:1/4; grid-row:5/8; }
.g5 { grid-column:4/9; grid-row:4/8; }
.g6 { grid-column:9/13; grid-row:5/8; }

.testimonial { padding: 110px clamp(22px,7vw,120px); background:var(--white); display:grid; grid-template-columns:.25fr 1fr .45fr; gap:50px; align-items:center; }
.quote-mark { align-self:start; font-family:var(--serif); font-size:110px; line-height:.7; color:var(--lime); }
.testimonial blockquote { margin:0; }
.testimonial blockquote > p { margin:0 0 35px; max-width:820px; font-family:var(--serif); color:var(--green); font-size:clamp(38px,4vw,64px); line-height:1.08; letter-spacing:-.04em; font-weight:400; }
.testimonial footer { display:flex; flex-direction:column; }
.testimonial footer span { font-size:13px; font-weight:800; }
.testimonial footer small { color:rgba(23,32,24,.55); font-size:11px; }
.testimonial-image { width:170px; aspect-ratio:3/4; justify-self:end; overflow:hidden; border-radius:80px 80px 5px 5px; }
.testimonial-image img { height:100%; object-fit:cover; object-position:center 20%; }

.contact { padding: 120px clamp(22px,7vw,120px); background:var(--green); color:white; display:grid; grid-template-columns:1fr .62fr; gap:clamp(60px,10vw,170px); }
.contact h2 { margin:22px 0; font-family:var(--serif); font-size:clamp(49px,5.2vw,80px); line-height:.98; letter-spacing:-.045em; font-weight:400; }
.contact-main > p { color:rgba(255,255,255,.6); max-width:530px; }
.contact-actions { margin-top:36px; display:flex; gap:14px; flex-wrap:wrap; }
.btn-cream { background:var(--cream); color:var(--green); }
.btn-outline { border:1px solid rgba(255,255,255,.3); color:white; }
.btn-outline:hover { background:rgba(255,255,255,.08); }
.contact-info { border-top:1px solid rgba(255,255,255,.17); }
.info-row { padding:23px 0; border-bottom:1px solid rgba(255,255,255,.17); display:grid; grid-template-columns:110px 1fr; gap:25px; }
.info-row > span { font-size:9px; text-transform:uppercase; letter-spacing:.15em; color:var(--lime); font-weight:800; }
.info-row p, .info-row a { margin:0; font-family:var(--serif); font-size:19px; line-height:1.4; }
.route-link { margin-top:26px; display:flex; justify-content:space-between; align-items:center; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.5); font-size:12px; font-weight:750; }
.route-link span { font-size:18px; }

.site-footer { padding:75px clamp(22px,5.5vw,92px) 25px; background:#102617; color:white; display:grid; grid-template-columns:1.3fr .65fr .65fr; gap:70px; }
.footer-brand img { width:180px; max-height:90px; object-fit:contain; object-position:left; filter:brightness(0) invert(1); opacity:.92; }
.footer-brand p { margin:18px 0 0; font-family:var(--serif); color:rgba(255,255,255,.55); font-size:17px; line-height:1.3; }
.footer-links, .footer-social { display:flex; flex-direction:column; gap:13px; font-size:12px; color:rgba(255,255,255,.67); }
.footer-links a:hover, .footer-social a:hover { color:white; }
.footer-bottom { grid-column:1/-1; margin-top:35px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:grid; grid-template-columns:1fr 1fr auto; gap:30px; font-size:9px; text-transform:uppercase; letter-spacing:.13em; color:rgba(255,255,255,.38); }

.quick-actions { position:fixed; z-index:90; right:20px; bottom:20px; display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.quick-actions a { min-width:47px; height:47px; border-radius:999px; display:flex; align-items:center; justify-content:center; transition:transform .3s var(--ease), box-shadow .3s, background .3s; }
.quick-actions a:hover { transform:translateY(-4px) scale(1.02); }
.quick-actions .quick-whatsapp { gap:9px; padding:0 17px 0 13px; color:var(--green); background:rgba(255,254,249,.96); border:1px solid rgba(23,53,31,.16); box-shadow:0 12px 32px rgba(23,53,31,.17); backdrop-filter:blur(12px); }
.quick-actions .quick-whatsapp:hover { background:var(--white); box-shadow:0 16px 38px rgba(23,53,31,.23); }
.quick-actions .quick-whatsapp span { font-size:12px; font-weight:750; letter-spacing:.01em; }
.quick-actions .quick-whatsapp svg { width:20px; height:20px; fill:var(--green); }

.lightbox { position:fixed; inset:0; z-index:10001; display:grid; place-items:center; padding:5vw; background:rgba(8,20,11,.92); backdrop-filter:blur(10px); opacity:0; visibility:hidden; transition:.35s; }
.lightbox.open { opacity:1; visibility:visible; }
.lightbox img { max-width:min(1000px,88vw); max-height:88vh; width:auto; height:auto; box-shadow:0 25px 80px rgba(0,0,0,.4); transform:scale(.96); transition:transform .45s var(--ease); }
.lightbox.open img { transform:scale(1); }
.lightbox-close { position:absolute; top:22px; right:28px; border:0; background:none; color:white; font-size:36px; font-weight:200; }

.reveal { opacity:0; transform:translateY(25px); transition:opacity .85s var(--ease), transform .85s var(--ease); }
.reveal.delay-1 { transition-delay:.12s; }
.reveal.delay-2 { transition-delay:.24s; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns:190px 1fr 180px; padding-inline:28px; }
  .main-nav { gap:22px; }
  .hero { grid-template-columns:.92fr 1fr; gap:55px; padding-inline:45px; }
  .hero h1 { font-size:58px; }
  .floating-note { left:-38px; }
  .collection-card { min-height:470px; }
  .collection-card.large { min-height:550px; }
  .experience-copy { padding:85px 55px; }
}

@media (max-width: 880px) {
  .site-header { height:72px; grid-template-columns:1fr auto; padding-inline:22px; }
  .brand { width:128px; z-index:2; }
  .header-cta { display:none; }
  .menu-toggle { position:relative; z-index:2; display:grid; place-items:center; width:42px; height:42px; border:0; border-radius:50%; background:var(--green); }
  .menu-toggle span { position:absolute; width:17px; height:1px; background:white; transition:.35s; }
  .menu-toggle span:first-child { transform:translateY(-3px); }
  .menu-toggle span:last-child { transform:translateY(3px); }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:rotate(-45deg); }
  .main-nav { position:fixed; inset:0; padding:120px 30px 60px; background:var(--cream); flex-direction:column; align-items:flex-start; justify-content:center; gap:25px; transform:translateY(-105%); transition:.55s var(--ease); }
  .main-nav.open { transform:none; }
  .main-nav a { font-family:var(--serif); font-size:36px; font-weight:400; letter-spacing:-.03em; }
  .hero { height:auto; min-height:0; padding:120px 22px 75px; grid-template-columns:1fr; gap:55px; }
  .hero-copy { max-width:680px; }
  .hero h1 { font-size:clamp(48px,12vw,72px); }
  .hero-visual { min-height:560px; max-width:680px; width:100%; justify-self:center; }
  .hero-image-wrap { height:560px; }
  .floating-note { left:14px; bottom:25px; }
  .scroll-mark { display:none; }
  .manifesto { grid-template-columns:70px 1fr; padding:85px 22px; gap:25px; }
  .manifesto-text { grid-column:2; padding-top:0; }
  .collections { padding:90px 22px; }
  .section-heading { grid-template-columns:1fr; gap:22px; }
  .collection-grid { grid-template-columns:1fr 1fr; }
  .collection-card.large { grid-column:1/-1; min-height:600px; }
  .collection-card { min-height:500px; }
  .experience { grid-template-columns:1fr; }
  .experience-media { min-height:600px; }
  .experience-badge { right:25px; top:auto; bottom:-58px; }
  .experience-copy { padding:100px 35px 80px; }
  .gallery-section { padding:95px 22px; }
  .gallery-head { grid-template-columns:1fr; gap:18px; }
  .gallery-head a { justify-self:start; }
  .gallery-mosaic { grid-auto-rows:80px; gap:10px; }
  .testimonial { grid-template-columns:70px 1fr; padding:90px 25px; gap:22px; }
  .testimonial-image { display:none; }
  .contact { grid-template-columns:1fr; padding:90px 30px; }
  .site-footer { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 580px) {
  body { font-size:15px; }
  .site-header.scrolled { height:64px; }
  .hero { padding-top:105px; }
  .hero h1 { line-height:1.01; }
  .hero-copy > p { font-size:15px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .hero-proof { margin-top:34px; }
  .hero-visual { min-height:450px; }
  .hero-image-wrap { height:450px; border-radius:45% 45% 4px 4px / 18% 18% 4px 4px; }
  .floating-note { width:175px; padding:17px; }
  .manifesto { grid-template-columns:1fr; }
  .manifesto-index { font-size:16px; }
  .manifesto-text { grid-column:auto; }
  .manifesto-title h2 { font-size:38px; }
  .section-heading h2 { font-size:45px; }
  .collection-grid { grid-template-columns:1fr; }
  .collection-card.large { grid-column:auto; min-height:520px; }
  .collection-card { min-height:480px; }
  .experience-media { min-height:470px; }
  .experience-copy { padding:90px 22px 70px; }
  .experience-copy h2 { font-size:43px; }
  .gallery-head h2 { font-size:43px; }
  .gallery-mosaic { display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:230px; }
  .gallery-item { grid-column:auto!important; grid-row:auto!important; }
  .g1, .g5 { grid-column:1/-1!important; }
  .testimonial { grid-template-columns:1fr; padding:75px 22px; }
  .quote-mark { font-size:70px; }
  .testimonial blockquote > p { font-size:39px; }
  .contact { padding:80px 22px; gap:60px; }
  .contact h2 { font-size:49px; }
  .contact-actions { flex-direction:column; align-items:stretch; }
  .info-row { grid-template-columns:1fr; gap:8px; }
  .site-footer { grid-template-columns:1fr; padding:65px 22px 22px; gap:35px; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { grid-template-columns:1fr; gap:8px; }
  .quick-actions { right:14px; bottom:14px; }
  .quick-actions a { min-width:44px; height:44px; }
  .quick-actions .quick-whatsapp { width:44px; padding:0; }
  .quick-actions .quick-whatsapp span { display:none; }
}

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