:root{
  --ink:#171411; --charcoal:#2B2622; --soft-charcoal:#4A443C;
  --brass:#A8794B; --brass-600:#8E6238; --sand:#C39F77; --ivory:#F6F1EA; --ivory-dim:#EFE7DB;
  --bone:#B9AFA2; --white:#FFFFFF; --badge-green:#4F6B51; --badge-green-700:#3E5540; --badge-green-300:#7FA383;
  --serif:'Lora',Georgia,serif; --sans:'Poppins',sans-serif;
  --check-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3.2 3.2L13 4.5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  --chev-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.5 4.5l3.5 3.5 3.5-3.5' fill='none' stroke='%23F6F1EA' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
body > nav{position:sticky; top:0; z-index:60; background:rgba(23,20,17,.97); backdrop-filter:blur(6px); border-bottom:1px solid rgba(255,255,255,.08); transition:transform .28s ease;}
nav.crumbs{position:static; z-index:auto; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:none; transition:none;}
/* breadcrumbs + hero */
.pkg-hero{position:relative; min-height:520px; display:flex; align-items:flex-end; background-size:cover; background-position:center; color:#fff;}
.pkg-hero .wrap{width:100%; padding-top:60px; padding-bottom:56px;}
.crumbs{font-family:var(--sans); font-size:12px; letter-spacing:.4px; margin-bottom:20px;}
.crumbs a{color:rgba(255,255,255,.82); text-decoration:none;}
.crumbs a:hover{color:#fff;}
.crumbs span{opacity:.6; margin:0 4px;}
.pkg-eyebrow{font-family:var(--sans); font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--sand); font-weight:600; margin-bottom:16px;}
.pkg-eyebrow.dark{color:var(--brass);}
.pkg-hero h1{color:var(--white); font-family:var(--serif); font-size:clamp(32px,5.4vw,56px); font-weight:500; line-height:1.08; margin:0 0 18px; max-width:16ch;}
.pkg-meta{display:flex; flex-wrap:wrap; gap:10px 22px; font-family:var(--sans); font-size:13px; letter-spacing:.3px; color:rgba(255,255,255,.9); margin-bottom:26px;}
.pkg-meta span{position:relative;}
.pkg-meta span+span::before{content:"|"; position:absolute; left:-13px; opacity:.4;}
.pkg-hero-cta{display:flex; align-items:center; gap:26px; flex-wrap:wrap;}
.pkg-price{font-family:var(--sans); font-size:13px; color:rgba(255,255,255,.85);}
.pkg-price strong{font-family:var(--serif); font-size:26px; color:#fff; font-weight:500; margin:0 4px;}
.pkg-wrap{max-width:920px;}
/* overview */
.pkg-overview{background:var(--white); padding:64px 0 30px;}
.pkg-lead{font-size:17px; line-height:1.72; color:var(--soft-charcoal); margin:14px 0 0;}
/* glance */
.pkg-glance{background:var(--white); padding:26px 0 50px;}
.glance-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--bone); border:1px solid var(--bone); border-radius:9px; overflow:hidden;}
.glance{background:var(--ivory); padding:22px 24px; display:flex; flex-direction:column; gap:6px;}
.g-k{font-family:var(--sans); font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; color:var(--brass); font-weight:600;}
.g-v{font-family:var(--serif); font-size:16px; color:var(--ink);}
/* itinerary timeline */
.pkg-itin{background:var(--white); padding:56px 0 20px;}
.pkg-h2{font-family:var(--serif); font-size:clamp(26px,3.4vw,34px); font-weight:500; color:var(--ink); margin:0 0 34px; text-align:center;}
.itin{position:relative;}
.itin-day{position:relative; padding-left:70px; padding-bottom:38px;}
.itin-day::before{content:""; position:absolute; left:23px; top:6px; bottom:-6px; width:2px; background:var(--ivory-dim);}
.itin-day:last-child::before{display:none;}
.itin-num{position:absolute; left:0; top:0; width:48px; height:48px; border-radius:50%; background:var(--ivory); border:2px solid var(--brass); color:var(--brass); font-family:var(--serif); font-size:16px; display:flex; align-items:center; justify-content:center; z-index:1;}
.itin-content{display:grid; grid-template-columns:300px 1fr; gap:26px; align-items:start;}
.itin-media{border-radius:8px; overflow:hidden; aspect-ratio:4/3; background:var(--ivory-dim);}
.itin-media img{width:100%; height:100%; object-fit:cover; display:block;}
.itin-label{font-family:var(--sans); font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; color:var(--brass); font-weight:600; margin-bottom:7px;}
.itin-text h3{font-family:var(--serif); font-size:20px; font-weight:500; color:var(--ink); margin:0 0 10px; line-height:1.28;}
.itin-text p{font-size:14px; line-height:1.66; color:var(--soft-charcoal); margin:0;}
/* included (dark) */
.pkg-included{background:var(--ink); color:var(--ivory); padding:66px 0;}
.pkg-included h2{font-family:var(--serif); font-size:clamp(26px,3.4vw,34px); font-weight:500; text-align:center; margin:0 0 40px; color:#fff;}
.incl-cols{display:grid; grid-template-columns:1fr 1fr; gap:54px; max-width:900px; margin:0 auto;}
.incl-col h3{font-family:var(--sans); font-size:12px; letter-spacing:1.6px; text-transform:uppercase; color:var(--sand); font-weight:600; margin:0 0 20px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.16);}
.incl-list{list-style:none; margin:0; padding:0;}
.incl-list li{position:relative; padding-left:26px; margin-bottom:14px; font-size:14.5px; line-height:1.55; color:rgba(246,241,234,.9);}
.incl-list li::before{content:""; position:absolute; left:0; top:7px; width:8px; height:8px; border-right:2px solid var(--brass); border-bottom:2px solid var(--brass); transform:rotate(45deg);}
/* rates */
.pkg-rates{background:var(--white); padding:60px 0;}
.rates-note{font-size:14px; color:var(--soft-charcoal); line-height:1.64; max-width:760px; margin:0 0 24px;}
.rates-table{width:100%; border-collapse:collapse; font-family:var(--sans);}
.rates-table th{text-align:left; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--brass); font-weight:600; padding:0 0 12px; border-bottom:2px solid var(--brass);}
.rates-table th:last-child{text-align:right;}
.rates-table td{padding:18px 0; border-bottom:1px solid var(--ivory-dim); font-size:15px; color:var(--ink);}
.rate-from{text-align:right; font-family:var(--serif); font-size:18px;}
.rates-foot{font-size:12.5px; color:var(--bone); margin:16px 0 0;}
/* specialist */
.pkg-specialist{background:var(--ivory); padding:56px 0;}
.spec-card{display:flex; gap:28px; align-items:center; max-width:820px; margin:0 auto; background:var(--white); border:1px solid var(--ivory-dim); border-radius:12px; padding:32px 36px;}
.spec-avatar{flex:none; width:76px; height:76px; border-radius:50%; background:var(--brass); color:#fff; font-family:var(--serif); font-size:26px; display:flex; align-items:center; justify-content:center;}
.spec-eyebrow{font-family:var(--sans); font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:var(--brass); font-weight:600; margin-bottom:8px;}
.spec-line{font-size:14.5px; line-height:1.62; color:var(--soft-charcoal); margin:0 0 16px;}
/* related */
.pkg-related{background:var(--white); padding:60px 0;}
.rel-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.rel-card{display:block; border:1px solid var(--ivory-dim); border-radius:10px; overflow:hidden; text-decoration:none; transition:box-shadow .2s ease, transform .2s ease;}
.rel-card:hover{box-shadow:0 12px 30px rgba(23,20,17,.10); transform:translateY(-3px);}
.rel-img{aspect-ratio:3/2; background:var(--ivory-dim); overflow:hidden;}
.rel-img img{width:100%; height:100%; object-fit:cover; display:block;}
.rel-body{padding:20px 22px 22px;}
.rel-body h3{font-family:var(--serif); font-size:18px; font-weight:500; color:var(--ink); margin:0 0 8px; line-height:1.3;}
.rel-meta{font-family:var(--sans); font-size:12.5px; color:var(--soft-charcoal); margin-bottom:12px;}
.rel-price{font-family:var(--sans); font-size:13px; color:var(--brass); font-weight:600;}
.rel-price span{color:var(--bone); font-weight:400;}
/* cta band */
.pkg-ctaband{background:var(--ivory-dim); padding:60px 0; text-align:center;}
.pkg-ctaband h2{font-family:var(--serif); font-size:clamp(24px,3vw,32px); font-weight:500; color:var(--ink); margin:0 0 12px;}
.pkg-ctaband p{font-size:15px; color:var(--soft-charcoal); max-width:620px; margin:0 auto 24px; line-height:1.6;}
/* sticky bar */
.pkg-stickybar{position:fixed; left:0; right:0; bottom:0; z-index:60; background:rgba(23,20,17,.97); color:#fff; transform:translateY(110%); transition:transform .3s ease; box-shadow:0 -6px 24px rgba(0,0,0,.22);}
.pkg-stickybar.show{transform:translateY(0);}
.pkg-stickybar .wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:14px; padding-bottom:14px;}
.sb-info strong{display:block; font-family:var(--serif); font-size:16px; font-weight:500;}
.sb-info span{font-family:var(--sans); font-size:12.5px; color:var(--sand);}
@media(max-width:820px){
  .glance-grid{grid-template-columns:1fr 1fr;}
  .itin-content{grid-template-columns:1fr; gap:14px;} .itin-media{max-width:340px;}
  .incl-cols{grid-template-columns:1fr; gap:34px;}
  .rel-grid{grid-template-columns:1fr;}
  .spec-card{flex-direction:column; text-align:center;}
}
/* ============================================================================
   LEGAL DOCUMENT TEMPLATE
   Long-form legal reading, which is a different typographic problem from the
   rest of the estate: a narrower measure, a visible clause number so a reader
   can cite one, and a sticky contents rail so a 40-clause document stays
   navigable. Clause bodies are BOUND — the approved text is the source of
   truth and never lives in a template. Until it is bound, the slot renders as
   a designed pending state rather than as blank space or invented wording.
   ========================================================================= */

.lg-h{background:var(--ink); color:var(--ivory);}
.lg-h .wrap{padding-top:56px; padding-bottom:50px;}
.lg-h nav.crumbs{color:var(--bone); font-size:12px; margin-bottom:16px;}
.lg-h nav.crumbs a{color:var(--sand);}
.lg-h h1{font-family:var(--serif); font-size:clamp(30px,4vw,44px); font-weight:500;
  color:var(--ivory); margin:10px 0 16px; line-height:1.1;}
.lg-lede{font-family:var(--sans); font-weight:300; font-size:15px; line-height:1.8;
  color:var(--ivory-dim); max-width:62ch; margin:0 0 26px;}
.lg-h-meta{display:flex; gap:34px; flex-wrap:wrap; padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);}
.lg-h-meta div .k{font-family:var(--sans); font-size:9.5px; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--sand); font-weight:500; margin-bottom:5px;}
.lg-h-meta div .v{font-family:var(--sans); font-size:13.5px; color:var(--ivory); font-weight:500;}
.lg-main .wrap{display:grid; grid-template-columns:250px minmax(0,1fr); gap:56px;
  align-items:start;}
.lg-toc{position:sticky; top:96px;}
.lg-toc h2{font-family:var(--sans); font-size:10px; letter-spacing:1.7px; text-transform:uppercase;
  color:var(--brass); font-weight:600; margin:0 0 14px;}
.lg-toc ol{list-style:none; margin:0; counter-reset:toc;}
.lg-toc li{counter-increment:toc; border-bottom:1px solid var(--ivory-dim);}
.lg-toc a{display:block; font-family:var(--sans); font-size:13px; line-height:1.5; padding:9px 0;
  color:var(--soft-charcoal);}
.lg-toc a::before{content:counter(toc,decimal-leading-zero); font-size:10px; font-weight:600;
  color:var(--bone); margin-right:9px;}
.lg-toc a:hover{color:var(--brass);}
.lg-toc a.on{color:var(--ink); font-weight:500;}
.lg-toc a.on::before{color:var(--brass);}
.lg-clause{padding:0 0 34px; margin-bottom:34px; border-bottom:1px solid var(--ivory-dim);}
.lg-clause:last-of-type{border-bottom:none;}
.lg-clause h2{font-family:var(--serif); font-size:23px; font-weight:500; color:var(--ink);
  margin:0 0 14px; line-height:1.28; display:flex; gap:14px; align-items:baseline;}
.lg-n{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:1px;
  color:var(--brass); flex:none;}
.lg-body p{font-family:var(--sans); font-weight:300; font-size:14.5px; line-height:1.85;
  color:var(--soft-charcoal); margin:0 0 13px; max-width:70ch;}
.lg-body ul,.lg-body ol{margin:0 0 13px 20px;}
.lg-body li{font-family:var(--sans); font-weight:300; font-size:14.5px; line-height:1.8;
  color:var(--soft-charcoal); margin-bottom:6px; max-width:68ch;}
.lg-pending{color:var(--soft-charcoal);}
.lg-chip{display:inline-block; font-family:var(--sans); font-size:9.5px; letter-spacing:1.3px;
  text-transform:uppercase; font-weight:600; color:var(--white); background:var(--brass-600);
  border-radius:3px; padding:3px 9px; margin-right:11px; vertical-align:1px;}
.lg-note{background:var(--ivory-dim); border-left:2px solid var(--brass); border-radius:0 6px 6px 0;
  padding:22px 26px; margin:0 0 40px;}
.lg-note h3{font-family:var(--sans); font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--brass-600); font-weight:600; margin:0 0 9px;}
.lg-note p{font-family:var(--sans); font-weight:300; font-size:13.5px; line-height:1.75;
  color:var(--ink); margin:0 0 9px; max-width:70ch;}
.lg-note p:last-child{margin-bottom:0;}
.lg-note a{color:var(--brass-600); text-decoration:underline; text-underline-offset:2px;}
.lg-ident{margin-top:44px; padding-top:26px; border-top:1px solid var(--ivory-dim);}
.lg-ident h3{font-family:var(--sans); font-size:10px; letter-spacing:1.6px; text-transform:uppercase;
  color:var(--brass); font-weight:600; margin:0 0 14px;}
.lg-ident-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 40px;}
.lg-ident-row{display:flex; justify-content:space-between; gap:18px; padding:7px 0;
  border-bottom:1px solid var(--ivory-dim); font-family:var(--sans); font-size:13px;}
.lg-ident-row .k{color:var(--soft-charcoal); flex:none;}
.lg-ident-row .v{color:var(--ink); font-weight:500; text-align:right;}
.lg-ident-row .v a{color:var(--brass-600);}
@media(max-width:900px){
  .lg-main .wrap{grid-template-columns:1fr; gap:32px;}
  .lg-toc{position:static;}
  .lg-toc ol{columns:2; column-gap:28px;}
  .lg-ident-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .lg-toc ol{columns:1;}
  .lg-h .wrap{padding-top:40px; padding-bottom:38px;}
  .lg-h-meta{gap:22px;}
  .lg-ident-row{flex-direction:column; gap:2px;}
  .lg-ident-row .v{text-align:left;}
}
/* legal index (design: legal_asg_option4_ink_edition.html) */
.li-h{background:var(--ink); color:var(--ivory);}
.li-h .wrap{padding-top:56px; padding-bottom:48px;}
.li-h nav.crumbs{color:var(--bone); font-size:12px; margin-bottom:16px;}
.li-h nav.crumbs a{color:var(--sand);}
.li-h h1{font-family:var(--serif); font-size:clamp(30px,4vw,44px); font-weight:500; color:var(--ivory); margin:10px 0 16px; line-height:1.1;}
.li-lede{font-family:var(--sans); font-weight:300; font-size:15px; line-height:1.8; color:var(--ivory-dim); max-width:62ch; margin:0;}
#documents{padding:64px 0 60px; background:var(--ivory);}
.lg-cards{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.lg-card{display:block; background:var(--white); border:1px solid var(--ivory-dim); border-top:2px solid var(--brass); border-radius:8px; padding:24px 26px 22px; transition:border-color .2s ease, transform .2s ease;}
.lg-card:hover{border-color:var(--bone); border-top-color:var(--brass-600); transform:translateY(-2px);}
.lg-card-top{display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:14px;}
.lg-kind{font-family:var(--sans); font-size:9.5px; letter-spacing:1.3px; text-transform:uppercase; font-weight:600; color:var(--brass-600); background:var(--ivory-dim); border-radius:3px; padding:4px 9px;}
.lg-upd{font-family:var(--sans); font-size:12px; color:var(--soft-charcoal);}
.lg-card h3{font-family:var(--serif); font-size:22px; font-weight:500; color:var(--ink); margin:0 0 9px; line-height:1.25;}
.lg-card p{font-family:var(--sans); font-weight:300; font-size:13.5px; line-height:1.72; color:var(--soft-charcoal); margin:0 0 16px;}
.lg-go{font-family:var(--sans); font-size:11.5px; letter-spacing:1.1px; text-transform:uppercase; font-weight:600; color:var(--brass-600); display:inline-flex; align-items:center; gap:7px;}
.li-ident{background:var(--ivory-dim); padding:64px 0 72px;}
.li-ident-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 40px;}
.li-row{display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid var(--bone); font-family:var(--sans); font-size:13px;}
.li-row .k{color:var(--soft-charcoal); flex:none;}
.li-row .v{color:var(--ink); font-weight:500; text-align:right;}
.li-row .v a{color:var(--brass-600);}
.li-note{font-family:var(--sans); font-size:12.5px; line-height:1.75; color:var(--soft-charcoal); margin-top:26px; padding-top:18px; border-top:1px solid var(--ivory-dim); max-width:78ch;}
@media(max-width:860px){ .lg-cards{grid-template-columns:1fr;} .li-ident-grid{grid-template-columns:1fr;} }
