/* Luxury Knots - internal pages (loaded after site.css; the approved home page styles in site.css are untouched) */

/* ---------- Page hero ---------- */
.page-hero{padding:150px 0 56px;background:linear-gradient(110deg,#f4ece5,#faf0ea);border-bottom:1px solid var(--border)}
.page-hero-inner{max-width:820px}
.page-hero .breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.08em;color:#7a6e62;margin:0 0 22px}
.page-hero .breadcrumbs a:hover{color:var(--gold)}
.page-hero .breadcrumbs i{font-style:normal;opacity:.5}
.page-hero .breadcrumbs span{color:var(--charcoal)}
.page-hero h1{font-size:clamp(2.8rem,5.6vw,4.8rem);margin:12px 0 0}
.gold-rule{display:block;width:64px;height:2px;background:var(--gold);margin:26px 0 0}
.page-lead{margin-top:26px;max-width:680px}
.page-lead p{margin:0 0 1em;font-size:1.05rem;color:#454448;max-width:none}
.page-lead p:last-child{margin-bottom:0}

/* ---------- Half text / half photo rows ---------- */
.split-section{overflow-x:clip}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,92px);align-items:center}
.split.reverse .split-media{order:2}
.split.no-media{grid-template-columns:minmax(0,760px)}
.split-media{margin:0;position:relative}
.split-media:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(170,124,17,.38);z-index:0}
.split.reverse .split-media:before{inset:18px 18px -18px -18px}
.split-media img{position:relative;z-index:1;width:100%;object-fit:cover;background:var(--sand)}
.split.portrait .split-media img{aspect-ratio:4/5;max-height:680px}
.split.landscape .split-media img{aspect-ratio:5/4}
.split-media.sticky{position:sticky;top:112px}
.split-copy{min-width:0}
.split-copy .eyebrow{margin:0 0 12px}
.split-copy h2{font-size:clamp(2.2rem,3.6vw,3.3rem);margin:0 0 22px}
.split-num{display:block;font:300 3.6rem/1 var(--serif);color:rgba(170,124,17,.6);margin:0 0 10px}
.rich p{margin:0 0 1.15em;color:#454448;line-height:1.85}
.rich p:last-child{margin-bottom:0}
.rich h3{font:400 1.7rem/1.2 var(--serif);color:var(--black);margin:1.8em 0 .6em}
.rich h3:first-child{margin-top:0}
.rich ul{margin:0 0 1.2em;padding-left:1.2em;color:#454448;line-height:1.85}
.split-actions{margin:30px 0 0}

/* ---------- Values ---------- */
.values-head{max-width:640px;margin:0 0 34px}
.values-head .eyebrow{margin:0}
.values-head h2{font-size:clamp(2.2rem,3.6vw,3.2rem);margin:10px 0 0}
.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.value-card{background:var(--ivory);border:1px solid var(--border);padding:32px 28px}
.value-card .num{display:block;font:2.6rem/1 var(--serif);color:rgba(170,124,17,.6);margin-bottom:14px}
.value-card h3{font:400 1.7rem/1.15 var(--serif);color:var(--black);margin:0 0 10px}
.value-card p{margin:0;font-size:.92rem;color:#555}

/* ---------- Stories ---------- */
.empty-note{color:#6d6258}
.story-split{align-items:start}
.story-text{max-width:620px}
.story-text p{font-size:1.02rem}

/* ---------- Legal pages ---------- */
.prose{max-width:760px}
.prose p{font-size:1rem}

/* ---------- Contact ---------- */
.contact-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,60px);align-items:start}
.contact-box,.form-box{padding:clamp(24px,3.4vw,40px);background:var(--sand);border:1px solid var(--border)}
.contact-box h2{font-size:clamp(1.9rem,2.8vw,2.5rem);margin:8px 0 14px}
.contact-box>p:not(.eyebrow){color:#454448}
.contact-list{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid #aa7c1138}
.contact-list li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:15px 0;border-bottom:1px solid #aa7c1138;font-size:.92rem;align-items:baseline}
.contact-list .cl-label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
.contact-list a:hover{color:var(--gold)}
.contact-list li>*:last-child{overflow-wrap:anywhere}
.contact-actions{margin:26px 0 0}
.contact-social{margin:22px 0 0;font-size:.85rem}
.contact-social a:hover{color:var(--gold)}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.form-row input,.form-row textarea{font:inherit;font-size:.95rem}
.form-row textarea{min-height:160px;resize:vertical}
.form-row select{font:inherit;font-size:.95rem;min-height:54px;color:inherit}
.form-row select:disabled{opacity:.55;cursor:not-allowed}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{padding:18px 20px;border-left:3px solid #4a7a52;font-size:1rem}
.alert-error{padding:14px 16px;background:#f7e1dd;color:#7a2a20;border-left:3px solid #b3402f;margin:0 0 20px;font-size:.92rem}
.map-band{padding:0 0 100px}
.map-frame{border:1px solid var(--border);background:var(--sand);aspect-ratio:21/8;min-height:300px}
.map-frame iframe{width:100%;height:100%;border:0;display:block}

/* ---------- Venues page ---------- */
[hidden]{display:none!important}
.venue-section{padding-top:64px}
.venue-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:20px 24px;align-items:end;padding:26px clamp(20px,3vw,34px);background:var(--sand);border:1px solid var(--border);position:relative}
.venue-filter:before{content:"";position:absolute;left:-1px;top:-1px;width:64px;height:2px;background:var(--gold)}
.vf-field label{display:block;margin:0 0 9px;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}
.vf-field select{display:block;width:100%;padding:13px 14px;border:1px solid var(--border);background:#fcf7f3;outline-color:var(--gold);font:inherit;font-size:.95rem;min-height:54px;color:inherit;cursor:pointer}
.vf-field select:disabled{opacity:.55;cursor:not-allowed}
.vf-actions{display:flex;align-items:center;gap:18px;min-height:54px}
.venue-filter.is-live .vf-submit{display:none}
.vf-reset{font-size:.69rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(170,124,17,.45);padding-bottom:3px;white-space:nowrap}
.vf-reset:hover{color:var(--black);border-color:var(--black)}
.venue-count{margin:26px 0 8px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#7a6e62}
.venue-city{margin-top:46px}
.venue-city-head{display:flex;align-items:baseline;gap:18px;margin:0 0 26px}
.venue-city-head h2{font-size:clamp(2rem,3.2vw,2.8rem);margin:0;white-space:nowrap}
.venue-city-head:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(170,124,17,.5),rgba(170,124,17,0));order:2;align-self:center;min-width:30px}
.venue-city-count{order:3;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.venue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;align-items:stretch}
.venue-card{display:flex;flex-direction:column;background:var(--sand);border:1px solid var(--border);padding:22px 22px 24px;transition:.3s}
.venue-card:hover{border-color:#aa7c1177;transform:translateY(-3px)}
.venue-card h3{font:400 1.75rem/1.15 var(--serif);color:var(--black);margin:0 0 16px;min-height:2.3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.venue-photo{margin:0;position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--ivory);border:1px solid var(--border)}
.venue-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.venue-card:hover .venue-photo img{transform:scale(1.045)}
.venue-photo-empty{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#efe2d4,#f9efe7)}
.venue-photo-empty:before{content:"";position:absolute;inset:10px;border:1px solid rgba(170,124,17,.35)}
.venue-photo-empty b{font:300 4.2rem/1 var(--serif);color:rgba(170,124,17,.55)}
.venue-body{display:flex;flex-direction:column;flex:1;padding-top:18px}
.venue-body p{margin:0 0 18px;font-size:.92rem;line-height:1.8;color:#555}
.venue-body .text-link{margin-top:auto;align-self:flex-start;border-bottom:1px solid transparent;padding-bottom:2px}
.venue-body .text-link:hover{color:var(--black);border-color:var(--black)}
.venue-none{margin-top:46px}
@media(max-width:900px){
  .venue-filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .vf-actions{grid-column:1/-1;min-height:0}
}
@media(max-width:600px){
  .venue-section{padding-top:44px}
  .venue-filter{grid-template-columns:minmax(0,1fr)}
  .venue-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .venue-card h3{min-height:0}
  .venue-city{margin-top:38px}
}

/* ---------- Footer extras (only shown when filled in) ---------- */
.footer-social{margin-top:14px}
.footer-social a:hover{color:var(--gold)}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .page-hero{padding:128px 0 44px}
  .split{grid-template-columns:minmax(0,1fr);gap:40px}
  .split.reverse .split-media{order:0}
  .split-media:before,.split.reverse .split-media:before{inset:12px -10px -12px 10px}
  .split.portrait .split-media img{max-height:560px;aspect-ratio:4/4.6}
  .split-media.sticky{position:relative;top:0}
  .value-grid{grid-template-columns:minmax(0,1fr)}
  .contact-layout{grid-template-columns:minmax(0,1fr)}
  .map-frame{aspect-ratio:4/3}
}
@media(max-width:600px){
  .form-grid-2{grid-template-columns:1fr}
  .contact-list li{grid-template-columns:1fr;gap:4px}
  .map-band{padding-bottom:70px}
}
