:root { --forest:#173c32; --forest-deep:#0c2a22; --cream:#f5f1e8; --paper:#fffdf8; --ink:#1b2a25; --muted:#5d6d67; --terracotta:#bd5939; --terracotta-dark:#984128; --gold:#e0bd75; --line:rgba(23,60,50,.16); --shadow:0 24px 70px rgba(27,42,37,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,Aptos,"Segoe UI",sans-serif; font-size:16px; line-height:1.65; }
img { display:block; max-width:100%; }
a { color:inherit; }
.site-header { position:fixed; z-index:20; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; padding:1rem clamp(1.2rem,4vw,4rem); color:white; transition:background .25s ease,box-shadow .25s ease; }
.site-header.scrolled { background:rgba(12,42,34,.96); box-shadow:0 10px 40px rgba(0,0,0,.12); backdrop-filter:blur(12px); }
.brand { display:inline-flex; align-items:center; gap:.85rem; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:2.9rem; height:2.9rem; border:1px solid currentColor; border-radius:50%; font-family:Georgia,serif; font-size:.92rem; }
.brand-name { display:flex; flex-direction:column; font-weight:650; line-height:1.1; letter-spacing:-.02em; }
.brand-name small { margin-top:.25rem; font-size:.7rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; opacity:.72; }
.main-nav { display:flex; align-items:center; gap:1.75rem; }
.main-nav a { font-size:.92rem; font-weight:600; text-decoration:none; }
.main-nav a:not(.nav-cta):hover { text-decoration:underline; text-underline-offset:.35rem; }
.nav-cta { padding:.72rem 1.05rem; border-radius:999px; background:white; color:var(--forest-deep); }
.menu-button { display:none; border:1px solid rgba(255,255,255,.6); border-radius:999px; padding:.55rem .8rem; color:white; background:transparent; font:inherit; }
.hero { position:relative; min-height:94svh; display:flex; align-items:flex-end; overflow:hidden; color:white; }
.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; object-position:center; }
.hero-shade { background:linear-gradient(90deg,rgba(4,25,20,.9) 0%,rgba(4,25,20,.58) 42%,rgba(4,25,20,.08) 76%),linear-gradient(0deg,rgba(4,20,17,.45),transparent 55%); }
.hero-content { position:relative; z-index:2; width:min(45rem,92%); margin:0 auto clamp(4rem,10vh,7.5rem) clamp(1.2rem,8vw,8rem); }
.eyebrow,.section-kicker { margin:0 0 1rem; color:var(--terracotta); font-size:.78rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.hero .eyebrow { color:#f3cc84; }
h1,h2,h3 { margin-top:0; font-family:Georgia,"Times New Roman",serif; font-weight:600; line-height:1.08; letter-spacing:-.035em; }
h1 { margin-bottom:1.4rem; font-size:clamp(3.15rem,7.5vw,6.8rem); }
h2 { font-size:clamp(2.35rem,4.8vw,4.65rem); }
.hero-copy { max-width:40rem; margin:0; font-size:clamp(1.08rem,1.6vw,1.32rem); color:rgba(255,255,255,.86); }
.hero-actions { display:flex; align-items:center; gap:1.5rem; margin-top:2rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:3.25rem; padding:.78rem 1.3rem; border-radius:999px; text-decoration:none; font-weight:700; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--terracotta); color:white; box-shadow:0 14px 34px rgba(93,35,19,.28); }
.button-primary:hover { background:#cb6241; }
.button-dark { margin-top:1.2rem; background:var(--forest-deep); color:white; }
.text-link { font-weight:600; text-underline-offset:.35rem; }
.image-note { position:absolute; right:1rem; bottom:.75rem; z-index:2; margin:0; color:rgba(255,255,255,.65); font-size:.75rem; }
.trust-strip { position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,1fr); width:min(86rem,calc(100% - 2.4rem)); margin:-2.4rem auto 0; border-radius:1rem; background:white; box-shadow:var(--shadow); }
.trust-strip div { display:flex; flex-direction:column; padding:1.65rem 2rem; }
.trust-strip div + div { border-left:1px solid var(--line); }
.trust-strip strong { color:var(--forest); font-family:Georgia,serif; font-size:1.55rem; }
.trust-strip span { color:var(--muted); font-size:.9rem; }
.welcome { display:grid; grid-template-columns:1.03fr .67fr; gap:clamp(3rem,8vw,8rem); align-items:center; padding:clamp(6rem,11vw,10rem) clamp(1.2rem,8vw,8rem); }
.welcome-copy { max-width:45rem; }
.welcome-copy p:not(.section-kicker),.section-heading>p:last-child,.owner-copy,.fit-card>p,.feeding-card>p { color:var(--muted); font-size:1.08rem; }
.portrait-photo { position:relative; margin:0; }
.portrait-photo img { width:100%; aspect-ratio:4 / 5; object-fit:cover; border-radius:45% 45% 1.1rem 1.1rem; box-shadow:var(--shadow); }
.portrait-photo figcaption { position:absolute; left:-2rem; bottom:2rem; padding:.9rem 1.2rem; border-radius:.7rem; background:var(--terracotta); color:white; font-family:Georgia,serif; font-size:1.15rem; box-shadow:0 12px 32px rgba(60,25,15,.18); }
.care-section { padding:clamp(5rem,9vw,8rem) clamp(1.2rem,8vw,8rem); background:var(--cream); }
.care-heading { max-width:46rem; }
.care-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:3rem; }
.care-grid article { padding:2rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.68); }
.care-icon { display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:50%; background:#e5ecdf; color:var(--forest); font-weight:800; font-size:.8rem; }
.care-grid h3 { margin:3rem 0 .8rem; font-size:1.7rem; }
.care-grid p { margin-bottom:0; color:var(--muted); }
.feeding-story { position:relative; min-height:44rem; display:flex; align-items:flex-end; padding:clamp(1.2rem,7vw,7rem); overflow:hidden; }
.feeding-story>video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.feeding-story::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,30,24,.55),transparent 64%); }
.feeding-card { position:relative; z-index:2; max-width:39rem; padding:clamp(2rem,4vw,3.2rem); border-radius:1.1rem; background:rgba(255,253,248,.94); box-shadow:var(--shadow); backdrop-filter:blur(10px); }
.feeding-card h2 { margin-bottom:1.2rem; font-size:clamp(2.3rem,4vw,3.8rem); }
.feeding-benefits { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.4rem 0; }
.feeding-benefits span { padding:.55rem .75rem; border-radius:999px; background:#e8eee3; color:var(--forest); font-size:.83rem; font-weight:700; }
.feeding-card .source-note { margin-bottom:.65rem; font-size:.9rem; line-height:1.55; }
.source-link { color:var(--terracotta-dark); font-size:.9rem; font-weight:700; text-underline-offset:.25rem; }
.difference-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(3rem,8vw,8rem); padding:clamp(6rem,10vw,9rem) clamp(1.2rem,8vw,8rem); background:var(--forest-deep); color:white; }
.difference-intro { align-self:center; }
.difference-intro p:last-child { color:rgba(255,255,255,.7); font-size:1.08rem; }
.difference-list article { display:grid; grid-template-columns:3rem 1fr; gap:1.4rem; padding:1.8rem 0; border-top:1px solid rgba(255,255,255,.2); }
.difference-list article:last-child { border-bottom:1px solid rgba(255,255,255,.2); }
.difference-list strong { color:var(--gold); font-family:Georgia,serif; font-size:1.15rem; }
.difference-list h3 { margin:0 0 .45rem; font-size:1.65rem; }
.difference-list p { margin:0; color:rgba(255,255,255,.68); }
.stays { padding:clamp(6rem,11vw,10rem) clamp(1.2rem,8vw,8rem); }
.section-heading { max-width:57rem; margin-bottom:3rem; }
.stay-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:1rem; }
.stay-card { padding:clamp(2rem,4vw,3.6rem); border:1px solid var(--line); border-radius:1.25rem; background:var(--cream); }
.stay-card.featured { background:var(--forest); color:white; }
.card-label { display:inline-flex; padding:.4rem .75rem; border-radius:999px; background:white; color:var(--terracotta-dark); font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.stay-card:not(.featured) .card-label { background:#e6eadf; color:var(--forest); }
.stay-card h3 { margin:3rem 0 1.2rem; font-size:clamp(2.4rem,4vw,4.2rem); }
.stay-card p { max-width:43rem; color:var(--muted); }
.featured p { color:rgba(255,255,255,.76); }
.stay-card ul { margin:2rem 0 0; padding:0; list-style:none; }
.stay-card li { position:relative; padding:.72rem 0 .72rem 1.5rem; border-top:1px solid currentColor; }
.stay-card li::before { content:"✓"; position:absolute; left:.05rem; color:var(--terracotta); font-weight:800; }
.facilities-section { padding:clamp(6rem,11vw,10rem) clamp(1.2rem,8vw,8rem); background:var(--cream); }
.facilities-heading { display:grid; grid-template-columns:.85fr 1fr; gap:1rem clamp(2rem,7vw,7rem); align-items:end; margin-bottom:3rem; }
.facilities-heading .section-kicker { grid-column:1 / -1; margin-bottom:0; }
.facilities-heading h2 { margin-bottom:0; }
.facilities-heading>p:last-child { max-width:38rem; margin:0; color:var(--muted); font-size:1.08rem; }
.facilities-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:18rem; gap:1rem; }
.facilities-grid figure { position:relative; overflow:hidden; margin:0; border-radius:1rem; background:var(--forest-deep); }
.facilities-grid figure:nth-child(2) { grid-column:8 / 13; }
.facilities-grid figure:nth-child(3) { grid-column:1 / 5; }
.facilities-grid figure:nth-child(4) { grid-column:5 / 9; }
.facilities-grid figure:nth-child(5) { grid-column:9 / 13; }
.facilities-grid figure:nth-child(n+6) { grid-column:span 4; }
.facilities-grid figure:nth-last-child(2),.facilities-grid figure:last-child { grid-column:span 6; }
.facility-main { grid-column:1 / 8; }
.facilities-grid img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.facilities-grid figure:hover img { transform:scale(1.025); }
.facilities-grid figcaption { position:absolute; left:.8rem; bottom:.8rem; padding:.5rem .7rem; border-radius:.5rem; background:rgba(12,42,34,.86); color:white; font-size:.82rem; font-weight:700; backdrop-filter:blur(8px); }
.owner-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,8vw,8rem); padding:clamp(6rem,10vw,9rem) clamp(1.2rem,8vw,8rem); background:var(--forest-deep); color:white; }
.owner-copy { padding-top:2.5rem; color:rgba(255,255,255,.72); }
.owner-copy p { max-width:40rem; }
.fit-section { padding:clamp(5rem,10vw,9rem) clamp(1.2rem,12vw,12rem); background:var(--cream); }
.fit-card { max-width:68rem; margin:auto; padding:clamp(2rem,6vw,5rem); border-radius:1.3rem; background:white; text-align:center; box-shadow:var(--shadow); }
.fit-card .section-kicker { margin-left:auto; margin-right:auto; }
.fit-card>p { max-width:49rem; margin-left:auto; margin-right:auto; }
.steps-section { padding:clamp(6rem,10vw,9rem) clamp(1.2rem,8vw,8rem); background:var(--paper); }
.steps-heading { max-width:48rem; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
.steps-grid article { min-height:19rem; padding:2rem; border:1px solid var(--line); border-radius:1rem; background:var(--cream); }
.steps-grid span { display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:50%; background:var(--terracotta); color:white; font-weight:800; }
.steps-grid h3 { margin:4rem 0 .8rem; font-size:1.75rem; }
.steps-grid p { margin-bottom:0; color:var(--muted); }
.faq-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,8vw,8rem); padding:clamp(6rem,10vw,9rem) clamp(1.2rem,8vw,8rem); background:var(--cream); }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:1.35rem 2.2rem 1.35rem 0; cursor:pointer; font-family:Georgia,serif; font-size:1.25rem; font-weight:600; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:.25rem; color:var(--terracotta); font-family:Inter,Aptos,sans-serif; font-size:1.4rem; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list p { margin:0; padding:0 2.5rem 1.4rem 0; color:var(--muted); }
.visit { padding:clamp(6rem,11vw,9rem) clamp(1.2rem,15vw,15rem); text-align:center; background:var(--terracotta); color:white; }
.visit .section-kicker { color:#ffe0c7; }
.visit p { max-width:45rem; margin-left:auto; margin-right:auto; color:rgba(255,255,255,.86); font-size:1.08rem; }
.contact-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.contact-button { display:flex; min-width:13rem; flex-direction:column; gap:.15rem; padding:1rem 1.3rem; border:1px solid rgba(255,255,255,.55); border-radius:.8rem; background:rgba(255,255,255,.12); color:white; text-align:left; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.contact-button:hover { transform:translateY(-2px); background:rgba(255,255,255,.2); }
.contact-button span { font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; opacity:.8; }
.contact-button strong { font-size:1rem; }
footer { display:grid; grid-template-columns:1fr auto; align-items:center; gap:1rem 3rem; padding:3rem clamp(1.2rem,8vw,8rem); background:#071d17; color:white; }
.footer-brand { grid-row:span 2; }
footer p { margin:0; color:rgba(255,255,255,.7); }
.footer-note { font-size:.8rem; }
@media (max-width:980px) { .care-grid{grid-template-columns:repeat(2,1fr)} .trust-strip{grid-template-columns:repeat(2,1fr)} .trust-strip div:nth-child(3){border-left:0;border-top:1px solid var(--line)} .trust-strip div:nth-child(4){border-top:1px solid var(--line)} .steps-grid{grid-template-columns:1fr 1fr}.faq-section{grid-template-columns:1fr} }
@media (max-width:760px) {
  .site-header{padding:.8rem 1rem}.brand-name{font-size:.9rem}.menu-button{display:block}.main-nav{position:absolute;top:calc(100% + .25rem);left:1rem;right:1rem;display:none;flex-direction:column;align-items:stretch;gap:.25rem;padding:.75rem;border-radius:.9rem;background:var(--forest-deep);box-shadow:0 14px 36px rgba(0,0,0,.2)}.main-nav.open{display:flex}.main-nav a{padding:.8rem}.nav-cta{text-align:center}
  .hero{min-height:48rem}.hero-shade{background:linear-gradient(0deg,rgba(4,25,20,.94) 0%,rgba(4,25,20,.48) 70%,rgba(4,25,20,.18))}.hero-content{width:auto;margin:0 1.2rem 4rem}h1{font-size:clamp(3.15rem,15vw,4.7rem)}.hero-actions{align-items:flex-start;flex-direction:column}
  .trust-strip{width:calc(100% - 2rem);margin-top:-1.4rem}.trust-strip div{padding:1.2rem}.trust-strip strong{font-size:1.25rem}.welcome,.owner-section,.difference-section,.facilities-heading{grid-template-columns:1fr}.portrait-photo{width:min(28rem,92%);margin:auto}.portrait-photo figcaption{left:-1rem}.care-grid{grid-template-columns:1fr}.care-grid h3{margin-top:2rem}.feeding-story{min-height:52rem;padding:1rem}.feeding-card{margin-top:auto}.stay-grid,.steps-grid{grid-template-columns:1fr}.facilities-heading .section-kicker{grid-column:auto}.facilities-grid{grid-template-columns:1fr;grid-auto-rows:16rem}.facilities-grid figure,.facility-main,.facilities-grid figure:nth-child(n){grid-column:auto}.facilities-grid .facility-main{grid-row:span 2}.steps-grid article{min-height:auto}.steps-grid h3{margin-top:2.2rem}footer{grid-template-columns:1fr}.footer-brand{grid-row:auto;margin-bottom:1.5rem}
}
@media (max-width:430px) { .brand-mark{width:2.5rem;height:2.5rem}.brand-name{max-width:13rem}.hero-copy{font-size:1.05rem}.trust-strip{grid-template-columns:1fr}.trust-strip div + div{border-left:0;border-top:1px solid var(--line)}.trust-strip div:nth-child(3){border-top:1px solid var(--line)} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.button{transition:none} }
