@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--bg:#f7f6f2;--surface:#fff;--ink:#171717;--muted:#6d6d68;--line:#deddd7;--accent:#9a6b4f;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;gap:40px;border-bottom:1px solid rgba(0,0,0,.08);background:rgba(247,246,242,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.logo{font-weight:700;font-size:25px;letter-spacing:-1.5px;margin-right:auto}.logo span{color:var(--accent)}.site-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.site-nav a{position:relative;padding:8px 0;color:#444}.site-nav a:hover,.site-nav a.active{color:var(--ink)}.site-nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--accent)}.menu-button{display:none}main{min-height:calc(100vh - 150px)}.wrap{width:min(calc(100% - 10vw),var(--max));margin:auto}.hero{min-height:72vh;display:flex;flex-direction:column;justify-content:center;width:min(calc(100% - 10vw),1000px);margin:auto;padding:90px 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--accent);margin:0 0 18px}.hero h1,.page-header h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-2px;line-height:1.02;margin:0;max-width:900px;font-size:clamp(48px,7vw,88px)}.intro{font-size:18px;line-height:1.75;color:var(--muted);max-width:720px;margin:30px 0}.button{display:inline-flex;width:max-content;padding:13px 22px;background:var(--ink);color:#fff;border-radius:999px;font-size:13px;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}.home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:100px}.home-card{background:var(--surface);min-height:220px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;transition:.25s}.home-card h3{font-family:'Playfair Display',Georgia,serif;font-size:28px;line-height:1.2;font-weight:500;margin:0}.home-card:hover{background:#f0eee8;transform:translateY(-3px)}.page-header{padding:30px 0 75px;border-bottom:1px solid var(--line)}.page-header h1{font-size:clamp(48px,6vw,76px)}.page-header .intro{margin-bottom:0}.section{padding:85px 0}.two-column{display:grid;grid-template-columns:25% 1fr;gap:60px}.two-column h2{font-family:'Playfair Display',Georgia,serif;font-size:42px;line-height:1.15;font-weight:500;margin:0 0 25px}.large-copy{font-size:19px;color:var(--muted);max-width:760px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--surface);border:1px solid var(--line);padding:32px;min-height:250px;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.06)}.card h3{font-family:'Playfair Display',Georgia,serif;font-size:27px;line-height:1.2;font-weight:500;margin:0 0 14px}.card p:not(.eyebrow){color:var(--muted)}.experience-list{display:grid}.experience{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:25px 0;border-top:1px solid var(--line)}.experience h3{margin:0;font-size:20px}.experience p:not(.eyebrow){color:var(--muted);margin-bottom:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-placeholder{aspect-ratio:1;background:#e9e7e0;display:flex;align-items:center;justify-content:center;color:#888;font-size:12px}.site-footer{border-top:1px solid var(--line);padding:35px 5vw;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.site-footer a{color:var(--ink)}@media(max-width:850px){.site-header{height:70px}.site-nav{gap:14px}.site-nav a:nth-child(4){display:none}.hero{min-height:68vh}.two-column{grid-template-columns:1fr;gap:20px}.card-grid,.gallery-grid{grid-template-columns:1fr}.home-grid{grid-template-columns:1fr}.experience{grid-template-columns:1fr;gap:4px}.experience .eyebrow{margin-bottom:0}}@media(max-width:620px){.site-header{padding:0 6vw}.site-nav{display:none}.menu-button{display:block;border:0;background:transparent;font:inherit;font-size:12px;font-weight:700}.hero{padding:65px 0}.hero h1,.page-header h1{letter-spacing:-1px}.wrap{width:min(calc(100% - 12vw),var(--max))}.page-header{padding:20px 0 55px}.section{padding:60px 0}.home-card{min-height:190px;padding:26px}.site-footer{padding:28px 6vw}}
@media(max-width:620px){
  .site-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 6vw 20px;background:var(--bg);border-bottom:1px solid var(--line);max-height:calc(100dvh - 70px);overflow-y:auto;box-shadow:0 12px 20px rgba(0,0,0,.06)}
  .site-nav.open a{display:block;padding:12px 0}
  .menu-button{min-height:44px;min-width:44px;cursor:pointer}
}

/* New York travel journal */
/* Community business support */
.business-story{border-top:1px solid var(--line);scroll-margin-top:100px}
.business-story h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(32px,4.5vw,52px);font-weight:500;line-height:1.15;max-width:850px;margin:0 0 28px}
.business-copy{max-width:780px;font-size:18px;line-height:1.8}
.business-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1.2;font-weight:500}
.business-story figure{margin:0;min-width:0}
.business-story img{display:block;width:100%;height:auto;border-radius:4px}
.business-story figcaption{font-size:14px;line-height:1.5;color:var(--muted);margin-top:10px}
.business-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0 54px}
.business-behind-scenes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:48px;align-items:center;margin-bottom:54px}
.business-team{max-width:900px}
@media(max-width:620px){.business-photos,.business-behind-scenes{grid-template-columns:1fr;gap:28px}.business-copy{font-size:17px}}

.ny-trip{max-width:860px;font-size:18px;line-height:1.8}
.ny-trip h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(38px,6vw,64px);font-weight:500;line-height:1.12;margin:12px 0 20px}
.ny-trip h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(27px,4vw,36px);line-height:1.25;margin-top:52px}
.ny-trip .trip-date,.ny-trip figcaption{color:var(--muted);font-size:14px}
.trip-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}
.trip-photos figure{margin:0;min-width:0}
.trip-photos img{display:block;width:100%;height:auto;border-radius:4px}
.trip-photos figcaption{line-height:1.5;margin-top:10px}
.trip-wide{grid-column:1/-1}
.trip-single{grid-template-columns:minmax(0,520px);justify-content:center}
#travel{scroll-margin-top:100px}
@media(max-width:620px){.trip-photos{grid-template-columns:1fr}.ny-trip{font-size:17px}}

/* Site-wide search */
.site-search{padding:7px 0;border-bottom:1px solid var(--line)}
.search-form{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.search-form label{font-size:13px;font-weight:600}
.search-controls{display:flex;gap:8px;width:min(100%,360px)}
.search-controls input{min-width:0;flex:1;border:1px solid var(--line);border-radius:20px;padding:6px 12px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.search-controls button{border:0;border-radius:20px;padding:6px 16px;background:var(--ink);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-height:38px}
.search-controls input:focus-visible,.search-controls button:focus-visible,.search-result a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.search-page{padding-top:65px;padding-bottom:85px;max-width:900px}
.search-page h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(34px,5vw,56px);line-height:1.15;margin:0 0 24px}
#search-status,#search-empty,.search-excerpt{color:var(--muted)}
.search-results{padding:0;list-style:none;margin:32px 0}
.search-result{padding:26px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.search-result[hidden]{display:none}
.search-result .eyebrow{margin-bottom:8px}
.search-result h2{font-family:'Playfair Display',Georgia,serif;font-size:26px;font-weight:500;line-height:1.3;margin:0 0 10px}
.search-result a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}
.search-result a:hover{text-decoration-color:var(--accent)}
.search-excerpt{margin:0}
@media(max-width:620px){.search-form{position:relative;gap:0}.search-form label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.search-controls{width:min(100%,360px)}.search-controls input,.search-controls button{min-height:44px}.site-search{padding:6px 0}.search-page{padding-top:44px}}
