/* ============================================================
   CONCEPT 3 — THE DOSSIER
   Service clarity, productized. "You bring the people; the hard
   part is handled." Structured modules, a named staged process,
   trust band, shortlist→compare. Same locked brand; expressed
   confident & structured.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&family=Tangerine:wght@400;700&family=Work+Sans:wght@400;500;600&display=swap');

:root{
  --brand:#3D6B4E; --brand-dk:#2C5039; --ink:#1C2722; --paper:#F4F0E5;
  --tint:#DCE3D2; --accent:#D08A6A; --stone:#6E6D5E; --line:#d6d1bd; --panel:#fbf9f0;
  --serif:'Cormorant Garamond',serif; --body:'Newsreader',serif; --sans:'Work Sans',sans-serif; --script:'Tangerine',cursive;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}
.disp{font-family:var(--serif);font-weight:500;line-height:1.02;margin:0}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:.64rem;font-weight:600;color:var(--brand-dk)}
.eyebrow .s{color:var(--accent)}
.lede{font-size:1.18rem;line-height:1.55;color:#2f3a32}
.note{font-size:.78rem;color:var(--stone)}

.ribbon{background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:7px}
.ribbon a{color:var(--accent);text-decoration:none}

.head{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 95%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;padding-block:.85rem}
.brand{display:inline-flex;flex-direction:column;gap:3px;text-decoration:none;line-height:1}
.brand .the{font-family:var(--sans);font-weight:600;font-size:.55rem;letter-spacing:.42em;text-transform:uppercase}
.brand .nm{font-family:var(--serif);font-weight:500;font-size:1.45rem;color:var(--brand-dk)}
.nav{display:flex;gap:1.5rem;align-items:center}
.nav a{font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;text-decoration:none;padding-bottom:2px;border-bottom:1.5px solid transparent}
.nav a:hover,.nav a.on{color:var(--brand-dk);border-color:var(--accent)}
.btn{display:inline-block;font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:13px 24px;text-decoration:none;cursor:pointer;border:1px solid transparent}
.btn--accent{background:var(--accent);color:#33200f}
.btn--ghost{background:transparent;color:var(--brand-dk);border-color:var(--brand-dk)}
.btn--ink{background:var(--ink);color:var(--paper)}

.section{padding-block:clamp(2.6rem,6vw,4.5rem)}
.section+.section{border-top:1px solid var(--line)}
.modlabel{font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.7rem}

/* split hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border-bottom:1px solid var(--line)}
.hero .l{padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,4vw,3rem) clamp(2.5rem,6vw,4.5rem) 0;display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:clamp(2.6rem,5.5vw,4.1rem);color:var(--ink)}
.hero .sub{margin:1.2rem 0 1.8rem;max-width:42ch}
.hero .r{position:relative;min-height:420px;background-size:cover;background-position:center;border-left:8px solid var(--accent)}
.hero .stamp{position:absolute;bottom:18px;right:18px;background:var(--paper);padding:.6rem .9rem;font-family:var(--sans);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-dk);border:1px solid var(--accent)}

/* trust band */
.trust{background:var(--brand-dk);color:var(--paper)}
.trust .row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}
.trust .n{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.4rem);color:#fff;line-height:1}
.trust .k{font-family:var(--sans);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:.5rem}

/* THE BRIEF — staged process */
.brief{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:var(--panel)}
.brief .st{padding:1.6rem 1.4rem;border-right:1px solid var(--line);position:relative}
.brief .st:last-child{border-right:0}
.brief .st .n{font-family:var(--sans);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}
.brief .st h3{font-family:var(--serif);font-size:1.4rem;color:var(--brand-dk);margin:.5rem 0 .5rem;font-weight:500}
.brief .st p{margin:0;font-size:.92rem;color:#2f3a32}

/* deliverables */
.delivers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.deliver{border:1px solid var(--line);background:var(--panel);padding:1.4rem 1.5rem;border-top:3px solid var(--brand)}
.deliver h3{font-family:var(--serif);font-size:1.45rem;color:var(--brand-dk);margin:.2rem 0 .4rem;font-weight:500}
.deliver p{margin:0;font-size:.95rem;color:#2f3a32}

/* venue cards (dossier — data-forward) */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column}
.card .img{aspect-ratio:19/12;background-size:cover;background-position:center}
.card .b{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.card .tag{font-family:var(--sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-dk)}
.card .nm{font-family:var(--serif);font-size:1.45rem;color:var(--brand-dk);font-weight:500;margin:0}
.card .specrow{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);font-family:var(--sans)}
.card .specrow div{padding:.5rem .6rem;border-right:1px solid var(--line);text-align:center}
.card .specrow div:last-child{border-right:0}
.card .specrow .k{font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}
.card .specrow .v{font-size:.92rem;color:var(--ink);font-weight:600;margin-top:.1rem;font-family:var(--serif)}
.card .occ{display:flex;gap:.35rem;flex-wrap:wrap}
.card .occ span{font-family:var(--sans);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--brand);color:var(--brand-dk);padding:3px 7px}
.card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.4rem}
.card .price{font-family:var(--sans);font-size:.8rem;color:var(--ink)}
.card .price b{font-family:var(--serif);font-size:1.1rem;color:var(--brand-dk)}
.card .cmp{font-family:var(--sans);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);display:flex;align-items:center;gap:.3rem}

/* collection layout */
.collection{display:grid;grid-template-columns:240px 1fr;gap:2.5rem;align-items:start}
.searchbar{display:grid;grid-template-columns:repeat(3,1fr) auto;border:1px solid var(--brand-dk);background:#fff;margin-bottom:1.6rem}
.searchbar span{font-family:var(--sans);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);padding:.85rem 1rem;border-right:1px solid var(--line);display:flex;align-items:center}
.searchbar .go{background:var(--accent);color:#33200f;border:0;font-family:var(--sans);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;padding:0 1.4rem;text-decoration:none;display:flex;align-items:center}
.key{border:1px solid var(--line);background:var(--panel);padding:1.2rem;position:sticky;top:88px}
.key h3{font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-dk);margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.key .grp{margin-bottom:1.1rem}
.key .grp>p{font-family:var(--sans);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin:0 0 .5rem}
.key label{display:flex;gap:.5rem;font-size:.9rem;padding:.16rem 0;color:#2f3a32;cursor:pointer}
.key label .ct{margin-left:auto;font-family:var(--sans);font-size:.64rem;color:var(--stone)}
.key input{accent-color:var(--brand)}
.comparebar{position:sticky;bottom:0;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.4rem;margin-top:1.5rem;font-family:var(--sans);font-size:.78rem}
.comparebar .btn{padding:9px 18px}

/* venue detail (dossier) */
.v-top{display:grid;grid-template-columns:1.3fr 1fr;gap:0;border:1px solid var(--line);margin-top:2rem}
.v-top .img{background-size:cover;background-position:center;min-height:360px;border-right:8px solid var(--accent)}
.v-top .meta{padding:2rem}
.atglance{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:1.2rem 0}
.atglance div{padding:.8rem 1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.atglance .k{font-family:var(--sans);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.atglance .v{font-family:var(--serif);font-size:1.3rem;color:var(--brand-dk);margin-top:.1rem}
.v-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:start}
.spec-card{border:1px solid var(--brand-dk);background:var(--panel);padding:1.4rem 1.5rem;position:sticky;top:88px}
.spec-card .row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--line);font-size:.95rem}
.spec-card .row:first-of-type{border-top:0}
.spec-card .row dt{font-family:var(--sans);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.subgrid .sp{border:1px solid var(--line);background:#fff;padding:.5rem}
.subgrid .sp .ph{aspect-ratio:16/10;background-size:cover;background-position:center}
.subgrid .sp .cap{font-family:var(--sans);font-size:.64rem;color:var(--ink);padding:.5rem .2rem 0;display:flex;justify-content:space-between}
.team{display:flex;gap:1rem;flex-wrap:wrap}
.team .p{width:118px;text-align:center}
.team .p .av{aspect-ratio:1;border-radius:50%;background:var(--tint);border:1px solid var(--accent)}
.team .p .nm{font-family:var(--serif);font-size:1.05rem;color:var(--brand-dk);margin-top:.4rem}
.team .p .role{font-family:var(--sans);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}

.foot{background:var(--ink);color:#c8cdbe;margin-top:0;padding-block:2.5rem}
.foot .nm{font-family:var(--serif);font-size:1.5rem;color:#fff}
.foot .en{font-style:italic;color:var(--stone)}
.foot .en b{color:#fff;font-style:normal;font-family:var(--body)}

@media(max-width:880px){.hero,.brief,.delivers,.grid,.trust .row,.collection,.v-top,.v-cols,.atglance{grid-template-columns:1fr}.hero .r{min-height:280px}.key,.spec-card{position:static}.brief .st{border-right:0;border-bottom:1px solid var(--line)}}

/* ====== NEW IA: Comparison Matrix (collection) + Briefing Doc (venue) ====== */
/* slim filter bar */
.cmp-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;border:1px solid var(--line);background:var(--panel);padding:.7rem 1rem;margin-bottom:1.6rem}
.cmp-bar .lbl{font-family:var(--sans);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-dk);font-weight:600}
.cmp-bar select{font-family:var(--body);font-size:.9rem;border:1px solid var(--line);background:#fff;padding:.35rem .6rem;color:var(--ink)}
.cmp-bar .right{margin-left:auto;font-family:var(--sans);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stone)}

/* THE COMPARISON MATRIX — venues as columns, attributes as rows */
.matrix{width:100%;border-collapse:collapse;border:1px solid var(--line);background:#fff}
.matrix th,.matrix td{border:1px solid var(--line);vertical-align:top;text-align:left}
.matrix thead th{padding:0;width:26%;background:var(--panel)}
.matrix thead th.attrhead{width:22%;background:#fff;vertical-align:bottom;padding:1rem}
.matrix thead th.attrhead .l{font-family:var(--sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.matrix .vcol{display:block}
.matrix .vcol .img{display:block;height:130px;background-size:cover;background-position:center}
.matrix .vcol .h{padding:.9rem 1rem 1rem}
.matrix .vcol .tag{font-family:var(--sans);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-dk)}
.matrix .vcol .nm{font-family:var(--serif);font-size:1.45rem;color:var(--brand-dk);margin:.1rem 0 .5rem;font-weight:500;display:block;text-decoration:none}
.matrix .vcol .cmp{font-family:var(--sans);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);display:flex;align-items:center;gap:.35rem}
.matrix tbody th{padding:.85rem 1rem;font-family:var(--sans);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);font-weight:600;background:var(--panel);white-space:nowrap}
.matrix tbody td{padding:.85rem 1rem;font-family:var(--body);font-size:1rem;color:var(--ink)}
.matrix tbody tr:nth-child(even) td,.matrix tbody tr:nth-child(even) th{background:#fbfaf4}
.matrix .occ span{display:inline-block;font-family:var(--sans);font-size:.54rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--brand);color:var(--brand-dk);padding:2px 6px;margin:0 3px 3px 0}
.matrix td .pr{font-family:var(--serif);font-size:1.3rem;color:var(--brand-dk)}
.matrix td .req{display:inline-block;margin-top:.5rem;font-family:var(--sans);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#33200f;background:var(--accent);padding:7px 14px;text-decoration:none}
.matrix-foot{display:flex;justify-content:space-between;padding-top:1rem;color:var(--stone)}
@media(max-width:880px){.matrix,.matrix thead,.matrix tbody,.matrix th,.matrix td,.matrix tr{display:block}.matrix thead{display:none}.matrix tbody th{border-top:2px solid var(--brand-dk)}}

/* THE BRIEFING DOC — anchored sections, proposal-like */
.brief-nav{position:sticky;top:54px;z-index:20;background:color-mix(in srgb,var(--paper) 95%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brief-nav .in{display:flex;gap:1.6rem;align-items:center;padding:.7rem 0;flex-wrap:wrap}
.brief-nav a{font-family:var(--sans);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);text-decoration:none;padding-bottom:3px;border-bottom:1.5px solid transparent}
.brief-nav a:hover{color:var(--brand-dk);border-color:var(--accent)}
.brief-nav .doc{font-family:var(--sans);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-dk);font-weight:600}
.bf-header{display:grid;grid-template-columns:1fr 360px;gap:0;border:1px solid var(--ink);margin-top:2rem}
.bf-header .meta{padding:2rem}
.bf-header .img{background-size:cover;background-position:center;border-left:8px solid var(--accent)}
.bf-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:1.2rem}
.bf-facts div{padding:.75rem 1rem;border-right:1px solid var(--line)}
.bf-facts div:last-child{border-right:0}
.bf-facts .k{font-family:var(--sans);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.bf-facts .v{font-family:var(--serif);font-size:1.25rem;color:var(--brand-dk);margin-top:.1rem}
.bf-sec{padding-block:2.2rem;border-bottom:1px solid var(--line)}
.bf-sec .sn{font-family:var(--sans);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.8rem}
.bf-sec h2{font-family:var(--serif);font-size:1.7rem;color:var(--brand-dk);margin:0 0 .8rem;font-weight:500}
.bf-two{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
/* pricing breakdown table */
.pricetab{width:100%;border-collapse:collapse;border:1px solid var(--line)}
.pricetab th,.pricetab td{border:1px solid var(--line);padding:.6rem .9rem;text-align:left;font-size:.95rem}
.pricetab thead th{font-family:var(--sans);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);background:var(--panel)}
.pricetab td{font-family:var(--body)}
.pricetab .tot td{background:var(--brand-dk);color:#fff;font-family:var(--serif);font-size:1.15rem}
.pricetab .tot td .k{font-family:var(--sans);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.deliv-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.deliv-row .d{border:1px solid var(--line);background:var(--panel);border-top:3px solid var(--brand);padding:1rem 1.1rem}
.deliv-row .d h4{font-family:var(--serif);font-size:1.2rem;color:var(--brand-dk);margin:0 0 .3rem;font-weight:500}
.deliv-row .d p{margin:0;font-size:.88rem;color:#2f3a32}
.bf-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--ink);color:var(--paper);padding:1.4rem 1.6rem;margin:2rem 0 3rem;flex-wrap:wrap}
.bf-cta .q{font-family:var(--serif);font-size:1.4rem;color:#fff}
@media(max-width:880px){.bf-header,.bf-facts,.bf-two,.deliv-row{grid-template-columns:1fr}.bf-header .img{min-height:220px;border-left:0;border-top:8px solid var(--accent)}}
