:root{
  --cx-wine:#651b25;
  --cx-wine-deep:#2b0910;
  --cx-gold:#e6ad35;
  --cx-cream:#f7f1e7;
  --cx-paper:#fffdf8;
  --cx-ink:#251f20;
  --cx-muted:#756966;
  --cx-line:rgba(101,27,37,.16);
}

.cx-page{margin:0;background:var(--cx-cream);color:var(--cx-ink);font-family:"DM Sans",sans-serif}
.cx-page *{box-sizing:border-box}
.cx-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.cx-eyebrow{margin:0 0 12px;color:var(--cx-wine);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.cx-title{margin:0;font-family:"Playfair Display",serif;font-size:clamp(38px,5vw,68px);line-height:1;letter-spacing:-.04em}
.cx-lead{max-width:720px;margin:18px 0 0;color:var(--cx-muted);font-size:17px;line-height:1.7}
.cx-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cx-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 17px;border:1px solid var(--cx-wine);border-radius:999px;background:transparent;color:var(--cx-wine);font:800 14px "DM Sans",sans-serif;text-decoration:none;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.cx-button:hover{transform:translateY(-2px);background:rgba(101,27,37,.06)}
.cx-button.is-primary{background:var(--cx-wine);color:#fff}
.cx-button.is-primary:hover{background:#7b2430}
.cx-button.is-light{border-color:rgba(255,255,255,.55);color:#fff}
.cx-button.is-light:hover{background:rgba(255,255,255,.12)}
.cx-share-button{gap:7px}
.cx-share-button__icon{display:inline-block;font-size:16px;font-weight:500;line-height:1;transition:transform .18s ease}
.cx-share-button:hover .cx-share-button__icon{transform:translate(2px,-2px)}

.cx-hero{min-height:clamp(450px,62vw,650px);display:flex;align-items:flex-end;padding:clamp(56px,9vw,112px) max(20px,calc((100vw - 1180px)/2));background-color:var(--cx-wine-deep);background-image:linear-gradient(90deg,rgba(38,7,13,.94) 0%,rgba(55,12,20,.78) 48%,rgba(55,12,20,.2) 100%),var(--cx-hero-image);background-position:center;background-size:cover;color:#fff}
.cx-hero__copy{width:min(680px,100%);animation:cx-rise .65s ease both}
.cx-hero .cx-eyebrow{color:var(--cx-gold)}
.cx-hero .cx-title{color:#fff}
.cx-hero .cx-lead{color:rgba(255,255,255,.82)}
.cx-hero .cx-actions{margin-top:28px}

.cx-paths{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--cx-line)}
.cx-path{padding:clamp(38px,6vw,78px) max(20px,calc((100vw - 1180px)/2));padding-right:clamp(24px,6vw,72px)}
.cx-path + .cx-path{border-left:1px solid var(--cx-line);padding-left:clamp(24px,6vw,72px);padding-right:max(20px,calc((100vw - 1180px)/2))}
.cx-path h2{margin:0;font:600 clamp(30px,4vw,50px)/1.04 "Playfair Display",serif;letter-spacing:-.035em}
.cx-path p{max-width:530px;margin:16px 0 24px;color:var(--cx-muted);line-height:1.7}

.cx-page-head{padding:clamp(46px,7vw,82px) 0 28px;border-bottom:1px solid var(--cx-line)}
.cx-page-head__row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap}
.cx-notice,.cx-error{margin:18px 0 0;padding:13px 15px;border-left:3px solid #287447;background:#edf8ef;color:#1b5a35}
.cx-error{border-color:#a12835;background:#fff0f1;color:#7e1d29}

.cx-form{margin:28px 0 72px;padding:clamp(22px,4vw,44px);background:var(--cx-paper);border:1px solid var(--cx-line)}
.cx-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.cx-field{display:grid;gap:8px;color:var(--cx-ink);font-weight:700}
.cx-field.is-wide{grid-column:1/-1}
.cx-field span{color:var(--cx-muted);font-size:12px;font-weight:500}
.cx-field input,.cx-field select,.cx-field textarea,.cx-filters input,.cx-filters select{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--cx-line);border-radius:0;background:#fff;color:var(--cx-ink);font:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.cx-field textarea{min-height:150px;resize:vertical}
.cx-field input:focus,.cx-field select:focus,.cx-field textarea:focus,.cx-filters input:focus,.cx-filters select:focus{border-color:var(--cx-wine);box-shadow:0 0 0 3px rgba(101,27,37,.08)}
.cx-form__actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding-top:10px}

.cx-filters{display:grid;grid-template-columns:minmax(240px,1fr) repeat(2,minmax(150px,.35fr)) auto;gap:10px;margin:24px 0 0;padding-bottom:24px;border-bottom:1px solid var(--cx-line)}
.cx-directory{padding:36px 0 78px}
.cx-directory__count{margin:0 0 24px;color:var(--cx-muted)}
.cx-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.32fr);gap:24px;padding:28px 0;border-top:1px solid var(--cx-line);transition:padding-left .2s ease}
.cx-profile:last-child{border-bottom:1px solid var(--cx-line)}
.cx-profile:hover{padding-left:8px}
.cx-profile h2{margin:0;font:600 clamp(25px,3vw,36px)/1.08 "Playfair Display",serif;letter-spacing:-.025em}
.cx-profile__meta{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.cx-tag{padding:4px 8px;border:1px solid var(--cx-line);color:var(--cx-wine);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.cx-profile__summary{max-width:760px;margin:12px 0 0;color:var(--cx-muted);line-height:1.7}
.cx-profile__aside{padding-left:24px;border-left:1px solid var(--cx-line);color:var(--cx-muted);font-size:14px;line-height:1.7}
.cx-empty{padding:42px 0;border-top:1px solid var(--cx-line);border-bottom:1px solid var(--cx-line);color:var(--cx-muted)}

body.cx-page .container{max-width:1180px;padding:28px 20px 72px}
body.cx-page .container>.top.card{margin-bottom:14px;padding:22px 26px;border:1px solid var(--cx-line);border-radius:18px;background:var(--cx-paper);box-shadow:0 12px 30px rgba(69,42,24,.055)}
body.cx-page .container>form.card{margin-top:14px;padding:clamp(24px,4vw,38px);border:1px solid var(--cx-line);border-radius:18px;background:var(--cx-paper);box-shadow:0 12px 30px rgba(69,42,24,.055)}
body.cx-page .container .btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 16px;border:1px solid rgba(101,27,37,.3);border-radius:999px;background:#fff;color:var(--cx-wine);font-weight:800;line-height:1;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}
body.cx-page .container .btn:hover{transform:translateY(-1px);border-color:var(--cx-wine);background:#fff8f0}
body.cx-page .container button.btn[type="submit"]{border-color:var(--cx-wine);background:var(--cx-wine);color:#fff}
body.cx-page .container button.btn[type="submit"]:hover{background:#7b2430}
body.cx-page .container>form.card input:not([type="hidden"]),body.cx-page .container>form.card select,body.cx-page .container>form.card textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid rgba(101,27,37,.22);border-radius:12px;background:#fff;color:var(--cx-ink);box-shadow:inset 0 1px 1px rgba(43,9,16,.025);font:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
body.cx-page .container>form.card textarea{min-height:140px;resize:vertical}
body.cx-page .container>form.card input:not([type="hidden"]):hover,body.cx-page .container>form.card select:hover,body.cx-page .container>form.card textarea:hover{border-color:rgba(101,27,37,.38)}
body.cx-page .container>form.card input:not([type="hidden"]):focus,body.cx-page .container>form.card select:focus,body.cx-page .container>form.card textarea:focus{border-color:var(--cx-wine);box-shadow:0 0 0 3px rgba(101,27,37,.09)}
body.cx-page .container label{color:var(--cx-ink)}

@keyframes cx-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:820px){.cx-paths{grid-template-columns:1fr}.cx-path + .cx-path{border-left:0;border-top:1px solid var(--cx-line)}.cx-filters{grid-template-columns:1fr 1fr}.cx-profile{grid-template-columns:1fr}.cx-profile__aside{padding:16px 0 0;border-left:0;border-top:1px solid var(--cx-line)}}
@media(max-width:620px){.cx-shell{width:min(100% - 28px,1180px)}.cx-hero{min-height:520px;padding-inline:20px}.cx-form__grid,.cx-filters{grid-template-columns:1fr}.cx-field.is-wide{grid-column:auto}.cx-form__actions{grid-column:auto}.cx-button{width:100%}.cx-profile:hover{padding-left:0}}
@media(prefers-reduced-motion:reduce){.cx-hero__copy{animation:none}.cx-button,.cx-profile,body.cx-page .container .btn,body.cx-page .container>form.card input,body.cx-page .container>form.card select,body.cx-page .container>form.card textarea{transition:none}}
