/* x1-solutions-general-counsel - /solutions/general-counsel (1001 additional pages).
   Scoped under .x1-solutions-general-counsel; builds on d29.css. Signature: the route card
   (draft -> clause -> correction / exception / legal question, each to the person named). */
.x1-solutions-general-counsel {--gc-ochre: #8F520E; --gc-ochre-soft: #F6E7CC; --gc-line: rgba(0,0,0,.12);}

/* hero */
.x1-solutions-general-counsel .gc-hero-fig .photo {object-position: 50% 30%;}
.x1-solutions-general-counsel .d29-hero .display {max-width: 13ch;}

/* route card */
.x1-solutions-general-counsel .gc-panel {padding: clamp(1rem, .5rem + 2.4vw, 3rem);}
.x1-solutions-general-counsel .gc-route {background: var(--surface); border-radius: 14px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 18px 48px -12px rgba(20,20,20,.18);
  padding: clamp(1.1rem, .7rem + 1.6vw, 2rem); display: grid; gap: clamp(1.25rem, .9rem + 1vw, 1.75rem);}
.x1-solutions-general-counsel .gc-draft {display: grid; grid-template-columns: minmax(0, 1fr) 2.5rem minmax(0, 1fr); align-items: center;}
.x1-solutions-general-counsel .gc-card {display: grid; gap: .6rem; padding: 1rem 1.1rem 1.1rem; border: 1px solid var(--gc-line); border-radius: 10px; background: #FCFBF8;}
.x1-solutions-general-counsel .gc-card-clause {border-color: rgba(143,82,14,.35);}
.x1-solutions-general-counsel .gc-k {font: 600 .6875rem/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: .2rem;}
.x1-solutions-general-counsel .gc-card-clause .gc-k {color: var(--gc-ochre);}
.x1-solutions-general-counsel .gc-line {position: relative; display: flex; align-items: center; height: 8px; border-radius: 4px; background: #E7E3DA;}
.x1-solutions-general-counsel .gc-line-short {width: 62%;}
.x1-solutions-general-counsel .gc-line-flag {height: auto; min-height: 1.6rem; background: none; gap: .4rem;}
.x1-solutions-general-counsel .gc-line-flag i {display: block; width: 24%; height: 8px; border-radius: 4px; background: #E7E3DA; flex: none;}
.x1-solutions-general-counsel .gc-line-flag b {font: 600 .8125rem/1.2 var(--sans); color: #6B3D08; background: var(--gc-ochre-soft);
  box-shadow: inset 0 -2px 0 var(--gc-ochre); padding: .3rem .5rem; border-radius: 4px; white-space: nowrap;}
.x1-solutions-general-counsel .gc-line-mark {background: linear-gradient(90deg, var(--gc-ochre-soft) 0 70%, #E7E3DA 70%); box-shadow: inset 0 -2px 0 rgba(143,82,14,.55);}
.x1-solutions-general-counsel .gc-link {height: 1px; margin-inline: .35rem; background: repeating-linear-gradient(90deg, var(--gc-ochre) 0 4px, transparent 4px 8px); position: relative;}
.x1-solutions-general-counsel .gc-link::before, .x1-solutions-general-counsel .gc-link::after {content: ""; position: absolute; top: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--gc-ochre);}
.x1-solutions-general-counsel .gc-link::before {left: -4px;}
.x1-solutions-general-counsel .gc-link::after {right: -4px;}

.x1-solutions-general-counsel .gc-paths {display: grid; border-top: 1px solid var(--ink);}
.x1-solutions-general-counsel .gc-path {display: grid; grid-template-columns: minmax(0, 1fr) 3rem minmax(0, 1fr); align-items: center; gap: .5rem;
  padding-block: .95rem; border-bottom: 1px solid var(--rule);}
.x1-solutions-general-counsel .gc-what {font: 600 .9375rem/1.3 var(--sans); color: var(--ink); display: flex; align-items: center; gap: .6rem;}
.x1-solutions-general-counsel .gc-what::before {content: ""; width: 9px; height: 9px; border-radius: 50%; flex: none; background: #B9B6AE;}
.x1-solutions-general-counsel .gc-path-fix .gc-what::before {background: #2F7A4B;}
.x1-solutions-general-counsel .gc-path-exc .gc-what::before {background: #C48A12;}
.x1-solutions-general-counsel .gc-path-law .gc-what::before {background: #B4412F;}
.x1-solutions-general-counsel .gc-arrow {height: 1px; background: rgba(0,0,0,.35); position: relative;}
.x1-solutions-general-counsel .gc-arrow::after {content: ""; position: absolute; right: 0; top: -3.5px; width: 7px; height: 7px; border-top: 1px solid rgba(0,0,0,.5); border-right: 1px solid rgba(0,0,0,.5); transform: rotate(45deg);}
.x1-solutions-general-counsel .gc-who {font: 400 clamp(1.125rem, 1rem + .4vw, 1.375rem)/1.2 var(--serif); color: var(--ink); letter-spacing: -.01em;}
.x1-solutions-general-counsel .gc-rules {display: flex; align-items: center; gap: .55rem; font: 600 .8125rem/1.3 var(--sans); letter-spacing: .02em; color: var(--gc-ochre);}
.x1-solutions-general-counsel .gc-rules svg {width: 16px; height: 16px; flex: none;}

/* draw-in when the card arrives (d29 reveal) */
.x1-solutions-general-counsel.d29-anim .reveal .gc-path {opacity: 0; transform: translateX(-8px); transition: opacity 480ms var(--ease), transform 480ms var(--ease);}
.x1-solutions-general-counsel.d29-anim .reveal.in .gc-path {opacity: 1; transform: none;}
.x1-solutions-general-counsel.d29-anim .reveal.in .gc-path-fix {transition-delay: 250ms;}
.x1-solutions-general-counsel.d29-anim .reveal.in .gc-path-exc {transition-delay: 400ms;}
.x1-solutions-general-counsel.d29-anim .reveal.in .gc-path-law {transition-delay: 550ms;}

/* three rows */
.x1-solutions-general-counsel .gc-rows {display: grid; border-top: 1px solid var(--ink);}
.x1-solutions-general-counsel .gc-rows > li {display: grid; grid-template-columns: 3rem minmax(0, 5fr) minmax(0, 6fr); column-gap: var(--col-gap); align-items: start;
  padding-block: clamp(2rem, 1.4rem + 2vw, 3.25rem); border-bottom: 1px solid var(--rule);}
.x1-solutions-general-counsel .gc-ico {width: 28px; height: 28px; color: var(--gc-ochre); margin-top: .35rem;}
.x1-solutions-general-counsel .gc-ico svg {width: 100%; height: 100%;}
.x1-solutions-general-counsel .gc-row-h {font: 400 clamp(1.75rem, 1.3rem + 1.5vw, 2.625rem)/1.12 var(--serif); color: var(--ink); letter-spacing: -.015em; text-wrap: balance;}
.x1-solutions-general-counsel .gc-rows p {font-size: var(--fs-lede); line-height: 1.55; max-width: var(--measure); text-wrap: pretty; padding-top: .35rem;}

/* pull line over the photograph */
.x1-solutions-general-counsel .gc-aha {margin: 0;}
.x1-solutions-general-counsel .gc-aha .bleed {object-position: 50% 60%;}
.x1-solutions-general-counsel .gc-aha .quote-big {color: #fff; border-left-color: #F4C77A; max-width: 24ch;}
.x1-solutions-general-counsel .gc-aha + .sec {border-top: 0;}

/* measure + questions */
.x1-solutions-general-counsel .gc-measure {align-items: start;}
.x1-solutions-general-counsel .gc-measure .d29-faq {margin-top: .5rem;}

@media (max-width: 960px){
.x1-solutions-general-counsel .gc-rows > li {grid-template-columns: 2.5rem minmax(0, 1fr); row-gap: 1rem;}
.x1-solutions-general-counsel .gc-rows p {grid-column: 2;}
.x1-solutions-general-counsel .hero-media .photo {aspect-ratio: 4 / 3;}
}
@media (max-width: 600px){
.x1-solutions-general-counsel .gc-draft {grid-template-columns: 1fr; row-gap: 0;}
.x1-solutions-general-counsel .gc-link {width: 1px; height: 1.75rem; margin: .3rem 0 .3rem 1.4rem; background: repeating-linear-gradient(180deg, var(--gc-ochre) 0 4px, transparent 4px 8px);}
.x1-solutions-general-counsel .gc-link::before {left: -3px; top: -4px;}
.x1-solutions-general-counsel .gc-link::after {right: auto; left: -3px; top: auto; bottom: -4px;}
.x1-solutions-general-counsel .gc-path {grid-template-columns: minmax(0, 1fr) 1.75rem minmax(0, auto);}
.x1-solutions-general-counsel .gc-what {font-size: .875rem;}
.x1-solutions-general-counsel .gc-rows > li {grid-template-columns: 1fr;}
.x1-solutions-general-counsel .gc-rows p {grid-column: 1;}
.x1-solutions-general-counsel .gc-ico {margin-top: 0;}
.x1-solutions-general-counsel .hero-media .photo {aspect-ratio: 4 / 5; max-height: 34rem;}
}
@media (prefers-reduced-motion: reduce){
.x1-solutions-general-counsel.d29-anim .reveal .gc-path {opacity: 1; transform: none; transition: none;}
}
