/* =========================================================
   Creekside Farm Event Venue — Willamette Valley editorial
   Palette: chestnut + terracotta + Willamette sage + blush-cream
   ========================================================= */

:root{
  --ink:#1F1A16;
  --leather:#3D2F26;
  --leather-2:#574232;
  --umber:#A8542B;
  --umber-deep:#8A4321;
  --sage:#87936D;
  --sage-deep:#5E6A48;
  --cream:#F5EFE5;
  --bone:#FBF8F2;
  --rule:#D6CBB8;
  --rule-soft:rgba(214,203,184,0.5);

  --font-display:"Tenor Sans", Georgia, serif;
  --font-body:"Lora", Georgia, serif;
  --font-label:"JetBrains Mono", ui-monospace, monospace;

  --max:1380px;
  --gutter:clamp(20px, 4vw, 64px);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--bone);
  color:var(--ink);
  font-size:17px;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}

/* paper grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12  0 0 0 0 0.10  0 0 0 0 0.08  0 0 0 0.035 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.55;mix-blend-mode:multiply;
}

/* ---------- typography ---------- */
.display{font-family:var(--font-display);font-weight:400;line-height:1.02;letter-spacing:-0.005em;}
.label{font-family:var(--font-label);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--leather-2);}
.italic{font-style:italic;color:var(--umber);}
.kicker{font-family:var(--font-label);font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--sage-deep);}
.dropcap::first-letter{
  font-family:var(--font-display);float:left;font-size:5.2em;line-height:.86;padding:6px 14px 0 0;color:var(--umber);
}

/* ---------- layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);position:relative;z-index:2;}
section{position:relative;z-index:2;}
.divider{height:1px;background:var(--rule);max-width:var(--max);margin:0 auto;}
.divider-ornament{
  display:flex;align-items:center;gap:18px;max-width:var(--max);margin:0 auto;padding:0 var(--gutter);
}
.divider-ornament::before, .divider-ornament::after{content:"";flex:1;height:1px;background:var(--rule);}
.divider-ornament svg{flex-shrink:0;}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(251,248,242,0.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule-soft);
  transition:background .3s ease;
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max);margin:0 auto;padding:14px var(--gutter);
}
.nav-brand{display:flex;align-items:center;gap:12px;}
.nav-brand svg{flex-shrink:0;}
.nav-brand-text{
  font-family:var(--font-display);font-size:17px;letter-spacing:0.05em;color:var(--leather);
  display:flex;flex-direction:column;line-height:1;
}
.nav-brand-text small{
  font-family:var(--font-label);font-size:9px;letter-spacing:0.25em;color:var(--sage-deep);margin-top:4px;text-transform:uppercase;
}
.nav-links{display:flex;gap:28px;align-items:center;}
.nav-links a{font-family:var(--font-label);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--leather);transition:color .2s;}
.nav-links a:hover{color:var(--umber);}
.nav-cta{
  background:var(--leather);color:var(--bone);padding:10px 18px;border-radius:0;
  font-family:var(--font-label);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
  transition:background .2s;
}
.nav-cta:hover{background:var(--umber);color:var(--bone);}
.nav-toggle{display:none;}

@media (max-width:880px){
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--bone);border-bottom:1px solid var(--rule);
    flex-direction:column;align-items:flex-start;padding:24px var(--gutter);gap:20px;
  }
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;width:32px;height:32px;position:relative;}
  .nav-toggle span{position:absolute;left:4px;right:4px;height:1.5px;background:var(--leather);transition:transform .25s;}
  .nav-toggle span:nth-child(1){top:11px;}
  .nav-toggle span:nth-child(2){top:20px;}
  .nav-toggle.open span:nth-child(1){top:15px;transform:rotate(45deg);}
  .nav-toggle.open span:nth-child(2){top:15px;transform:rotate(-45deg);}
  .nav-cta{display:none;}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:flex-end;
  padding:120px var(--gutter) 60px;
  overflow:hidden;color:var(--bone);
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(180deg, rgba(31,26,22,0.25) 0%, rgba(31,26,22,0.15) 35%, rgba(31,26,22,0.85) 100%),
    url("https://images.unsplash.com/photo-1519741497674-611481863552?w=2400&q=85") center/cover no-repeat;
  animation:slowzoom 24s ease-in-out infinite alternate;
}
@keyframes slowzoom{from{transform:scale(1);}to{transform:scale(1.08);}}
.hero-inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto;width:100%;}
.hero-eyebrow{
  display:flex;align-items:center;gap:16px;
  font-family:var(--font-label);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;
  color:rgba(251,248,242,0.85);margin-bottom:28px;
}
.hero-eyebrow::before{content:"";width:44px;height:1px;background:rgba(251,248,242,0.6);}
.hero h1{
  font-family:var(--font-display);
  font-size:clamp(44px, 7.2vw, 108px);
  line-height:0.98;letter-spacing:-0.012em;
  color:var(--bone);max-width:14ch;
  margin-bottom:32px;font-weight:400;
}
.hero h1 em{font-style:italic;color:#E5C4A0;font-family:"Lora",serif;font-weight:400;}
.hero-meta{
  display:flex;gap:36px;flex-wrap:wrap;align-items:center;
  margin-top:48px;padding-top:32px;border-top:1px solid rgba(251,248,242,0.25);
  max-width:880px;
}
.hero-meta-item{display:flex;flex-direction:column;gap:4px;}
.hero-meta-item .label{color:rgba(251,248,242,0.55);}
.hero-meta-item strong{font-family:var(--font-display);font-size:21px;color:var(--bone);font-weight:400;}
.hero-cta{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--umber);color:var(--bone);padding:18px 32px;
  font-family:var(--font-label);font-size:11px;letter-spacing:0.24em;text-transform:uppercase;
  transition:background .3s, gap .3s;
}
.hero-cta:hover{background:var(--bone);color:var(--leather);gap:20px;}
.hero-cta svg{transition:transform .3s;}
.hero-cta:hover svg{transform:translateX(4px);}
.hero-scroll{
  position:absolute;bottom:24px;right:var(--gutter);z-index:2;
  font-family:var(--font-label);font-size:10px;letter-spacing:0.25em;text-transform:uppercase;
  color:rgba(251,248,242,0.7);writing-mode:vertical-rl;transform:rotate(180deg);
  display:flex;align-items:center;gap:14px;
}
.hero-scroll::after{content:"";display:block;width:1px;height:60px;background:rgba(251,248,242,0.4);}

/* ---------- marquee strip ---------- */
.marquee{
  background:var(--leather);color:var(--cream);
  padding:18px 0;overflow:hidden;border-top:1px solid var(--leather-2);border-bottom:1px solid var(--leather-2);
}
.marquee-track{
  display:flex;gap:48px;white-space:nowrap;
  animation:marquee 38s linear infinite;
  font-family:var(--font-display);font-size:21px;letter-spacing:0.04em;
}
.marquee-track span{display:inline-flex;align-items:center;gap:48px;}
.marquee-track em{font-family:"Lora",serif;font-style:italic;color:var(--umber);font-size:18px;}
.marquee-track svg{flex-shrink:0;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- section header ---------- */
.s-head{
  display:grid;grid-template-columns:200px 1fr;gap:48px;align-items:end;
  padding:120px 0 60px;
}
.s-head .meta{display:flex;flex-direction:column;gap:14px;padding-bottom:8px;}
.s-head h2{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(34px, 5.2vw, 72px);line-height:1.02;letter-spacing:-0.01em;
  color:var(--leather);max-width:18ch;
}
.s-head h2 em{font-style:italic;color:var(--umber);font-family:"Lora",serif;}
@media (max-width:760px){
  .s-head{grid-template-columns:1fr;gap:20px;padding:80px 0 40px;}
}

/* ---------- property gallery ---------- */
.gallery{padding-bottom:120px;}
.gallery-grid{
  display:grid;grid-template-columns:repeat(12, 1fr);gap:20px;
}
.tile{position:relative;overflow:hidden;cursor:zoom-in;background:var(--leather);}
.tile img{
  width:100%;height:100%;object-fit:cover;transition:transform .8s ease;
  aspect-ratio:4/3;
}
.tile:hover img{transform:scale(1.04);}
.tile-cap{
  position:absolute;left:18px;bottom:14px;
  font-family:var(--font-label);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--bone);background:rgba(31,26,22,0.55);padding:6px 12px;backdrop-filter:blur(4px);
}
.tile.t-lg{grid-column:span 8;}
.tile.t-lg img{aspect-ratio:16/10;}
.tile.t-sm{grid-column:span 4;}
.tile.t-sm img{aspect-ratio:4/5;}
.tile.t-md{grid-column:span 6;}
.tile.t-md img{aspect-ratio:3/2;}
.tile.t-tall{grid-column:span 4;}
.tile.t-tall img{aspect-ratio:3/4;}
@media (max-width:760px){
  .tile.t-lg,.tile.t-sm,.tile.t-md,.tile.t-tall{grid-column:span 12;}
}

/* lightbox */
.lightbox{
  position:fixed;inset:0;background:rgba(15,12,10,.94);z-index:200;
  display:none;align-items:center;justify-content:center;padding:40px;cursor:zoom-out;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.lightbox .lb-close{
  position:absolute;top:20px;right:24px;color:var(--bone);font-family:var(--font-label);font-size:11px;letter-spacing:.2em;
}

/* ---------- included grid ---------- */
.included{background:var(--cream);padding:0 0 120px;}
.included-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--rule);
}
.inc-cell{
  padding:48px 32px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  display:flex;flex-direction:column;gap:14px;background:var(--cream);
  transition:background .3s;
}
.inc-cell:nth-child(3n){border-right:none;}
.inc-cell:hover{background:var(--bone);}
.inc-cell svg{color:var(--umber);}
.inc-cell h3{font-family:var(--font-display);font-size:22px;color:var(--leather);font-weight:400;}
.inc-cell p{font-size:15px;color:var(--leather-2);line-height:1.65;}
.inc-cell .num{font-family:var(--font-label);font-size:10px;letter-spacing:0.25em;color:var(--sage-deep);margin-bottom:4px;}
@media (max-width:880px){
  .included-grid{grid-template-columns:repeat(2,1fr);}
  .inc-cell:nth-child(3n){border-right:1px solid var(--rule);}
  .inc-cell:nth-child(2n){border-right:none;}
}
@media (max-width:560px){
  .included-grid{grid-template-columns:1fr;}
  .inc-cell{border-right:none !important;}
}

/* ---------- capacity table ---------- */
.capacity{padding-bottom:120px;}
.cap-table{
  border-top:2px solid var(--leather);
  margin-top:20px;
}
.cap-row{
  display:grid;grid-template-columns:1.5fr 1.3fr 1.5fr 2fr;gap:32px;
  padding:32px 8px;border-bottom:1px solid var(--rule);align-items:start;
  transition:background .25s;
}
.cap-row:hover{background:var(--cream);}
.cap-row h4{font-family:var(--font-display);font-size:24px;color:var(--leather);font-weight:400;}
.cap-row .cap-cap{font-family:var(--font-display);font-size:18px;color:var(--umber);}
.cap-row .cap-type{font-family:var(--font-label);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage-deep);}
.cap-row .cap-note{font-size:15px;color:var(--leather-2);line-height:1.55;}
.cap-head{
  display:grid;grid-template-columns:1.5fr 1.3fr 1.5fr 2fr;gap:32px;padding:18px 8px;
  font-family:var(--font-label);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--leather-2);
}
@media (max-width:760px){
  .cap-head{display:none;}
  .cap-row{grid-template-columns:1fr;gap:8px;padding:24px 0;}
}

/* ---------- pricing ---------- */
.pricing{background:var(--ink);color:var(--cream);padding:120px 0;position:relative;overflow:hidden;}
.pricing::before{
  content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n2'><feTurbulence baseFrequency='0.6' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.85  0 0 0 0 0.62  0 0 0 0 0.40  0 0 0 0.025 0'/></filter><rect width='100%' height='100%' filter='url(%23n2)'/></svg>");
  opacity:.4;pointer-events:none;
}
.pricing .wrap{position:relative;z-index:2;}
.pricing .s-head h2{color:var(--cream);}
.pricing .s-head h2 em{color:#E5C4A0;}
.pricing .label{color:rgba(245,239,229,0.55);}
.pricing .kicker{color:var(--umber);}
.pkg-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:40px;
}
.pkg{
  background:#2A211B;border:1px solid #3D2F26;padding:40px 36px;
  display:flex;flex-direction:column;gap:20px;position:relative;
  transition:transform .35s, border-color .35s;
}
.pkg:hover{transform:translateY(-4px);border-color:var(--umber);}
.pkg-tag{
  position:absolute;top:-1px;right:-1px;background:var(--umber);color:var(--bone);
  padding:6px 14px;font-family:var(--font-label);font-size:9px;letter-spacing:0.25em;text-transform:uppercase;
}
.pkg-head{display:flex;flex-direction:column;gap:10px;padding-bottom:22px;border-bottom:1px solid #3D2F26;}
.pkg-head h3{font-family:var(--font-display);font-size:30px;color:var(--cream);font-weight:400;}
.pkg-price{font-family:var(--font-display);font-size:42px;color:#E5C4A0;line-height:1;font-weight:400;}
.pkg-sub{font-family:"Lora",serif;font-style:italic;color:rgba(245,239,229,0.7);font-size:15px;line-height:1.5;}
.pkg ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.pkg li{display:flex;gap:12px;font-size:15px;color:rgba(245,239,229,0.85);line-height:1.55;}
.pkg li::before{content:"";flex-shrink:0;width:6px;height:6px;background:var(--umber);border-radius:50%;margin-top:8px;}
.pkg-note{margin-top:40px;font-family:"Lora",serif;font-style:italic;color:rgba(245,239,229,0.6);font-size:14px;text-align:center;max-width:680px;margin-left:auto;margin-right:auto;}
@media (max-width:760px){.pkg-grid{grid-template-columns:1fr;}}

/* ---------- editorial split ---------- */
.story{padding:140px 0 120px;}
.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start;}
.story-photo{position:relative;}
.story-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.story-photo .photo-cap{
  position:absolute;left:-20px;bottom:-32px;background:var(--bone);padding:14px 20px;
  font-family:var(--font-label);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--leather);
  border:1px solid var(--rule);
}
.story-copy h2{
  font-family:var(--font-display);font-size:clamp(34px,4.6vw,58px);font-weight:400;
  line-height:1.05;letter-spacing:-0.008em;color:var(--leather);margin-bottom:28px;
}
.story-copy h2 em{font-style:italic;color:var(--umber);font-family:"Lora",serif;}
.story-copy p{margin-bottom:18px;color:var(--leather-2);font-size:17px;line-height:1.78;}
.story-sig{
  display:flex;align-items:center;gap:18px;margin-top:36px;padding-top:24px;border-top:1px solid var(--rule);
}
.story-sig-name{font-family:var(--font-display);font-size:18px;color:var(--leather);}
.story-sig-role{font-family:var(--font-label);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--sage-deep);}
@media (max-width:880px){.story-grid{grid-template-columns:1fr;gap:50px;}}

/* ---------- real weddings ---------- */
.weddings{background:var(--cream);padding:0 0 120px;}
.wed-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.wed-tile{position:relative;overflow:hidden;}
.wed-tile img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .8s;cursor:zoom-in;}
.wed-tile:hover img{transform:scale(1.05);}
.wed-tile-cap{position:absolute;left:14px;bottom:12px;color:var(--bone);font-family:"Lora",serif;font-style:italic;font-size:14px;text-shadow:0 1px 4px rgba(0,0,0,.4);}
@media (max-width:760px){.wed-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- reviews ---------- */
.reviews{padding:120px 0;}
.rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;}
.rev{
  border-top:1px solid var(--rule);padding-top:32px;
  display:flex;flex-direction:column;gap:20px;
}
.rev-stars{color:var(--umber);font-size:18px;letter-spacing:4px;}
.rev blockquote{
  font-family:var(--font-display);font-size:24px;line-height:1.4;color:var(--leather);font-weight:400;
}
.rev cite{font-family:var(--font-label);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--sage-deep);font-style:normal;}
.rev-summary{
  margin-top:48px;text-align:center;font-family:"Lora",serif;font-style:italic;color:var(--leather-2);font-size:16px;
}
@media (max-width:760px){.rev-grid{grid-template-columns:1fr;gap:36px;}}

/* ---------- FAQ ---------- */
.faq{background:var(--cream);padding:0 0 120px;}
.faq-list{border-top:1px solid var(--rule);}
.faq-item{border-bottom:1px solid var(--rule);}
.faq-q{
  width:100%;padding:32px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:32px;text-align:left;
  font-family:var(--font-display);font-size:22px;color:var(--leather);transition:color .2s;font-weight:400;
}
.faq-q:hover{color:var(--umber);}
.faq-q .faq-icon{
  flex-shrink:0;width:22px;height:22px;border:1px solid var(--leather);border-radius:50%;
  display:flex;align-items:center;justify-content:center;position:relative;margin-top:6px;transition:all .25s;
}
.faq-q .faq-icon::before,.faq-q .faq-icon::after{
  content:"";position:absolute;background:var(--leather);transition:opacity .25s,background .25s;
}
.faq-q .faq-icon::before{width:10px;height:1px;}
.faq-q .faq-icon::after{width:1px;height:10px;}
.faq-item.open .faq-q .faq-icon{border-color:var(--umber);background:var(--umber);}
.faq-item.open .faq-q .faq-icon::before{background:var(--bone);}
.faq-item.open .faq-q .faq-icon::after{opacity:0;}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .35s ease;
}
.faq-a-inner{padding:0 60px 32px 0;color:var(--leather-2);font-size:16px;line-height:1.75;}
.faq-item.open .faq-a{max-height:400px;}

/* ---------- tour request form ---------- */
.tour{background:var(--leather);color:var(--cream);padding:120px 0;position:relative;overflow:hidden;}
.tour::before{
  content:"";position:absolute;inset:0;
  background:url("https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?w=2400&q=80") center/cover no-repeat;
  opacity:.15;
}
.tour .wrap{position:relative;z-index:2;}
.tour .s-head h2{color:var(--cream);}
.tour .s-head h2 em{color:#E5C4A0;}
.tour .label{color:rgba(245,239,229,0.55);}
.tour-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start;margin-top:40px;}
.tour-info{display:flex;flex-direction:column;gap:32px;}
.tour-info-item .label{margin-bottom:8px;color:rgba(245,239,229,0.55);}
.tour-info-item .val{font-family:var(--font-display);font-size:22px;color:var(--cream);font-weight:400;}
.tour-info-item .val a:hover{color:#E5C4A0;}
.tour-info p{color:rgba(245,239,229,0.75);font-size:16px;line-height:1.7;}

.form{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form .full{grid-column:span 2;}
.form label{
  display:flex;flex-direction:column;gap:8px;
  font-family:var(--font-label);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(245,239,229,0.6);
}
.form input,.form textarea,.form select{
  background:transparent;border:none;border-bottom:1px solid rgba(245,239,229,0.3);
  padding:12px 0;color:var(--cream);font-family:"Lora",serif;font-size:16px;
  transition:border-color .25s;
}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-bottom-color:var(--umber);}
.form textarea{resize:vertical;min-height:80px;}
.form select option{background:var(--leather);color:var(--cream);}
.form-submit{
  grid-column:span 2;background:var(--umber);color:var(--bone);
  padding:18px 28px;border:none;font-family:var(--font-label);font-size:11px;letter-spacing:0.24em;text-transform:uppercase;
  cursor:pointer;transition:background .25s;margin-top:12px;
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
}
.form-submit:hover{background:var(--bone);color:var(--leather);}
@media (max-width:880px){.tour-grid{grid-template-columns:1fr;gap:50px;}.form{grid-template-columns:1fr;}.form .full,.form-submit{grid-column:span 1;}}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:rgba(245,239,229,0.75);padding:80px 0 32px;}
.foot-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px;
}
.foot-brand{display:flex;flex-direction:column;gap:16px;}
.foot-brand-name{font-family:var(--font-display);font-size:22px;color:var(--cream);}
.foot-brand p{font-family:"Lora",serif;font-style:italic;font-size:14px;color:rgba(245,239,229,0.5);line-height:1.6;max-width:32ch;}
.foot-col h5{font-family:var(--font-label);font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:var(--umber);margin-bottom:16px;}
.foot-col a, .foot-col p{display:block;font-size:14px;color:rgba(245,239,229,0.7);padding:6px 0;transition:color .2s;line-height:1.5;}
.foot-col a:hover{color:#E5C4A0;}
.foot-bottom{
  border-top:1px solid rgba(245,239,229,0.1);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  font-family:var(--font-label);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(245,239,229,0.5);
}
.foot-bottom a:hover{color:#E5C4A0;}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px;}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr;}}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease, transform .9s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .reveal,.hero-bg{animation:none !important;transition:none !important;opacity:1 !important;transform:none !important;}
}

/* =========================================================
   CREEKSIDE FARM — brand-specific premium layer (v3)
   Real logo placement, line-art motifs, readability + polish
   ========================================================= */

/* --- real logo placements --- */
.nav-logo{height:52px;width:auto;display:block;}
@media (max-width:880px){ .nav-logo{height:46px;} }
.story-sig-logo{height:64px;width:auto;display:block;}
.foot-logo{
  height:92px;width:auto;display:block;
  /* chestnut artwork -> warm cream on the dark footer */
  filter:brightness(0) saturate(100%) invert(92%) sepia(12%) saturate(420%) hue-rotate(335deg) brightness(98%);
  opacity:.92;margin-bottom:4px;
}

/* --- hero refinements --- */
.hero{align-items:center;}
.hero-inner{padding-top:40px;}
.hero-eyebrow{letter-spacing:0.34em;}
.hero h1{text-shadow:0 2px 30px rgba(20,14,9,0.35);}
.hero-cta{box-shadow:0 14px 40px -12px rgba(20,14,9,0.55);}
/* a soft warm vignette so white text always reads */
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 80% at 20% 70%, rgba(36,27,20,0.45) 0%, rgba(36,27,20,0) 60%);
}
.hero-inner{z-index:2;}

/* --- brand line-art divider (cypress + farmhouse + furrows from their logo) --- */
.brand-divider{
  display:flex;align-items:center;justify-content:center;gap:26px;
  max-width:var(--max);margin:0 auto;padding:14px var(--gutter);
}
.brand-divider::before,.brand-divider::after{
  content:"";flex:1;height:1px;max-width:240px;
  background:linear-gradient(90deg,transparent,var(--rule),transparent);
}
.brand-divider svg{flex-shrink:0;color:var(--sage-deep);opacity:.9;}

/* --- gallery polish: caption lifts in, image warms on hover --- */
.tile::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(36,27,20,0) 55%,rgba(36,27,20,0.5) 100%);
  opacity:.55;transition:opacity .5s ease;
}
.tile:hover::after{opacity:.85;}
.tile-cap{transform:translateY(4px);transition:transform .45s ease;z-index:2;}
.tile:hover .tile-cap{transform:translateY(0);}

/* --- section heading: small brand tick under the kicker --- */
.s-head .meta .kicker{position:relative;}
.s-head .meta .kicker::after{
  content:"";display:block;width:30px;height:2px;background:var(--umber);margin-top:14px;opacity:.85;
}

/* --- story photo framing --- */
.story-photo{box-shadow:0 30px 60px -30px rgba(36,27,20,0.45);}
.story-photo img{transition:transform .9s ease;}
.story-photo:hover img{transform:scale(1.03);}

/* --- pricing card: featured glow --- */
.pkg{box-shadow:0 24px 60px -40px rgba(0,0,0,0.6);}

/* --- readability hardening --- */
.inc-cell p,.cap-row .cap-note,.story-copy p{color:#5A4636;}
.faq-a-inner{color:#5A4636;}
.wed-tile-cap{background:linear-gradient(180deg,transparent,rgba(36,27,20,0.0));}
.wed-tile::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(36,27,20,0) 60%,rgba(36,27,20,0.45) 100%);
}
.wed-tile-cap{z-index:2;}

/* --- nav: tighten brand link --- */
.nav-brand{padding:2px 0;}

/* --- buttons: gentle lift --- */
.nav-cta{transition:background .25s, transform .25s;}
.nav-cta:hover{transform:translateY(-1px);}

/* --- marquee: slightly calmer --- */
.marquee-track em{color:var(--gold);}

/* --- reduce-motion already handled upstream --- */
@media (prefers-reduced-motion:reduce){
  .hero-bg{animation:none !important;}
  .marquee-track{animation:none !important;}
}
