.hero h1{font-size:clamp(46px,5vw,78px);max-width:760px}
.entry-points{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px}
.entry-points .button{text-decoration:none}
.biz-lines{padding-top:20px}
.biz-line-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--sand);border-left:1px solid var(--sand)}
.biz-line-card{min-height:190px;padding:26px;border-right:1px solid var(--sand);border-bottom:1px solid var(--sand);display:flex;flex-direction:column;gap:10px;text-decoration:none;background:var(--paper)}
.biz-line-card:hover{background:var(--ivory)}
.biz-line-card strong{font-family:var(--serif);font-size:28px;font-weight:500}
.biz-line-card span{color:var(--muted);font-size:15px;line-height:1.5}
.growth-band{background:var(--ink);color:#fff;padding:72px 0}
.growth-band .eyebrow{color:#e6c27a}
.growth-band p{max-width:640px;color:#f3ecdf;font-size:18px;line-height:1.6}
.growth-band h2{font-family:var(--serif);font-size:clamp(40px,5vw,68px);font-weight:500;letter-spacing:-.03em;margin:8px 0 16px}
.page-wrap{padding:48px 0 80px}
.page-wrap h1{font-family:var(--serif);font-size:clamp(44px,6vw,78px);font-weight:500;letter-spacing:-.03em;line-height:.95;margin:10px 0 16px}
.lede{max-width:680px;font-size:19px;line-height:1.6;color:var(--muted)}
.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.filter-row button,.chip{border:1px solid var(--sand);background:#fff;min-height:40px;padding:0 14px;cursor:pointer}
.filter-row button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.listing-card{border:1px solid var(--sand);background:#fff;padding:20px;display:flex;flex-direction:column;gap:8px;text-decoration:none;min-height:180px}
.listing-card:hover{background:var(--ivory)}
.listing-card em{font-style:normal;color:var(--gold-dark);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.listing-card strong{font-family:var(--serif);font-size:26px;font-weight:500}
.listing-card span{color:var(--muted)}
.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}
.metric{background:var(--ivory);padding:18px 16px}
.metric b{display:block;font-family:var(--serif);font-size:34px;font-weight:500;line-height:1}
.metric span{display:block;margin-top:8px;color:var(--muted);font-size:13px}
.panel{border-top:1px solid var(--sand);padding:28px 0}
.panel h2{font-family:var(--serif);font-size:36px;font-weight:500;margin:0 0 8px}
.enquiry{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--sand)}
.enquiry p{margin:6px 0;color:var(--muted)}
.rec{background:var(--ivory);padding:14px 16px;margin:10px 0}
.form-stack{display:grid;gap:12px;max-width:680px;margin-top:20px}
.form-stack input,.form-stack select,.form-stack textarea{width:100%;border:1px solid var(--sand);background:#fff;padding:12px 14px;font:inherit}
.form-stack label{display:grid;gap:6px;font-size:14px}
.note{color:var(--muted);font-size:14px}
.status{font-size:14px;color:var(--olive)}
.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.offer{border:1px solid var(--sand);padding:20px;background:#fff}
.offer h3{font-family:var(--serif);font-size:26px;font-weight:500;margin:0 0 8px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{text-align:left;border-bottom:1px solid var(--sand);padding:10px 8px;vertical-align:top;font-size:14px}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
@media(max-width:900px){.biz-line-grid,.listing-grid,.metric-row,.offer-grid{grid-template-columns:1fr 1fr}.enquiry,.split{grid-template-columns:1fr}.hero h1{font-size:46px}}
@media(max-width:640px){.biz-line-grid,.listing-grid,.metric-row,.offer-grid{grid-template-columns:1fr}}

.listing-card img.listing-photo{width:calc(100% + 40px);height:150px;object-fit:cover;margin:-20px -20px 8px}
.profile-photo{width:100%;max-height:360px;object-fit:cover;margin:12px 0}
.vendor-card__body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.request-panel{margin-top:36px}
.check{display:flex;gap:8px;align-items:center}

.journal-article{max-width:740px}
.journal-article h1{font-size:52px;line-height:1.05}
.journal-article .byline{color:var(--muted);margin-bottom:22px}
.journal-article .lede,.journal-entry p,.journal-close p{font-size:18px;line-height:1.75}
.journal-entry{margin-top:48px}
.journal-entry h2{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.15;margin:6px 0 12px}
.journal-entry h2 a{color:inherit;text-decoration:none}
.journal-entry h2 a:hover{text-decoration:underline}
.journal-article p a{color:inherit}
.journal-entry img{width:100%;max-height:420px;object-fit:cover;margin:8px 0 16px}
.journal-close{margin-top:56px;padding-top:8px}

/* Business discovery: one contact model across search, categories and profiles. */
.contact-filter{display:flex;align-items:center;gap:10px;font-size:14px;margin:18px 0}
.contact-filter input{width:18px;height:18px;accent-color:var(--ink)}
.directory-tools{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:end;margin:32px 0}
.directory-tools .directory-keyword{margin:0;display:flex;gap:8px}
.directory-tools .directory-keyword label{flex:1;min-width:0}
.directory-keyword input,.directory-city select{width:100%;padding:14px;border:1px solid var(--sand);background:var(--paper);font:inherit;min-height:50px}
.directory-city{font-size:13px;display:grid;gap:8px}
@media(max-width:640px){.directory-tools{grid-template-columns:1fr;gap:16px}.directory-tools .directory-keyword{flex-wrap:wrap}}
.results-count{font-size:14px;color:var(--muted);margin:0 0 20px}
.business-card{border:1px solid var(--sand-light,var(--sand));background:var(--paper,#fff);display:flex;flex-direction:column;min-width:0}
.business-card>a{display:block}
.business-media{aspect-ratio:16/10;position:relative;background:var(--ivory);overflow:hidden}
.business-media img,.profile-media img{width:100%;height:100%;object-fit:cover;display:block}
.business-media--portrait{background:#e7e0d3}
.business-media--portrait img{object-fit:contain;max-width:320px;margin:auto}
.business-media--cover{background:#eee8db;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--sand)}
.business-media--cover:before{content:'';position:absolute;inset:16px;border:1px solid #ccbea4}
.cover-mark{font-family:var(--serif);font-size:clamp(48px,6vw,84px);font-weight:400;color:#80704e;line-height:1;letter-spacing:-.05em}
.cover-caption{position:absolute;bottom:25px;left:20px;right:20px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6e6658}
.business-card__body{display:flex;flex-direction:column;gap:12px;padding:24px;flex:1;min-width:0}
.business-card h2{font-family:var(--serif);font-size:29px;line-height:1.15;font-weight:400;margin:0;overflow-wrap:anywhere}
.business-card h2 a{color:inherit;text-decoration:none}
.business-card__summary{font-size:14px;line-height:1.65;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.business-card__location{font-size:12px;color:var(--muted);margin:auto 0 0}
.business-card__actions{border-top:1px solid var(--sand);padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
.business-card__actions .text-link{padding:0;overflow-wrap:anywhere}
.business-card:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.business-profile__layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:64px;align-items:start;margin-top:28px}
.business-profile__main{min-width:0}
.profile-media{height:300px;margin-bottom:30px;overflow:hidden;background:var(--ivory)}
.profile-media.business-media--cover{height:230px}
.business-profile h1{font-size:clamp(36px,4vw,58px);line-height:1.08;overflow-wrap:anywhere;margin:12px 0}
.business-profile h2{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2;margin:28px 0 12px}
.profile-location{font-size:15px;color:var(--muted);margin-bottom:28px}
.business-profile .lede{font-size:17px;line-height:1.8}
.business-contact{background:#f5f0e7;border:1px solid var(--sand);padding:28px;min-width:0}
.business-contact h2{margin:12px 0 18px}
.business-contact>.button{display:flex;justify-content:center;margin:16px 0}
.business-contact>.text-link{display:block;margin:16px 0}
.business-contact h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:28px 0 8px;padding-top:24px;border-top:1px solid var(--sand)}
.business-contact .note{font-size:13px;line-height:1.65}
.form-stack .status{line-height:1.65;overflow-wrap:anywhere}
.status--error{color:#9b342a}
.form-stack button:disabled{opacity:.65;cursor:wait}
.phone-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:8px}
.phone-field .phone-country{min-width:0;font-size:13px;padding:12px 8px}
.phone-field input{min-width:0}
.business-contact textarea{resize:vertical;min-height:100px}
.pipeline-wrap{overflow-x:auto}
.table td .text-link{display:inline-block;margin:4px 12px 4px 0}
.table td small{display:block;max-width:350px;white-space:normal;line-height:1.6}
.vendor-card{display:flex;flex-direction:column}
.vendor-card__body{display:flex;flex-direction:column;flex:1}
.vendor-card__footer{margin-top:auto;flex-wrap:wrap;gap:12px}
.vendor-card__name{font-size:28px;overflow-wrap:anywhere}
.vendor-card__image-wrap .business-media--cover{width:100%;height:100%}
@media(max-width:1000px){.business-profile__layout{gap:28px;grid-template-columns:minmax(0,1fr) 350px}}
@media(max-width:760px){.business-profile__layout{grid-template-columns:1fr;gap:28px}.profile-media{height:240px}.business-contact{padding:22px}.business-card__body{padding:20px}}
/* Optional business networking extension */
.networking-page { overflow: hidden; }
.networking-hero { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(260px,.7fr); align-items: center; gap: clamp(2rem,7vw,7rem); padding-top: clamp(4rem,9vw,8rem); padding-bottom: clamp(4rem,8vw,7rem); }
.networking-copy h1,.networking-dashboard-head h1 { max-width: 780px; font-size: clamp(2.7rem,6.5vw,5.6rem); line-height: .99; letter-spacing: -.055em; }
.networking-copy .lede { max-width: 610px; margin: 1.5rem 0 2rem; }
.networking-text-link { display: inline-block; margin-left: 1.2rem; color: inherit; text-decoration: none; font-weight: 600; }
.networking-note { padding: clamp(1.7rem,4vw,3rem); border: 1px solid rgba(84,66,40,.14); border-radius: 4px; background: #f7f3ec; }
.networking-note-mark { color: #a77b31; font-size: 2.1rem; }
.networking-note h2,.networking-steps h2,.networking-trust h2,.networking-auth-intro h2 { font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.1; letter-spacing: -.035em; }
.networking-note p { line-height: 1.7; }
.networking-note-small { border-top: 1px solid rgba(84,66,40,.14); padding-top: 1rem; color: #665f55; font-size: .88rem; }
.networking-steps { padding-top: 3rem; padding-bottom: 5rem; }
.networking-steps h2 { max-width: 580px; margin: .6rem 0 2.4rem; }
.networking-step-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: #e8e1d7; border: 1px solid #e8e1d7; }
.networking-step-grid article { min-height: 210px; padding: 1.5rem; background: #fff; }
.networking-step-grid article>span { color: #a77b31; font-size: .83rem; font-weight: 700; }
.networking-step-grid h3 { margin: 1.4rem 0 .6rem; }
.networking-step-grid p,.networking-trust li { color: #665f55; line-height: 1.65; }
.networking-trust { display: grid; grid-template-columns: .8fr 1fr; gap: 3rem; padding-top: 1rem; padding-bottom: 5rem; }
.networking-trust ul { margin: 0; padding-left: 1.25rem; }
.networking-trust li+li { margin-top: .7rem; }
.networking-auth-section { padding: 4rem 0; background: #f7f3ec; }
.networking-auth-wrap { display: grid; grid-template-columns: 1fr minmax(320px,470px); gap: 3rem; align-items: start; }
.networking-auth-intro p { max-width: 500px; color: #665f55; line-height: 1.7; }
.networking-auth-card,.networking-card { padding: clamp(1.2rem,3vw,2rem); background: #fff; border: 1px solid rgba(84,66,40,.14); border-radius: 4px; box-shadow: 0 8px 30px rgba(39,31,21,.045); }
.networking-auth-tabs { display: flex; gap: .5rem; margin-bottom: 1.4rem; border-bottom: 1px solid #e8e1d7; }
.networking-auth-tabs button { padding: .7rem .5rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #665f55; font: inherit; cursor: pointer; }
.networking-auth-tabs button[aria-selected="true"] { border-color: #a77b31; color: #25211c; font-weight: 700; }
.form-field,.networking-field { display: grid; gap: .45rem; margin: 1rem 0; }
.form-field span,.networking-field>span { font-size: .9rem; font-weight: 650; }
.form-field small { color: #81786c; font-weight: 400; }
.form-field input,.networking-field input,.networking-field textarea,.networking-field select { width: 100%; min-height: 46px; padding: .7rem .8rem; border: 1px solid #cfc7bb; border-radius: 3px; background: #fff; color: #27231e; font: inherit; }
.networking-field textarea { min-height: 100px; resize: vertical; }
.networking-check { display: flex; align-items: flex-start; gap: .7rem; margin: .8rem 0; color: #4b463e; line-height: 1.5; }
.networking-check input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: .15rem; accent-color: #a77b31; }
.networking-privacy-note,.networking-form-message { color: #665f55; font-size: .87rem; line-height: 1.55; }
.networking-form-message:empty { display: none; }
.networking-form-message[data-state="error"] { color: #a12f27; }
.networking-form-message[data-state="success"] { color: #256340; }
.networking-dashboard { padding-top: 3rem; padding-bottom: 5rem; min-height: 65vh; }
.networking-dashboard-head { margin-bottom: 2rem; }
.networking-dashboard-head h1 { font-size: clamp(2.5rem,5vw,4rem); }
.networking-dashboard-head .lede { max-width: 690px; }
.networking-loading { padding: 2rem 0; color: #665f55; }
.networking-section { margin: 1.4rem 0; }
.networking-section h2 { margin-top: 0; font-size: 1.45rem; }
.networking-business-switcher { display: flex; flex-wrap: wrap; gap: .8rem; align-items: end; }
.networking-business-switcher .networking-field { flex: 1 1 260px; }
.networking-setting-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; }
.networking-recommendations { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 1rem; }
.networking-match-card { padding: 1.2rem; border: 1px solid #e8e1d7; background: #fff; }
.networking-match-image,.networking-match-placeholder { display: grid; width: 100%; height: 145px; margin: 0 0 1rem; object-fit: cover; background: #f2eee7; color: #8e6b31; place-items: center; font-family: Georgia,serif; font-size: 2.4rem; }
.networking-match-card h3 { margin: .1rem 0 .5rem; }
.networking-match-meta { color: #81786c; font-size: .85rem; }
.networking-match-reason { color: #514b42; line-height: 1.55; }
.networking-intro-details { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid #e8e1d7; }
.networking-intro-details summary { cursor: pointer; font-weight: 700; }
.networking-inline-form { display: flex; flex-wrap: wrap; gap: .65rem; align-items: end; margin-top: .8rem; }
.networking-inline-form label { display: grid; flex: 1 1 190px; gap: .35rem; }
.networking-inline-form label span { font-size: .84rem; font-weight: 650; }
.networking-inline-form input,.networking-inline-form textarea,.networking-inline-form select { width: 100%; min-height: 42px; padding: .6rem; border: 1px solid #cfc7bb; border-radius: 3px; background: #fff; font: inherit; }
.networking-inline-form textarea { min-height: 64px; }
.networking-activity-card { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #e8e1d7; }
.networking-activity-card p { margin: .5rem 0; }
.networking-activity-card small { color: #81786c; }
.networking-connection-card { justify-content: stretch; }
.networking-connection-card>div { width: 100%; }
.networking-contact-method { display: inline-block; margin: .2rem 0; }
.networking-private-contact { margin: 1.2rem 0; padding: 1rem; border: 1px solid #e8e1d7; }
.networking-private-contact legend { padding: 0 .4rem; font-weight: 700; }
.networking-block-list { margin-top: 1rem; padding-top: .7rem; border-top: 1px solid #e8e1d7; }
.networking-block-list p { display: flex; gap: .8rem; align-items: center; }
.networking-activity-card .networking-form-message { align-self: center; }
.networking-tag { display: inline-block; margin: .2rem .25rem .2rem 0; padding: .25rem .55rem; border-radius: 999px; background: #f2eee7; color: #645c50; font-size: .75rem; }
.networking-callout { padding: 1rem 1.2rem; border-left: 3px solid #a77b31; background: #f7f3ec; color: #514b42; line-height: 1.6; }
.networking-empty { padding: 1.4rem; border: 1px dashed #cfc7bb; color: #665f55; line-height: 1.6; }
.networking-actions { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-top: 1rem; }
@media (max-width:760px) { .networking-hero,.networking-auth-wrap,.networking-trust { grid-template-columns: 1fr; gap: 2rem; } .networking-step-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .networking-setting-grid { grid-template-columns: 1fr; } .networking-text-link { display: block; margin: 1.2rem 0 0; } .networking-activity-card { flex-direction: column; } }
@media (max-width:440px) { .networking-step-grid { grid-template-columns: 1fr; } .networking-step-grid article { min-height: 0; } }
