/* TACTE keeps its vermilion A and editorial voice within the HS signatures. */
.project-tacte { scroll-margin-top: 110px; }
.project-tacte .project-logo { width: 100%; max-width: 355px; height: auto; margin: 26px 0; }
.project-tacte .project-logo img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.project-tacte .tacte-card-copy { display: block; font-size: 1rem; line-height: 1.75; color: #526267; max-width: 52ch; margin: 18px 0; }
.project-tacte .project-bottom { color: #983322; font-size: .875rem; }
.project-tacte .circle-plus { border-color: #be412c; color: #983322; }
.project-tacte:hover .circle-plus { background: #be412c; color: #fbf9f5; }
.project-tacte .tacte-card-offer { display: block; width: 100%; max-width: 465px; min-height: 0; margin: 18px 0 4px; padding: clamp(22px, 3vw, 30px); border-radius: 22px; border: 1px solid #82708655; background: #372c3d; color: #f4f0e8; overflow: hidden; text-align: left; box-shadow: inset 0 1px 0 #f4f0e814, 0 14px 32px #372c3d12; }
.tacte-card-offer .tacte-card-label { display: block; font-size: .875rem; line-height: 1.6; letter-spacing: .08em; margin-bottom: 26px; color: #e5dce7; }
.tacte-card-offer .tacte-benefits { display: grid; gap: 26px; }
.tacte-card-offer .tacte-benefit { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px; align-items: start; }
.tacte-benefit > svg { display: block; width: 44px; height: 44px; color: #f08b72; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.tacte-benefit strong { display: block; font: 400 1.5rem/1.25 var(--serif); color: #f4f0e8; }
.tacte-benefit small { display: block; font: 400 .875rem/1.6 var(--sans); color: #e5dce7; margin-top: 7px; }
@media (min-width: 1200px) { .project-tacte .tacte-card-offer { max-width: 680px; justify-self: end; margin-block: 0; padding: clamp(28px, 2.5vw, 42px); } }
@media (max-width: 700px) { .project-tacte .tacte-card-offer { min-height: 24.25rem; } }
.tacte-detail { background: #f4f0e8; color: #21242a; }
.tacte-detail .dialog-header { background: #372c3d; color: #f4f0e8; }
.tacte-detail .dialog-header button { color: #f4f0e8; }
.tacte-detail #dialog-body { padding: clamp(24px, 5vw, 56px); }
.tacte-sheet { color: #21242a; font: 400 1rem/1.7 var(--sans, Arial, sans-serif); }
.tacte-sheet .tacte-sheet-logo { display: block; width: 320px; max-width: 100%; height: auto; margin-bottom: 32px; }
.tacte-sheet .tacte-kicker { font-size: .875rem; line-height: 1.6; color: #983322; margin: 0 0 14px; }
.tacte-sheet h2 { font: 400 clamp(2rem, 5vw, 3.5rem)/1.12 Georgia, serif; color: #21242a; letter-spacing: -.035em; margin: 0 0 24px; }
.tacte-sheet h2 em { color: #983322; font-weight: 400; }
.tacte-sheet .tacte-lead { font-size: 1.0625rem; line-height: 1.75; margin: 0; max-width: 62ch; }
.tacte-sheet .tacte-offer { margin: 32px 0; padding: 26px; background: #372c3d; color: #f4f0e8; border-top: 4px solid #be412c; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 26px; align-items: center; }
.tacte-sheet .tacte-price { margin: 0; font: 400 3.75rem/1.1 Georgia, serif; letter-spacing: -.04em; }
.tacte-sheet .tacte-period { display: block; font-size: 1rem; line-height: 1.6; margin-top: 10px; }
.tacte-sheet .tacte-offer p { margin: 0; }
.tacte-sheet .tacte-offer ul { list-style: none; padding: 0; margin: 0; font-size: 1rem; line-height: 1.75; }
.tacte-sheet .tacte-offer li + li { margin-top: 7px; }
.tacte-sheet .tacte-uses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.tacte-sheet h3 { font: 400 1.5rem/1.3 Georgia, serif; letter-spacing: -.02em; color: #21242a; margin: 0 0 12px; }
.tacte-sheet .tacte-uses p { font-size: 1rem; line-height: 1.75; margin: 0; }
.tacte-sheet .tacte-included { margin: 30px 0 0; padding: 24px 0; border-top: 1px solid #c4bdb9; border-bottom: 1px solid #c4bdb9; }
.tacte-sheet .tacte-included p { font-size: 1rem; line-height: 1.75; margin: 0; }
.tacte-sheet .tacte-included p + p { margin-top: 14px; }
.tacte-sheet .tacte-terms { margin-top: 18px; }
.tacte-sheet .tacte-terms summary { cursor: pointer; min-height: 48px; padding: 12px 0; font-size: 1rem; }
.tacte-sheet .tacte-terms p { font-size: .875rem; line-height: 1.75; margin: 10px 0; color: #59585b; }
.tacte-sheet .tacte-close { padding-top: 30px; }
.tacte-sheet .tacte-promise { font: 400 clamp(1.5rem, 3vw, 2rem)/1.35 Georgia, serif; margin: 0 0 20px; }
.tacte-sheet .tacte-contact { display: inline-flex; align-items: center; justify-content: center; padding: 14px 22px; min-height: 48px; background: #be412c; color: #fbf9f5; border-radius: 3px; font-size: 1rem; line-height: 1.5; text-decoration: none; }
.tacte-sheet .tacte-contact:hover { background: #983322; }
.tacte-sheet a:focus-visible, .tacte-sheet summary:focus-visible { outline: 2px solid #983322; outline-offset: 4px; }
@media (max-width: 760px) {
  .project-tacte .project-logo { max-width: 310px; }
  .tacte-sheet .tacte-offer, .tacte-sheet .tacte-uses { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .tacte-sheet .tacte-offer { padding: 24px; }
  .tacte-sheet .tacte-contact { width: 100%; }
}

/* A result visitors can picture before the subscription details. */
.tacte-sheet .tacte-first-action { margin: 26px 0 30px; }
.tacte-sheet .tacte-first-action p { font-size: .875rem; line-height: 1.65; margin-top: 12px; color: #59585b; }
.tacte-sheet .tacte-launch-intro { margin: 22px 0 0; padding-left: 18px; border-left: 3px solid #be412c; font-size: 1rem; line-height: 1.75; }
.tacte-sheet .tacte-expertises { margin-top: 34px; }
.tacte-sheet .tacte-wink { margin: 0 0 32px; padding: 26px; background: #372c3d; color: #f4f0e8; border-radius: 16px; }
.tacte-sheet .tacte-wink p { margin: 0; font-size: .9375rem; line-height: 1.7; }
.tacte-sheet .tacte-wink p:first-child { margin-bottom: 10px; font: 400 clamp(1.6rem, 3vw, 2rem)/1.3 Georgia, serif; color: #f3ab97; }
.tacte-sheet .tacte-wink strong { font-weight: 500; }
.tacte-sheet .tacte-expertises > h3 { font-size: clamp(1.65rem, 3vw, 2rem); }
.tacte-sheet .tacte-section-intro { margin: 0 0 24px; font-size: 1rem; line-height: 1.75; color: #59585b; }
.tacte-sheet .tacte-expertise-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tacte-sheet .tacte-expertise { min-width: 0; padding: 24px; border: 1px solid #d0c5bd; border-radius: 16px; background: #fbf9f5; }
.tacte-sheet .tacte-expertise-launch { border-color: #be412c; box-shadow: inset 0 3px 0 #be412c; }
.tacte-sheet .tacte-expertise-stage { display: block; min-height: 2.6em; margin-bottom: 14px; font-size: .6875rem; line-height: 1.5; letter-spacing: .055em; color: #59585b; }
.tacte-sheet .tacte-expertise-launch .tacte-expertise-stage { color: #983322; }
.tacte-sheet .tacte-expertise h4 { margin: 0 0 12px; font: 400 1.65rem/1.25 Georgia, serif; color: #372c3d; }
.tacte-sheet .tacte-expertise p { margin: 0 0 12px; font-size: .9375rem; line-height: 1.7; }
.tacte-sheet .tacte-expertise .tacte-expertise-benefit { font-weight: 600; color: #21242a; }
.tacte-sheet .tacte-expertise .tacte-expertise-detail { margin: 0; padding-top: 14px; border-top: 1px solid #d0c5bd; font-size: .875rem; color: #59585b; }
.tacte-sheet .tacte-expansion-note { margin: 18px 0 0; font-size: .875rem; line-height: 1.75; color: #59585b; }
.tacte-sheet .tacte-followup { margin-top: 18px; padding: 22px 24px; border-left: 3px solid #be412c; border-radius: 0 12px 12px 0; background: #e9e3db; }
.tacte-sheet .tacte-followup p { margin: 0; font-size: .9375rem; line-height: 1.75; }
.tacte-sheet .tacte-value-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding: 24px 0; border-block: 1px solid #c4bdb9; }
.tacte-sheet .tacte-value-strip span { font-size: .875rem; line-height: 1.65; color: #59585b; }
.tacte-sheet .tacte-value-strip strong { display: block; font-size: 1rem; color: #21242a; margin-bottom: 5px; }
.tacte-sheet .tacte-proof { margin-top: 34px; }
.tacte-sheet .tacte-proof-label, .tacte-sheet .tacte-document-label { display: block; color: #983322; font-size: .75rem; line-height: 1.6; letter-spacing: .07em; margin-bottom: 14px; }
.tacte-sheet .tacte-proof h3, .tacte-sheet .tacte-invitation h3 { font-size: clamp(1.65rem, 3vw, 2rem); margin-bottom: 22px; }
.tacte-sheet .tacte-proof-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 20px; align-items: start; }
.tacte-sheet .tacte-brief, .tacte-sheet .tacte-result { padding: 24px; border-radius: 12px; min-width: 0; }
.tacte-sheet .tacte-brief { background: #e9e3db; }
.tacte-sheet .tacte-result { background: #fbf9f5; border: 1px solid #d0c5bd; border-top: 3px solid #be412c; box-shadow: 0 10px 24px #372c3d0c; }
.tacte-sheet .tacte-brief p { margin: 0; font-size: 1rem; line-height: 1.75; }
.tacte-sheet .tacte-result h4 { font: 400 1.4rem/1.3 Georgia, serif; color: #21242a; margin-bottom: 20px; }
.tacte-sheet .tacte-result p { font-size: .9375rem; line-height: 1.65; margin: 14px 0 0; }
.tacte-sheet .tacte-result .tacte-check { border-top: 1px solid #d0c5bd; padding-top: 14px; color: #983322; }
.tacte-sheet .tacte-proof-note, .tacte-sheet .tacte-mission-note { font-size: .9375rem; line-height: 1.75; color: #59585b; margin: 18px 0 0; }
.tacte-sheet .tacte-invitation { margin-top: 34px; padding: 28px; border-radius: 16px; background: #e9e3db; }
.tacte-sheet .tacte-invitation p:last-child { margin: 0; font-size: 1rem; line-height: 1.75; }
.tacte-sheet .tacte-offer { border-radius: 16px; }
.tacte-sheet .tacte-offer .tacte-offer-heading { font-size: .75rem; line-height: 1.6; letter-spacing: .06em; margin-bottom: 18px; }
@media (max-width: 700px) {
 .tacte-sheet .tacte-value-strip, .tacte-sheet .tacte-proof-grid, .tacte-sheet .tacte-expertise-grid { grid-template-columns: minmax(0, 1fr); }
 .tacte-sheet .tacte-expertise, .tacte-sheet .tacte-wink { padding: 22px; }
 .tacte-sheet .tacte-expertise-stage { min-height: 0; }
 .tacte-sheet .tacte-value-strip { gap: 18px; }
 .tacte-sheet .tacte-brief, .tacte-sheet .tacte-result, .tacte-sheet .tacte-invitation { padding: 22px; }
}
/* Explicit specificity keeps the shared dialog defaults from flattening TACTE. */
#detail-dialog.tacte-detail { background: #f4f0e8; color: #21242a; border-radius: 16px; border-color: #82708655; }
#detail-dialog.tacte-detail .dialog-header { background: #372c3d; color: #f4f0e8; border-color: #82708655; z-index: 2; }
#detail-dialog.tacte-detail #close-dialog { color: #f4f0e8; }
#detail-dialog.tacte-detail #dialog-body { padding: clamp(24px, 5vw, 56px); }
#detail-dialog.tacte-detail #dialog-title { color: #21242a; max-width: 25ch; margin: 0 0 24px; font: 400 clamp(2rem, 5vw, 3.5rem)/1.12 Georgia, serif; letter-spacing: -.035em; }
