:root{--sand:#f6f1ea;--ink:#1f2a2e;--sea:#3e5c63;--gold:#b08d57;--line:#e3dbcf}
*{box-sizing:border-box}body{margin:0;font:300 17px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:#fffdf9}
h1,h2,h3,.logo{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:.2em 0}h2{font-size:2.1rem}h3{font-size:1.5rem;margin:.4em 0}
a{color:var(--sea)}.wrap{max-width:1180px;margin:0 auto;padding:56px 24px}.narrow{max-width:760px}
.ph-banner{background:var(--ink);color:#f6f1ea;font-size:12px;text-align:center;padding:6px;letter-spacing:.05em}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--line);background:#fffdf9;position:sticky;top:0;z-index:5;flex-wrap:wrap}
.logo{font-size:1.6rem;text-decoration:none;color:var(--ink)}.logo small{font:500 11px Inter;letter-spacing:.25em;margin-left:8px;color:var(--sea)}.ph-logo{font:11px Inter;border:1px dashed var(--gold);padding:2px 5px;color:var(--gold)}
.nav nav a{margin-left:20px;text-decoration:none;color:var(--ink);font-size:14px;letter-spacing:.04em}#m,.burger{display:none}
.btn{display:inline-block;background:var(--sea);color:#fff!important;padding:14px 24px;text-decoration:none;border:0;font:500 14px Inter;letter-spacing:.06em;cursor:pointer;margin:6px 6px 6px 0}.btn.sm{padding:9px 16px}.btn.ghost{background:transparent;border:1px solid #fff}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:var(--gold);margin:0}
.ph{background:repeating-linear-gradient(135deg,#e9e1d4,#e9e1d4 12px,#efe8dc 12px,#efe8dc 24px);color:#8a7a62;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;letter-spacing:.08em;min-height:220px;padding:12px}
.ph.tall{min-height:440px}.ph.wide{min-height:300px;margin:20px 0}.ph.idx{min-height:160px;margin:24px 0}
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end}.hero.small{min-height:46vh}.hero-img{position:absolute;inset:0;background:linear-gradient(180deg,#9fb5b5,#3e5c63);color:#e8eeee;align-items:flex-start;padding-top:30px}
.hero-copy{position:relative;color:#fff;padding:48px;max-width:760px}.hero-copy .eyebrow{color:#f0dfc0}
.split{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.band{background:var(--sand)}.card{text-decoration:none;color:inherit;display:block}.card p{font-size:15px}
blockquote{font:italic 1.9rem/1.4 "Cormorant Garamond",serif;text-align:center;max-width:820px;margin:0 auto}cite{display:block;font:13px Inter;margin-top:12px;letter-spacing:.1em}
.how ol{font-size:1.05rem}.cta{text-align:center}.box{background:var(--sand);padding:28px;align-self:start}
.form label{display:block;font-size:13px;letter-spacing:.04em;margin:12px 0}.form input:not([type=checkbox]),.form select,.form textarea,.inline input{width:100%;padding:12px;border:1px solid var(--line);font:inherit;background:#fff;margin-top:4px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}fieldset{border:1px solid var(--line);margin:14px 0;padding:10px 16px}legend{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.form .chk,.chk{display:inline-flex;gap:6px;margin:6px 16px 6px 0;align-items:center;font-size:14px}.hp{position:absolute;left:-9999px}.compact .row{grid-template-columns:1fr}
.muted{color:#7a7a7a;font-size:13px}.flash{background:#fff4d6;padding:10px 28px}
footer{background:var(--ink);color:#d9d3c8;padding:48px 28px 24px}footer a{color:#f0dfc0}.fcols{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:32px;max-width:1180px;margin:auto}footer h4{font:400 1.3rem "Cormorant Garamond",serif;color:#fff;margin:0 0 8px}
.inline{display:flex;gap:8px;flex-wrap:wrap}.inline input{flex:1;min-width:120px}.legal{font-size:11px;max-width:1180px;margin:32px auto 0;opacity:.7}
.admin table{width:100%;border-collapse:collapse;font-size:13px}.admin th,.admin td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}.admin th{background:var(--sand)}.tablewrap{overflow-x:auto;margin-top:16px}
.pills a{display:inline-block;padding:5px 12px;border:1px solid var(--line);margin:3px;font-size:13px;text-decoration:none;border-radius:20px}.pills a.on{background:var(--sea);color:#fff}.tag{background:var(--sand);padding:2px 8px;border-radius:10px}
.dl{display:grid;grid-template-columns:160px 1fr;font-size:14px}.dl dt{color:#888}
@media(max-width:820px){.split,.three,.row,.fcols{grid-template-columns:1fr}.burger{display:block;cursor:pointer}.nav nav{display:none;width:100%}#m:checked~nav{display:flex;flex-direction:column}.nav nav a{margin:8px 0}.hero-copy{padding:24px}}
.logo{display:flex;align-items:center}.logo-img{height:44px;width:auto}.flogo{width:260px;margin:-20px 0 4px -20px;mix-blend-mode:normal}
@media(max-width:820px){.logo-img{height:30px}.logo small{display:none}}

.chat{position:fixed;right:20px;bottom:20px;z-index:50;font-size:14px}.chat-fab{background:var(--ink);color:#f6f1ea;border:0;padding:13px 20px;font:500 13px Inter;letter-spacing:.06em;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.18)}.chat-fab[hidden]{display:none}
.chat-box{width:350px;max-width:calc(100vw - 40px);background:#fffdf9;border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.18);display:flex;flex-direction:column}.chat-box[hidden]{display:none}
.chat-head{background:var(--ink);color:#fff;padding:12px 14px;display:flex;justify-content:space-between;font:1.15rem "Cormorant Garamond",serif}.chat-head small{display:block;font:11px Inter;letter-spacing:.08em;color:#f0dfc0}.chat-head button{background:none;border:0;color:#fff;font-size:22px;cursor:pointer}
.chat-log{height:330px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.msg{padding:9px 12px;max-width:85%;line-height:1.45}.msg.bot{background:var(--sand);align-self:flex-start}.msg.me{background:var(--sea);color:#fff;align-self:flex-end}
#chat-form{display:flex;border-top:1px solid var(--line)}#chat-form input{flex:1;border:0;padding:12px;font:inherit;background:#fff}#chat-form button{background:var(--sea);color:#fff;border:0;padding:0 16px;cursor:pointer}
.chat-fine{font-size:10.5px;color:#888;padding:6px 12px;margin:0}
.score{padding:2px 9px;border-radius:10px;font-size:12px;background:#eee}.score.hot{background:#c0563b;color:#fff}.score.warm{background:#e9c46a}.score.cold{background:#dfe7ea}
tr.hot td{background:#fbefe9}.split2{display:grid;grid-template-columns:1.3fr 1fr;gap:32px}.draft{border:1px solid var(--line);padding:16px;margin-bottom:16px;background:#fff}.draft.approved{border-color:#6a994e}
.ghostd{background:#999!important}.transcript{white-space:pre-wrap;background:var(--sand);padding:14px;font:13px/1.5 Inter;max-height:420px;overflow:auto}
@media(max-width:820px){.split2{grid-template-columns:1fr}}
.contact-block{line-height:1.8}.brk{font-weight:500;font-size:1em;letter-spacing:.04em;color:#fff}
.confirm{font-size:.75em;color:#e9c46a}

.headshot{width:100%;height:440px;object-fit:cover;object-position:center top;display:block;border-radius:2px}.title-line{font:500 13px Inter;letter-spacing:.08em;color:var(--sea);margin-top:-6px}.navtel{white-space:nowrap}
.chat-log a.cal-link{display:block;font-weight:600;text-decoration:underline}
a.link.cal{margin-left:.75rem;font-size:.95em}

.center{text-align:center}
.testi .slides{position:relative;min-height:15rem}
.testi .slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;font-size:1.55rem;pointer-events:none}
.testi .slide.on{opacity:1;position:relative;pointer-events:auto}
.testi .dots{display:flex;gap:10px;justify-content:center;margin:18px 0 8px}
.testi .dots button{width:8px;height:8px;border-radius:50%;border:1px solid currentColor;background:transparent;padding:0;cursor:pointer;opacity:.6}
.testi .dots button.on{background:currentColor;opacity:1}
.stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;margin:28px 0}
.story{margin:0;padding:28px;background:rgba(255,255,255,.55);border-top:1px solid rgba(0,0,0,.12)}
.story blockquote{font-size:1.2rem;text-align:left;max-width:none}
.story details{display:inline}.story summary{display:inline;cursor:pointer;font:600 12px Inter;letter-spacing:.12em;text-transform:uppercase;margin-left:.4em;text-decoration:underline}
.story details[open] summary{display:none}
.story figcaption{font:13px Inter;letter-spacing:.1em;margin-top:14px}

/* 2026-10-31j: Compass name >= team name (cap height) */
.logo-img{height:38px}
.cmark{font:500 21px/1 Inter,Arial,sans-serif;letter-spacing:.24em;color:var(--ink);border-left:1px solid rgba(0,0,0,.35);padding-left:16px;margin-left:16px;display:inline-block}
.flockup{display:flex;flex-direction:column;align-items:center;width:260px;margin:0 0 14px}
.flockup .flogo{margin:-20px 0 0}
.cmark.f{color:#fff;border:0;border-top:1px solid rgba(255,255,255,.35);padding:12px 0 0 .24em;margin:0;font-size:16px}
@media(max-width:820px){.logo-img{height:26px}.cmark{font-size:15px;padding-left:10px;margin-left:10px;letter-spacing:.18em}}
/* photos */
.hero .hero-img{object-fit:cover;width:100%;height:100%;padding:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,25,30,.05) 30%,rgba(15,25,30,.62));pointer-events:none}
.hero-copy{z-index:1}
.card-img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.feature-img{width:100%;aspect-ratio:16/9;object-fit:cover;margin:20px 0}
.banner{position:relative;height:42vh;min-height:260px;overflow:hidden}.banner.tall{height:60vh}
.banner img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(15,25,30,.25))}
.note{border-left:2px solid var(--gold);padding:8px 14px;margin:24px 0}
.banner.tall img{object-position:center 22%}

.legal.disclaimer{font-size:11.5px;line-height:1.55;opacity:.8;margin-top:12px}.compass-foot{max-width:1180px;margin:28px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);text-align:center}.compass-logo{width:196px;height:auto;display:inline-block}.chat-ai-note{font-size:12px;font-weight:500;margin:6px 12px 0;color:var(--ink)}
