/* Hudson Farm Weddings & Events — refresh. Mobile-first, one accent, no framework. */
:root{--accent:#931515;--accent-dark:#6f0f0f;--ink:#3a2a20;--paper:#f8f3ea;--cream:#f1e8d8;--muted:#6b5b50;--line:#dfd2bf;--white:#fff;
--display:"Fraunces",Georgia,"Times New Roman",serif;--body:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--s5:4rem}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.65 var(--body);color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.1;margin:0 0 var(--s2);color:var(--ink);letter-spacing:-.01em}
h1{font-size:clamp(2.25rem,6vw,3.75rem)}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:1.25rem}
p{margin:0 0 1.1em}.lede{font-size:1.2rem;line-height:1.55}
.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:var(--s1)}
.wrap{width:min(1100px,100% - 32px);margin-inline:auto}.narrow{width:min(720px,100% - 32px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px}.skip:focus{left:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;border-radius:4px;border:2px solid var(--accent);cursor:pointer;font-family:var(--body);font-size:1rem}
.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.secondary{background:transparent;color:var(--accent)}.btn.secondary:hover{background:var(--accent);color:#fff}
.btn.light{background:#fff;color:var(--accent);border-color:#fff}
/* top strip */
.strip{background:var(--ink);color:#fff;font-size:.9rem;padding:8px 0}
.strip .wrap{display:flex;flex-wrap:wrap;gap:4px 20px;justify-content:center}
.strip a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:28px}
/* header */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink)}
.brand img{width:min(220px,48vw)}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-weight:600;border:1px solid var(--line);border-radius:4px}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 16px 16px;display:flex;flex-direction:column}
.menu nav a{padding:12px 8px;min-height:44px;display:flex;align-items:center;color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.menu nav a[aria-current]{color:var(--accent)}
.menu nav .cta{margin-top:12px;border:0}
@media(min-width:900px){
.menu summary{display:none}
.menu nav{position:static;flex-direction:row;align-items:center;gap:4px;padding:0;border:0;background:none}
.menu nav a{border:0;padding:8px 12px}
.menu nav .cta{margin:0 0 0 8px}
}
/* hero */
.hero{position:relative;color:#fff;background:#4a3326 center/cover no-repeat;padding:var(--s5) 0}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,25,18,.55),rgba(40,25,18,.8))}
.hero .wrap{position:relative;max-width:760px;margin-inline:auto}
.hero h1{color:#fff;margin-bottom:var(--s2)}
.hero p{font-size:1.15rem;max-width:34em;color:#f3ebe0}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s3)}
@media(min-width:900px){.hero{min-height:82vh;display:flex;align-items:center}}
.page-hero{padding:var(--s4) 0}
.page-hero .wrap{text-align:left}
/* facts */
.facts{background:var(--cream);border-bottom:1px solid var(--line)}
.facts .wrap{display:grid;gap:var(--s2);padding:var(--s3) 0}
.facts div{font-size:.95rem}.facts strong{display:block;font-family:var(--display);font-size:1.35rem;font-weight:500}
.facts a{color:var(--ink)}
@media(min-width:700px){.facts .wrap{grid-template-columns:repeat(4,1fr)}}
section{padding:var(--s4) 0}
@media(min-width:900px){section{padding:var(--s5) 0}}
.split{display:grid;gap:var(--s3);align-items:center}
@media(min-width:900px){.split{grid-template-columns:1.1fr .9fr;gap:var(--s4)}.split.flip>figure{order:-1}}
.split figure{margin:0;border-radius:6px;overflow:hidden;aspect-ratio:4/5;background:var(--cream)}
.split img{width:100%;height:100%;object-fit:cover}
/* cards */
.cards{display:grid;gap:var(--s2)}
@media(min-width:700px){.cards{grid-template-columns:1fr 1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:var(--s3)}
.card h3{margin-bottom:var(--s1)}
/* testimonials */
.quotes{display:grid;gap:var(--s2)}
@media(min-width:700px){.quotes{grid-template-columns:1fr 1fr}}
blockquote{margin:0;background:#fff;border:1px solid var(--line);border-radius:6px;padding:var(--s3);font-family:var(--display);font-size:1.15rem;line-height:1.5}
blockquote footer{font-family:var(--body);font-size:.9rem;color:var(--muted);margin-top:var(--s2)}
blockquote footer::before{content:"— "}
/* gallery */
.gallery{display:grid;gap:10px;grid-template-columns:1fr 1fr}
@media(min-width:700px){.gallery{grid-template-columns:repeat(3,1fr)}}
.gallery figure{margin:0;aspect-ratio:1;overflow:hidden;border-radius:6px;background:var(--cream)}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery.wide figure:first-child{grid-column:1/-1;aspect-ratio:16/9}
/* faq */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:16px 0;min-height:44px;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{padding-bottom:16px;color:var(--muted)}
/* forms */
.embed{background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px}
.embed iframe{width:100%;min-height:720px;border:0;display:block}
/* cta band */
.cta-band{background:var(--accent);color:#fff;text-align:center}
.cta-band h2{color:#fff}.cta-band p{color:#f7e3e3;max-width:36em;margin-inline:auto}
/* story */
.story p{font-size:1.1rem}
.story figure{margin:var(--s3) 0 0}.story figcaption{font-size:.9rem;color:var(--muted);margin-top:8px}
/* contact */
.contact-grid{display:grid;gap:var(--s3)}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1fr}}
address{font-style:normal;line-height:1.7}address a{color:var(--ink)}
.video-poster{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#3a2a20 center/cover no-repeat;display:flex;align-items:flex-end;padding:var(--s2);color:#fff}
.video-poster span{background:rgba(0,0,0,.6);padding:6px 10px;border-radius:4px;font-size:.9rem}
/* footer */
.site-footer{background:var(--ink);color:#e9dfd2;padding:var(--s4) 0 var(--s3);font-size:.95rem}
.site-footer .wrap{display:grid;gap:var(--s3)}
@media(min-width:700px){.site-footer .wrap{grid-template-columns:2fr 1fr 1fr}}
.site-footer h3{color:#fff;font-size:1.1rem}
.site-footer a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.site-footer nav a{display:flex;min-height:40px}
.site-footer .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:var(--s2);font-size:.85rem;color:#c9bcae}
