@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --forest-950: #08120e;
  --forest-900: #0c1a14;
  --forest-800: #15271d;
  --forest-700: #263a2c;
  --sage: #59634e;
  --ivory: #f4efe5;
  --sand: #ded2be;
  --graphite: #171a18;
  --rust: #b35a2d;
  --rust-dark: #8f4525;
  --gold: #a58a5b;
  --white: #fffdf8;
  --border: rgba(222,210,190,.28);
  --shadow: 0 22px 70px rgba(0,0,0,.24);
  --radius: 22px;
  --max: 1240px;
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--graphite);
  background: var(--ivory);
  font-family: var(--sans);
  line-height: 1.58;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--rust); color: white; }

.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.section { padding: 76px 0; position: relative; overflow: clip; }
.section.dark { background: var(--forest-900); color: var(--ivory); }
.section.deep { background: linear-gradient(180deg, var(--forest-950), var(--forest-900)); color: var(--ivory); }
.section.cream { background: var(--ivory); }
.section.sand { background: #ebe2d4; }
.eyebrow { margin: 0 0 10px; text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 700; color: var(--rust); }
.section.dark .eyebrow, .section.deep .eyebrow { color: #d78a5f; }
.display { font-family: var(--serif); font-weight: 600; line-height: 1; letter-spacing: 0; margin: 0; overflow-wrap: break-word; }
h1.display { font-size: 5.9rem; }
h2.display { font-size: 4.1rem; }
h3.display { font-size: 2.7rem; }
.lead { font-size: 1.16rem; max-width: 720px; color: rgba(23,26,24,.76); }
.dark .lead, .deep .lead { color: rgba(244,239,229,.78); }
.muted { color: rgba(23,26,24,.67); }
.dark .muted, .deep .muted { color: rgba(244,239,229,.68); }

/* Header */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; color: var(--ivory); transition: background .25s ease, backdrop-filter .25s ease, border .25s ease; }
.site-header.is-scrolled { background: rgba(8,18,14,.9); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,.08); }
.header-inner { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand img { width: 34px; height: 34px; filter: sepia(.8) saturate(.8) brightness(1.8); }
.brand-name { font-family: var(--serif); font-size: 1.45rem; letter-spacing: .06em; line-height: 1; }
.brand-sub { display: block; font-family: var(--sans); font-size: .57rem; letter-spacing: .24em; margin-top: 5px; opacity: .8; }
.nav { display: flex; align-items: center; gap: clamp(10px, 1.3vw, 20px); font-size: .79rem; }
.nav a { opacity: .88; position: relative; }
.nav a::after { content:''; position:absolute; left:0; bottom:-8px; height:1px; width:0; background: var(--sand); transition: width .2s ease; }
.nav a:hover::after, .nav a[aria-current="page"]::after { width:100%; }
.menu-button { display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.24); background:transparent; color:white; border-radius:50%; align-items:center; justify-content:center; }
.menu-button span, .menu-button::before, .menu-button::after { content:''; display:block; width:18px; height:1.5px; background:currentColor; transition:.2s; position:absolute; }
.menu-button::before { transform: translateY(-6px); }
.menu-button::after { transform: translateY(6px); }
.mobile-nav { display:none; }

/* Buttons */
.button { min-height: 48px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius: 6px; padding: 0 22px; font-size:.86rem; font-weight:700; letter-spacing:.01em; border:1px solid transparent; transition: transform .2s ease, background .2s ease, border .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--rust); color: white; box-shadow: 0 10px 30px rgba(179,90,45,.24); }
.button.primary:hover { background: var(--rust-dark); }
.button.ghost { border-color: rgba(244,239,229,.46); color: var(--ivory); background: rgba(8,18,14,.16); }
.button.ghost:hover { background: rgba(255,255,255,.06); }
.button.light { background: var(--ivory); color: var(--forest-900); }
.button.small { min-height: 42px; padding-inline: 16px; font-size:.8rem; }
.button-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }

/* Hero */
.hero { min-height: 700px; background: var(--forest-950); color: var(--ivory); position: relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; }
.hero::before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 70% 35%, rgba(89,99,78,.18), transparent 40%), linear-gradient(90deg, rgba(8,18,14,.99) 0%, rgba(8,18,14,.93) 34%, rgba(8,18,14,.3) 67%, rgba(8,18,14,.08) 100%); z-index:1; }
.hero::after { content:''; position:absolute; inset:auto 0 0; height:130px; background:linear-gradient(0deg, var(--forest-950), transparent); z-index:1; }
.hero-media { position:absolute; right:0; top:0; width:64%; height:100%; z-index:0; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 42%; filter: saturate(.82) contrast(1.05) brightness(.82); }
.hero-content { position:relative; z-index:2; width:min(100%, 700px); padding-top:88px; }
.hero h1 em { color: var(--sand); font-style:normal; }
.hero .lead { max-width:590px; margin:28px 0 34px; color:rgba(244,239,229,.82); }
.hero-feather { width:78px; color:#cf7644; margin:20px 0 2px; transform:rotate(-14deg); }
.hero-feather img { width:100%; filter: invert(46%) sepia(47%) saturate(958%) hue-rotate(337deg) brightness(92%); }
.hero-mini-note { margin-top:18px; font-size:.76rem; opacity:.62; }
.sound-button { position:absolute; z-index:3; right:30px; bottom:46px; width:82px; min-height:82px; border:1px solid rgba(255,255,255,.22); background:rgba(8,18,14,.46); backdrop-filter:blur(8px); color:white; border-radius:50%; display:grid; place-items:center; text-align:center; font-size:.65rem; padding:10px; }
.sound-button::before { content:'♪'; display:block; color:#e6a078; font-size:1.1rem; line-height:1; }
.sound-button.is-playing { border-color: #e6a078; }

/* Service stripe */
.service-strip { background: var(--ivory); padding: 0; position:relative; z-index:3; box-shadow: 0 -10px 40px rgba(0,0,0,.09); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.service-card { padding:34px 30px; display:grid; grid-template-columns:52px 1fr; gap:20px; min-height:220px; border-right:1px solid rgba(23,26,24,.12); position:relative; overflow:hidden; }
.service-card:last-child { border-right:0; }
.service-icon { width:48px; height:48px; color:var(--forest-800); }
.service-card > div { min-width:0; }
.service-card h3 { font-family:var(--serif); font-size:1.65rem; margin:0 0 6px; }
.service-card p { margin:0 0 14px; font-size:.88rem; color:rgba(23,26,24,.72); overflow-wrap:break-word; }
.text-link { display:inline-flex; align-items:center; gap:7px; font-size:.79rem; font-weight:700; color:var(--rust); }
.text-link::after { content:'→'; transition:transform .2s ease; }
.text-link:hover::after { transform:translateX(4px); }
.watermark-feather { position:absolute; width:100px; right:2px; bottom:-18px; opacity:.08; transform:rotate(12deg); }

/* Parent section */
.parent-section { display:grid; grid-template-columns: 1.03fr .97fr; min-height:500px; }
.parent-section-compact {
  min-height:0;
  height:620px;
  grid-template-columns:minmax(360px, .86fr) minmax(0, 1fr);
  align-items:stretch;
  gap:0;
  padding:0;
  overflow:hidden;
  background:linear-gradient(135deg,#0f2118,#09120e);
}
.parent-image { position:relative; overflow:hidden; min-height:520px; }
.parent-section-compact .parent-image { min-height:0; height:100%; border-radius:0; box-shadow:none; align-self:stretch; }
.parent-image img { width:100%; height:100%; object-fit:cover; object-position:center 32%; }
.parent-copy { background:linear-gradient(135deg,#0f2118,#09120e); color:var(--ivory); padding: clamp(50px, 6vw, 96px); display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.parent-section-compact .parent-copy { background:transparent; padding:clamp(42px, 5vw, 70px); }
.parent-section-compact h2.display { font-size:3.55rem; }
.parent-section-compact .quote-line { font-size:1.58rem; margin-bottom:18px; }
.parent-copy .display { max-width:580px; }
.parent-copy .lead { margin:18px 0; color:rgba(244,239,229,.78); }
.check-list { list-style:none; margin:10px 0 24px; padding:0; display:grid; gap:8px; }
.check-list li { display:flex; align-items:flex-start; gap:10px; color:rgba(244,239,229,.82); font-size:.9rem; }
.check-list li::before { content:'○'; color:#e67c3d; font-weight:700; }
.quote-line { font-family:var(--serif); font-size:1.8rem; color:var(--sand); font-style:italic; margin:0 0 24px; }

/* Birds */
.birds-head { text-align:center; max-width:760px; margin:0 auto 42px; }
.bird-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.bird-card { min-height:440px; border:1px solid rgba(222,210,190,.3); border-radius:12px; overflow:hidden; position:relative; background:#142219; isolation:isolate; cursor:pointer; }
.bird-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 28%, rgba(8,18,14,.2) 50%, rgba(8,18,14,.96) 82%); z-index:1; }
.bird-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.2,1), filter .4s ease; filter:saturate(.92) brightness(.85); }
.bird-card:hover img, .bird-card.is-active img { transform:scale(1.045); filter:saturate(1) brightness(.76); }
.home-birds .bird-card { min-height:390px; }
.home-birds .bird-tita img { transform:translateY(-12%) scale(1.48); transform-origin:center center; }
.home-birds .bird-card.bird-tita:hover img,
.home-birds .bird-card.bird-tita.is-active img { transform:translateY(-12%) scale(1.56); }
.bird-info { position:absolute; z-index:2; left:24px; right:24px; bottom:22px; color:var(--ivory); }
.bird-name { font-family:var(--serif); font-size:2.15rem; line-height:1; margin:0; }
.bird-symbol { color:#ec7d3f; text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; font-weight:700; margin:6px 0; }
.bird-species { font-size:.77rem; opacity:.74; }
.bird-question { opacity:0; transform:translateY(10px); max-height:0; overflow:hidden; transition:.35s ease; font-family:var(--serif); font-size:1.06rem; line-height:1.25; color:var(--sand); border-top:1px solid rgba(222,210,190,.18); padding-top:0; margin-top:0; }
.bird-card:hover .bird-question, .bird-card.is-active .bird-question { opacity:1; transform:none; max-height:110px; padding-top:14px; margin-top:14px; }

/* Story */
.story { display:grid; grid-template-columns:.95fr 1.05fr; min-height:460px; }
.story-compact {
  grid-template-columns:minmax(0, 1fr) minmax(320px, 520px);
  align-items:center;
  gap:clamp(36px, 5vw, 72px);
  padding:64px max(20px, calc((100vw - var(--max)) / 2));
  background:#e8dfd0;
}
.story-copy { background:#e8dfd0; padding: clamp(50px, 6vw, 92px); display:flex; flex-direction:column; justify-content:center; }
.story-compact .story-copy { padding:0; }
.story-copy p { max-width:630px; }
.story-media { position:relative; min-height:420px; background:var(--forest-900); }
.story-compact .story-media { min-height:0; height:520px; border-radius:12px; overflow:hidden; box-shadow:var(--shadow); }
.story-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:contrast(1.03) saturate(.92); }
.story-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(232,223,208,.12), transparent 32%); }

/* Stats */
.fact-strip { background:#f5f0e7; border-top:1px solid rgba(23,26,24,.1); border-bottom:1px solid rgba(23,26,24,.1); }
.fact-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.fact { padding:38px 24px; text-align:center; border-right:1px solid rgba(23,26,24,.11); }
.fact:last-child { border:0; }
.fact strong { font-family:var(--serif); font-size:2.3rem; display:block; color:var(--forest-900); line-height:1; }
.fact span { font-size:.8rem; color:rgba(23,26,24,.68); display:block; margin-top:7px; }

/* Page hero */
.page-hero { padding: 132px 0 72px; min-height:500px; display:flex; align-items:center; color:var(--ivory); background:var(--forest-950); position:relative; overflow:hidden; }
.page-hero-compact { min-height:440px; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 70% 30%,rgba(165,138,91,.18),transparent 35%), linear-gradient(90deg,rgba(8,18,14,.98),rgba(8,18,14,.86) 45%,rgba(8,18,14,.42)); z-index:1; }
.page-hero .container { position:relative; z-index:2; }
.page-hero-media { position:absolute; inset:0 0 0 auto; width:62%; }
.page-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(.72) saturate(.85); }
.page-hero-copy { max-width:690px; }
.page-hero .lead { margin:22px 0 28px; color:rgba(244,239,229,.82); }
.page-hero-contact,.page-hero-booking,.page-hero-privacy { min-height:420px; }

/* Image direction */
.visual-focus img { object-position:center; }
.fabiano-bela img { object-position:center 44%; }
.fabiano-office img { object-position:center 42%; }
.fabiano-outdoor img { object-position:center 28%; }
.child-dara-1 img { object-position:center 37%; }
.child-dara-2 img { object-position:center 42%; }
.child-dara-3 img { object-position:center 36%; }
.child-dara-4 img { object-position:center 33%; }
.dara-close img { object-position:center 36%; }
.dara-indoor img { object-position:center 43%; }
.bela-close img { object-position:center 34%; }
.bela-perch img { object-position:center 38%; }
.fabiano-flight-2 img { object-position:center 54%; }
.bird-bela img { object-position:center 33%; }
.bird-dara img { object-position:center 30%; }
.bird-lilo img { object-position:center 42%; }
.bird-tita img { object-position:center 38%; }

/* Experience */
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; }
.info-card { background:#faf5ec; border:1px solid rgba(23,26,24,.1); border-radius:var(--radius); padding:30px; }
.info-card h3 { font-family:var(--serif); font-size:1.85rem; margin:8px 0; }
.info-card p { font-size:.9rem; color:rgba(23,26,24,.72); overflow-wrap:break-word; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:38px; }
.step { padding:34px; border:1px solid rgba(222,210,190,.24); border-radius:18px; background:rgba(255,255,255,.025); }
.step-no { width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--rust);font-weight:700;margin-bottom:18px; }
.step h3 { font-family:var(--serif);font-size:1.9rem;margin:0 0 8px; }
.step p { color:rgba(244,239,229,.72); font-size:.9rem; overflow-wrap:break-word; }
.gallery { display:grid; grid-template-columns:1.3fr .8fr .8fr 1.1fr; gap:8px; }
.gallery-mosaic { grid-template-columns:1fr 1fr 1fr 1.35fr; gap:10px; }
.gallery-three { grid-template-columns:1fr 1fr 1.25fr; max-width:1040px; }
.gallery figure { margin:0; min-height:280px; overflow:hidden; border-radius:10px; }
.gallery-mosaic figure { min-height:420px; }
.gallery-mosaic .gallery-wide { min-height:420px; }
.gallery img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.gallery figure:hover img { transform:scale(1.025); }
.safety-bar { background:#f5eee3; color:var(--forest-900); padding:24px 0; }
.safety-inner { display:flex; align-items:center; gap:16px; }
.safety-inner img { width:44px; color:var(--forest-800); }

/* Content layouts */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,70px); align-items:center; }
.two-col-contact { align-items:start; }
.prose p { margin:0 0 18px; color:rgba(23,26,24,.74); }
.dark .prose p, .deep .prose p { color:rgba(244,239,229,.74); }
.pill-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.pill { border:1px solid rgba(23,26,24,.15); border-radius:999px; padding:7px 12px; font-size:.78rem; background:rgba(255,255,255,.28); }
.dark .pill { border-color:rgba(244,239,229,.2); background:rgba(255,255,255,.025); }
.photo-card { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); height:380px; min-height:0; max-width:520px; }
.photo-card img { width:100%; height:100%; object-fit:cover; }

/* Forms */
.form-card { background:#faf5ec; border:1px solid rgba(23,26,24,.1); border-radius:var(--radius); padding:34px; box-shadow:0 20px 50px rgba(23,26,24,.07); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-size:.8rem; font-weight:700; color:rgba(23,26,24,.78); }
.field input,.field select,.field textarea { width:100%; border:1px solid rgba(23,26,24,.16); background:white; border-radius:10px; padding:13px 14px; outline:none; color:var(--graphite); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--rust); box-shadow:0 0 0 3px rgba(179,90,45,.12); }
.field textarea { min-height:130px; resize:vertical; }
.form-status { min-height:24px; font-size:.8rem; color:var(--rust-dark); margin-top:12px; }
.booking-intro { max-width:840px; margin:0 auto 28px; text-align:center; }
.booking-intro .lead, .booking-intro p:not(.eyebrow) { margin-inline:auto; }
.contact-line { margin-top:22px; font-size:.92rem; }
.contact-line a,.privacy-note a,.privacy-copy a,.prose a { color:var(--rust-dark); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.privacy-note { margin:0 0 14px; font-size:.78rem; color:rgba(23,26,24,.66); }
.narrow { width:min(calc(100% - 40px), 860px); margin-inline:auto; }
.privacy-copy p { font-size:1rem; }
.not-found { padding-top:160px; min-height:70vh; }

/* Footer */
.cta-band { background:linear-gradient(90deg,#0a1711,#11251b); color:var(--ivory); padding:34px 0; border-top:1px solid rgba(255,255,255,.08); }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.cta-inner h2 { font-family:var(--serif); font-size:2rem; margin:0; }
.cta-inner p { margin:3px 0 0; font-size:.84rem; color:rgba(244,239,229,.68); }
.site-footer { background:#07100c; color:var(--ivory); padding:46px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:38px; }
.site-footer h4 { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; margin:0 0 14px; color:var(--sand); }
.site-footer a,.site-footer p { font-size:.78rem; color:rgba(244,239,229,.67); margin:0 0 7px; display:block; }
.site-footer a:hover { color:white; }
.footer-bottom { margin-top:34px; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; gap:20px; font-size:.7rem; color:rgba(244,239,229,.5); }
.footer-bottom a { display:inline; font-size:inherit; color:rgba(244,239,229,.72); margin:0; }

/* Floating WhatsApp */
.floating-contact { position:fixed; left:18px; bottom:18px; z-index:80; width:50px; height:50px; border-radius:50%; display:grid; place-items:center; background:#1f8a4c; color:white; box-shadow:0 10px 30px rgba(0,0,0,.25); font-size:1.15rem; }

/* Feather modal */
.feather-trigger { border:0; background:none; position:absolute; width:42px; height:42px; color:var(--rust); opacity:.36; padding:0; }
.feather-trigger:hover { opacity:.8; }
.feather-trigger img { width:100%; filter: invert(43%) sepia(39%) saturate(1113%) hue-rotate(339deg); }
.feather-trigger.one { right:4%; top:17%; transform:rotate(20deg); }
.feather-trigger.two { left:4%; bottom:15%; transform:rotate(-28deg); }
.feather-modal { border:0; border-radius:20px; max-width:560px; width:min(calc(100% - 36px),560px); padding:0; box-shadow:0 30px 100px rgba(0,0,0,.36); background:var(--ivory); color:var(--forest-900); }
.feather-modal::backdrop { background:rgba(6,12,9,.72); backdrop-filter:blur(4px); }
.feather-modal-inner { padding:42px; text-align:center; }
.feather-modal h3 { font-family:var(--serif); font-size:2.2rem; margin:0 0 12px; }
.feather-modal blockquote { font-family:var(--serif); font-size:1.45rem; margin:20px auto 28px; color:var(--rust-dark); }

/* Reveal */
[data-reveal] { opacity:1; transform:none; transition:opacity .65s ease, transform .65s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }

/* Responsive */
@media (max-width: 1020px) {
  h1.display { font-size: 4.6rem; }
  h2.display { font-size: 3.35rem; }
  h3.display { font-size: 2.3rem; }
  .lead { font-size: 1.08rem; }
  .quote-line { font-size:1.55rem; }
  .nav { display:none; }
  .menu-button { display:flex; position:relative; }
  .mobile-nav { display:block; position:fixed; inset:0; background:rgba(8,18,14,.98); color:var(--ivory); padding:110px 28px 28px; transform:translateX(100%); transition:transform .3s ease; z-index:90; }
  .mobile-nav.is-open { transform:none; }
  .mobile-nav a { display:block; font-family:var(--serif); font-size:2rem; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08); }
  .hero { min-height:700px; }
  .hero-media { width:70%; opacity:.86; }
  .hero::before { background:linear-gradient(90deg,rgba(8,18,14,.99),rgba(8,18,14,.82) 50%,rgba(8,18,14,.26)); }
  .service-grid { grid-template-columns:1fr; }
  .service-card { border-right:0; border-bottom:1px solid rgba(23,26,24,.1); min-height:auto; }
  .parent-section,.story { grid-template-columns:1fr; }
  .story-compact { padding:54px 20px; gap:34px; }
  .parent-section-compact { height:auto; padding:0; gap:0; }
  .parent-section-compact h2.display { font-size:3.05rem; }
  .parent-image { min-height:420px; }
  .parent-section-compact .parent-image { min-height:420px; }
  .bird-grid { grid-template-columns:repeat(2,1fr); }
  .fact-grid { grid-template-columns:repeat(2,1fr); }
  .fact:nth-child(2) { border-right:0; }
  .fact:nth-child(-n+2) { border-bottom:1px solid rgba(23,26,24,.11); }
  .audience-grid,.steps { grid-template-columns:1fr; }
  .gallery { grid-template-columns:1fr 1fr; }
  .two-col { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .page-hero-media { width:70%; opacity:.7; }
}

@media (max-width: 680px) {
  .container { width:min(calc(100% - 28px),var(--max)); }
  .section { padding:54px 0; }
  .header-inner { height:70px; }
  .brand-name { font-size:1.25rem; }
  .brand-sub { font-size:.5rem; }
  .hero { min-height: 720px; align-items:flex-end; padding-bottom:30px; }
  .hero-media { width:100%; height:100%; opacity:1; }
  .hero-media img { object-position:58% 34%; }
  .hero::before { background:linear-gradient(180deg,rgba(8,18,14,.44) 0%,rgba(8,18,14,.32) 25%,rgba(8,18,14,.82) 58%,rgba(8,18,14,.99) 88%); }
  .hero-content { padding-top:110px; width:100%; max-width:360px; }
  h1.display { font-size:3rem; max-width:360px; line-height:1.02; }
  h2.display { font-size:2.35rem; line-height:1.04; max-width:360px; }
  h3.display { font-size:2rem; line-height:1.05; }
  .lead { max-width:360px; }
  .hero .lead { font-size:.98rem; max-width:360px; margin:20px 0 24px; }
  .button-row .button { width:100%; }
  .sound-button { right:14px; bottom:16px; width:66px; min-height:66px; font-size:.55rem; }
  .service-card { grid-template-columns:44px 1fr; padding:26px 18px; }
  .service-grid,.audience-grid,.steps { max-width:360px; margin-inline:auto; }
  .form-card { max-width:320px; margin-inline:auto; padding:22px; }
  .parent-image { min-height:360px; }
  .parent-section-compact { padding:0; gap:0; }
  .parent-section-compact h2.display { font-size:2.35rem; }
  .parent-section-compact .parent-image { min-height:0; height:260px; width:100%; max-width:none; margin-inline:0; }
  .parent-copy { padding:48px 24px; }
  .parent-section-compact .parent-copy { width:min(calc(100% - 28px), 360px); max-width:360px; padding:34px 0 46px; margin-inline:auto; }
  .bird-grid { grid-template-columns:1fr; gap:14px; }
  .bird-card { min-height:350px; }
  .home-birds .bird-card { min-height:330px; }
  .bird-info { left:15px; right:15px; bottom:15px; }
  .bird-name { font-size:1.7rem; }
  .bird-symbol { font-size:.72rem; }
  .bird-species { font-size:.66rem; }
  .bird-question { font-size:.9rem; }
  .story-copy { padding:48px 24px; }
  .story-compact { padding:48px 14px; }
  .story-compact .story-copy { width:100%; max-width:360px; padding:0; margin-inline:auto; }
  .story-media { min-height:330px; }
  .story-media.dara-indoor { min-height:340px; }
  .story-compact .story-media { height:320px; max-width:360px; width:100%; margin-inline:auto; }
  .fact { padding:26px 14px; }
  .fact strong { font-size:1.9rem; }
  .page-hero { min-height:540px; padding:104px 0 46px; align-items:flex-end; }
  .page-hero-contact,.page-hero-booking,.page-hero-privacy { min-height:460px; }
  .page-hero-media { width:100%; opacity:1; }
  .page-hero-media img { object-position:center; }
  .page-hero-media.fabiano-bela img,.hero-media.fabiano-bela img { object-position:55% 34%; }
  .page-hero-media.fabiano-office img { object-position:58% 34%; }
  .page-hero-media.fabiano-outdoor img { object-position:center 18%; }
  .page-hero-media.child-dara-1 img { object-position:54% 26%; }
  .page-hero-media.child-dara-4 img { object-position:58% 24%; }
  .page-hero-media.dara-close img { object-position:center 24%; }
  .parent-image.child-dara-2 img,.photo-card.child-dara-3 img { object-position:center 30%; }
  .photo-card.dara-close img,.photo-card.bela-perch img { object-position:center 30%; }
  .page-hero::before { background:linear-gradient(180deg,rgba(8,18,14,.34),rgba(8,18,14,.55) 40%,rgba(8,18,14,.98) 77%); }
  .page-hero-copy { width:100%; max-width:360px; }
  .page-hero h1.display { font-size:2.8rem; }
  .page-hero .lead { font-size:.98rem; max-width:360px; }
  .birds-head,.booking-intro,.prose { max-width:360px; }
  .audience-grid { gap:12px; }
  .info-card { padding:24px; }
  .gallery { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
  .gallery figure { min-width:82%; min-height:340px; scroll-snap-align:start; }
  .gallery-mosaic .gallery-portrait { min-height:380px; }
  .gallery-mosaic .gallery-wide { min-height:240px; }
  .photo-card { height:320px; max-width:360px; margin-inline:auto; }
  .gallery-mosaic .gallery-wide img { object-fit:cover; }
  .safety-inner { align-items:flex-start; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .cta-inner { flex-direction:column; align-items:flex-start; }
  .cta-inner .button-row { width:100%; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .floating-contact { width:46px;height:46px;left:12px;bottom:12px; }
  .floating-contact { font-size:.82rem; font-weight:800; }
  .feather-trigger { display:none; }
}

@media (max-width: 420px) {
  h1.display { font-size:2.65rem; }
  h2.display { font-size:2.05rem; }
  .page-hero h1.display { font-size:2.45rem; }
  .mobile-nav a { font-size:1.72rem; }
  .button { padding-inline:16px; }
}

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