/* Atlanta Alpaca Treehouse — standalone profile design */

.treehouse-profile{
  --tree-ink:#17231f;
  --tree-green:#163e35;
  --tree-green-deep:#0b2822;
  --tree-moss:#77875b;
  --tree-copper:#b45f3e;
  --tree-sand:#ece4d7;
  --tree-cream:#f6f2ea;
  --tree-paper:#fbfaf7;
  --tree-line:#d7d0c4;
  --tree-muted:#665f57;
  --tree-shadow:0 18px 45px rgba(20,34,29,.11);
}

.treehouse-profile main{ padding:0; }

/* HERO */
.profile-masthead{
  position:relative;
  min-height:clamp(40rem,68vw,49rem);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  background:var(--tree-green-deep);
}

.profile-masthead__image,
.profile-masthead__image img,
.profile-masthead__shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.profile-masthead__image img{
  object-fit:cover;
  object-position:center;
}

.profile-masthead__shade{
  background:
    linear-gradient(90deg,rgba(7,27,22,.92) 0%,rgba(7,27,22,.76) 48%,rgba(7,27,22,.2) 100%),
    linear-gradient(0deg,rgba(7,27,22,.78) 0%,rgba(7,27,22,0) 55%);
}

.profile-masthead__content{
  position:relative;
  z-index:1;
  padding-block:4.5rem 3.75rem;
}

.profile-crumb{
  margin:0 0 3.5rem;
  font-size:.84rem;
  color:rgba(255,255,255,.82);
}

.profile-crumb a{
  color:#fff;
  text-underline-offset:3px;
}

.profile-crumb span{ margin-inline:.45rem; }

.profile-label,
.section-kicker,
.card-label,
.sidebar-label{
  margin:0 0 .65rem;
  font-size:.71rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.profile-label{ color:#e5d995; }

.profile-masthead h1{
  max-width:57rem;
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(3rem,7.4vw,6rem);
  font-weight:600;
  line-height:.97;
  letter-spacing:-.045em;
  color:#fff;
  text-wrap:balance;
}

.profile-summary{
  max-width:47rem;
  margin:1.3rem 0 0;
  font-size:clamp(1.04rem,2vw,1.23rem);
  line-height:1.58;
  color:rgba(255,255,255,.92);
}

.profile-masthead__facts{
  max-width:52rem;
  margin:2.1rem 0 0;
  padding:1.25rem 0 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
  border-top:1px solid rgba(255,255,255,.38);
}

.profile-masthead__facts div{ min-width:0; }

.profile-masthead__facts dt{
  margin:0 0 .22rem;
  color:#dfd59a;
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.profile-masthead__facts dd{
  margin:0;
  color:#fff;
  font-size:.9rem;
  font-weight:500;
}

/* MAIN + SIDEBAR */
.profile-layout{
  padding-block:5.75rem 7rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) 19rem;
  gap:clamp(3.5rem,7vw,6.5rem);
  align-items:start;
}

.profile-main{ min-width:0; }

.profile-section,
.related-reading,
.profile-links{
  margin-top:5.75rem;
  padding-top:5rem;
  border-top:1px solid var(--tree-line);
}

.profile-section--first{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.section-heading{
  max-width:45rem;
  margin-bottom:2.35rem;
}

.section-heading--compact{ margin-bottom:1.8rem; }
.section-kicker{ color:var(--tree-copper); }

.section-heading h2,
.event-feature h2,
.related-reading h2,
.profile-links h2,
.sidebar-outings h2{
  margin:0;
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.026em;
  color:var(--tree-ink);
}

.section-heading h2,
.event-feature h2,
.related-reading h2,
.profile-links h2{
  font-size:clamp(2rem,4vw,3rem);
}

.section-heading > p:last-child,
.related-reading__head > p:last-child{
  max-width:42rem;
  margin:1rem 0 0;
  color:var(--tree-muted);
  font-size:1rem;
}

/* EXPERIENCE CARDS */
.experience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.experience-card{
  min-height:16rem;
  padding:1.6rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--tree-paper);
  border:1px solid var(--tree-line);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(20,34,29,.06);
}

.experience-card:nth-child(2){ background:#efe9de; }
.experience-card:nth-child(3){ color:#fff; background:var(--tree-green); border-color:var(--tree-green); }

.card-label{ color:var(--tree-copper); }
.experience-card:nth-child(3) .card-label{ color:#ded591; }

.experience-card h3,
.bamboo-note h3,
.herd-grid h3,
.stay-card h3,
.planning-grid h3,
.related-reading h3{
  margin:0 0 .6rem;
  font-family:var(--font-display);
  font-size:1.32rem;
  line-height:1.22;
  color:var(--tree-ink);
}

.experience-card:nth-child(3) h3{ color:#fff; }

.experience-card p:last-child,
.herd-grid p,
.stay-card p,
.planning-grid p{
  margin:0;
  color:var(--tree-muted);
  font-size:.91rem;
}

.experience-card:nth-child(3) p:last-child{ color:#d9e2de; }

/* RESCUE STORY */
.story-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr);
  gap:1.25rem;
  align-items:stretch;
}

.story-copy{
  padding:2rem;
  display:grid;
  gap:1.15rem;
  background:var(--tree-cream);
  border-radius:14px;
}

.story-copy p{ margin:0; color:#49433d; }

.bamboo-note{
  padding:2rem;
  color:#fff;
  background:var(--tree-green-deep);
  border-radius:14px;
}

.bamboo-note .card-label{ color:#ded591; }
.bamboo-note h3{ color:#fff; }
.bamboo-note p:last-child{ margin:0; color:#d3dfda; font-size:.92rem; }

/* HERD */
.herd-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.herd-grid article{
  padding:1.45rem 1.55rem;
  background:var(--tree-paper);
  border:1px solid var(--tree-line);
  border-radius:12px;
}

.herd-grid h3{ font-size:1.16rem; }

/* VISIT FLOW */
.visit-flow{
  overflow:hidden;
  background:var(--tree-paper);
  border:1px solid var(--tree-line);
  border-radius:14px;
}

.visit-flow article{
  padding:1.15rem 1.4rem;
  display:grid;
  grid-template-columns:12rem minmax(0,1fr);
  gap:1.5rem;
  border-bottom:1px solid var(--tree-line);
}

.visit-flow article:last-child{ border-bottom:0; }
.visit-flow strong{ color:var(--tree-green-deep); }
.visit-flow span{ color:var(--tree-muted); font-size:.92rem; }

.booking-note{
  margin:1.25rem 0 0;
  padding:1rem 1.2rem;
  color:#51483f;
  background:#eee7dc;
  border-radius:10px;
  font-size:.9rem;
}

/* STAYS */
.stay-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.stay-card{
  padding:1.65rem;
  background:var(--tree-paper);
  border:1px solid var(--tree-line);
  border-radius:14px;
}

.stay-card--feature{
  grid-row:1 / 3;
  padding:2rem;
  color:#fff;
  background:var(--tree-green);
  border-color:var(--tree-green);
}

.stay-card--feature .card-label{ color:#e2d89a; }
.stay-card--feature h3{ color:#fff; font-size:1.75rem; }
.stay-card--feature p{ color:#dce5e1; font-size:.96rem; }
.stay-card h3{ font-size:1.22rem; }

.stay-alert{
  margin-top:1.35rem !important;
  padding-top:1.15rem;
  border-top:1px solid rgba(255,255,255,.3);
  font-weight:500;
}

/* EVENT FEATURE */
.event-feature{
  padding:2.5rem;
  color:#fff;
  background:#202d29;
  border:0;
  border-radius:16px;
  box-shadow:var(--tree-shadow);
}

.event-feature .section-kicker{ color:#dfd392; }
.event-feature h2{ color:#fff; }
.event-feature > div:first-child > p:last-child{ max-width:44rem; margin:1rem 0 0; color:#d3ddd9; }

.event-types{
  margin-top:1.75rem;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

.event-types span{
  padding:.5rem .72rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:6px;
  color:#fff;
  font-size:.82rem;
}

.event-caution{
  margin:1.6rem 0 0;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.22);
  color:#c6d2cd;
  font-size:.86rem;
}

/* PLANNING */
.planning-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.planning-grid article{
  padding:1.35rem 1.45rem;
  background:var(--tree-cream);
  border-radius:11px;
}

.planning-grid h3{ font-size:1.1rem; }

.farm-website{
  display:inline-flex;
  margin-top:1.5rem;
  padding:.85rem 1.1rem;
  align-items:center;
  color:#fff;
  background:var(--tree-copper);
  border-radius:8px;
  font-weight:600;
  text-decoration:none;
}

.farm-website:hover{ color:#fff; background:#8f442e; }

/* RELATED READING */
.related-reading{
  padding:2.5rem;
  background:#ebe7df;
  border-top:0;
  border-radius:16px;
}

.related-reading__head{ max-width:44rem; }

.related-reading__grid{
  margin-top:1.8rem;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.15rem;
}

.related-reading aside{
  overflow:hidden;
  background:var(--tree-paper);
  border:1px solid #d1cabf;
  border-radius:12px;
}

.related-reading img{
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
}

.related-reading aside div{ padding:1.25rem; }
.related-reading h3{ font-size:1.2rem; }
.related-reading h3 a{ color:var(--tree-green-deep); text-underline-offset:4px; }
.related-reading aside p{ margin:0; color:var(--tree-muted); font-size:.88rem; }

/* CLOSING INTERNAL LINKS */
.profile-links h2{ margin-bottom:1.2rem; }
.profile-links p{ max-width:46rem; margin:0 0 1rem; color:#4b443e; }
.profile-links a{ font-weight:600; text-underline-offset:3px; }

/* SIDEBAR */
.profile-sidebar{
  position:sticky;
  top:6rem;
  display:grid;
  gap:1.2rem;
}

.sidebar-facts,
.sidebar-outings{
  padding:1.5rem;
  border-radius:14px;
}

.sidebar-facts{
  background:var(--tree-cream);
  border:1px solid var(--tree-line);
}

.sidebar-label{ color:var(--tree-copper); }
.sidebar-facts dl{ margin:0; }

.sidebar-facts dl div{
  padding:.85rem 0;
  border-bottom:1px solid var(--tree-line);
}

.sidebar-facts dl div:first-child{ padding-top:.25rem; }
.sidebar-facts dl div:last-child{ padding-bottom:0; border-bottom:0; }

.sidebar-facts dt{
  margin-bottom:.22rem;
  color:var(--tree-copper);
  font-size:.67rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.sidebar-facts dd{ margin:0; color:var(--tree-ink); font-size:.9rem; }

.sidebar-outings{
  color:#fff;
  background:var(--tree-green-deep);
  box-shadow:var(--tree-shadow);
}

.sidebar-outings .sidebar-label{ color:#ded491; }
.sidebar-outings h2{ margin-bottom:.55rem; color:#fff; font-size:1.65rem; }
.sidebar-outings > p:not(.sidebar-label){ margin:0 0 1.2rem; color:#c8d5d0; font-size:.84rem; }
.sidebar-outings nav{ border-top:1px solid rgba(255,255,255,.2); }

.sidebar-outings nav a{
  padding:.82rem 0;
  display:block;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.2);
  text-decoration:none;
}

.sidebar-outings nav a:last-child{ border-bottom:0; padding-bottom:.1rem; }
.sidebar-outings nav b{ display:block; font-size:.91rem; }
.sidebar-outings nav span{ display:block; color:#b8cac3; font-size:.76rem; }

.sidebar-outings nav a:hover b,
.sidebar-outings nav a:focus-visible b{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* RESPONSIVE */
@media (max-width:60rem){
  .profile-layout{ grid-template-columns:minmax(0,1fr) 17rem; gap:2.75rem; }
  .experience-grid{ grid-template-columns:1fr; }
  .experience-card{ min-height:0; }
  .story-layout{ grid-template-columns:1fr; }
  .stay-grid{ grid-template-columns:1fr; grid-template-rows:auto; }
  .stay-card--feature{ grid-row:auto; }
}

@media (max-width:48rem){
  .profile-masthead{
    min-height:44rem;
  }

  .profile-masthead__shade{
    background:linear-gradient(0deg,rgba(7,27,22,.94) 0%,rgba(7,27,22,.72) 62%,rgba(7,27,22,.32) 100%);
  }

  .profile-masthead__content{ padding-block:3rem 2.75rem; }
  .profile-crumb{ margin-bottom:2.25rem; }
  .profile-masthead__facts{ grid-template-columns:1fr; gap:.7rem; }
  .profile-layout{ grid-template-columns:1fr; padding-block:4.5rem 5.5rem; }
  .profile-sidebar{ position:static; }
  .profile-section,
  .related-reading,
  .profile-links{ margin-top:4.5rem; padding-top:3.75rem; }
  .herd-grid,
  .planning-grid,
  .related-reading__grid{ grid-template-columns:1fr; }
  .visit-flow article{ grid-template-columns:1fr; gap:.3rem; }
  .event-feature,
  .related-reading{ padding:1.65rem; }
}

@media (max-width:700px){
  .profile-masthead__image img{ object-position:center; }
}

@media (prefers-reduced-motion:reduce){
  .treehouse-profile *{ scroll-behavior:auto !important; }
}
