/* Hand-maintained overrides that must load AFTER the generated tkc-stages.css.
   Kept out of tkc-stages.css because that file is rewritten wholesale by
   generate.py, and out of the Customizer's Additional CSS because WordPress
   HTML-escapes ">" there, which silently kills every child-combinator rule. */

/* Home hero canvas: 921/565 -> 990/630, to seat the "Free Marketing Check"
   button under the H1. (2026-08-14) */
.tkc-h-990>.elementor-container,.tkc-h-990>.elementor-container>.elementor-column,.tkc-h-990>.elementor-container>.elementor-column>.elementor-widget-wrap{height:990px!important;min-height:990px!important;}
.tkc-h-990{height:990px;min-height:990px;}
@media(max-width:1200px){.tkc-h-990{height:calc(990px*var(--tkc-scale))!important;min-height:calc(990px*var(--tkc-scale))!important;}}
@media(max-width:767px){.tkc-hm-630>.elementor-container,.tkc-hm-630>.elementor-container>.elementor-column,.tkc-hm-630>.elementor-container>.elementor-column>.elementor-widget-wrap{height:630px!important;min-height:630px!important;}.tkc-hm-630{height:calc(630px*var(--tkc-scale))!important;min-height:calc(630px*var(--tkc-scale))!important;}}

/* Home section 2 ("Marketing doesn't have to feel overwhelming") mobile canvas:
   1037 -> 1085, to fit the longer "I believe marketing..." paragraph. (2026-08-14) */
@media(max-width:767px){.tkc-hm-1085>.elementor-container,.tkc-hm-1085>.elementor-container>.elementor-column,.tkc-hm-1085>.elementor-container>.elementor-column>.elementor-widget-wrap{height:1085px!important;min-height:1085px!important;}.tkc-hm-1085{height:calc(1085px*var(--tkc-scale))!important;min-height:calc(1085px*var(--tkc-scale))!important;}}

/* Recentre the swapped portrait in its fixed cover box; tkc-stages.css pins
   60% 60%, which was framed for the previous photo. (2026-08-14) */
.elementor-element-dc32e6e img{object-position:50% 50%!important;}

/* Home hero collage pinned to the viewport edges at any width. (2026-08-14)
   The stage is a fixed 1200px box that stops scaling above 1200px and is then
   centred, so the collage — designed to bleed off both edges at exactly 1200 —
   drifted inward by (100vw-1200)/2 on wider screens. Shift each cluster back out
   by that overhang so the bleed is identical at every width; the headline and
   button stay centred. Transform, not margin: .tkc-canvas .elementor-absolute
   forces margin:0!important. */
@media(min-width:1201px){
.elementor-element-a44d4c5{--tkc-overhang:calc((100vw - 1200px)/2);}
.elementor-element-a44d4c5 .elementor-element-6990635,
.elementor-element-a44d4c5 .elementor-element-49a42c9,
.elementor-element-a44d4c5 .elementor-element-aa9a70b,
.elementor-element-a44d4c5 .elementor-element-35af5a6,
.elementor-element-a44d4c5 .elementor-element-f9f600b,
.elementor-element-a44d4c5 .elementor-element-72ba313{transform:translateX(calc(-1*var(--tkc-overhang)));}
.elementor-element-a44d4c5 .elementor-element-c7a34b0,
.elementor-element-a44d4c5 .elementor-element-033158c,
.elementor-element-a44d4c5 .elementor-element-b49bcbe,
.elementor-element-a44d4c5 .elementor-element-3e53f55{transform:translateX(var(--tkc-overhang));}
}

/* About > "Tiff's Timeline": restore the six connector ticks to vertical.
   (2026-08-19) Showit stores element rotation in the init_data payload as
   elementData[].d/.m.a (degrees) — NOT in its CSS — so extract.py never saw it
   and every tick imported as the flat 165x4 / 164x4 rectangle it is before
   rotation. They rendered as horizontal bars slicing through the labels
   instead of the vertical strokes joining each entry to the axis. a:270 for
   all six, rotated about the element centre exactly as Showit does; the same
   rule serves mobile, where the ticks are 90x4. */
.elementor-element-96237fe,   /* Broken Arrow High School */
.elementor-element-2369c8f,   /* Oklahoma State University */
.elementor-element-b158e19,   /* Goodwill Industries */
.elementor-element-d2a3734,   /* TK Creative Co. */
.elementor-element-205fc1b,   /* McWilliams Media */
.elementor-element-72312c0    /* Tiffany King Co. (desktop only) */
{transform:rotate(270deg)!important;transform-origin:center center!important;}

/* Contact page: the street address is a text-editor widget whose content is a
   link to Google Maps. Elementor's `text_color` control paints the widget
   wrapper, not the anchor, so the <a> fell through to the #CC3366 pink that
   Elementor's own reset.css sets on bare links — it read as an error state next
   to the navy email and phone lines. The footer's link blocks were already
   covered by .tkc-foot-list/.tkc-foot-detail/.tkc-policy rules; this widget was
   the only one missed site-wide. (2026-08-19) */
.elementor-element-3fc4c62 a{color:inherit;}

/* Dark counterpart to .tkc-social--light, for the icon row added beside the
   "social" label on the cream contact canvas — the base .tkc-social colour is
   cream and would have been invisible there. Icons scale down on the 320px
   mobile stage to stay proportionate to the 13px text. (2026-08-19) */
.tkc-social.tkc-social--dark a{color:var(--tkc-navy);}
@media(max-width:767px){
.elementor-element-a17c9d4 .tkc-social{gap:9px;}
.elementor-element-a17c9d4 .tkc-social a{width:16px;height:16px;}
}

/* -------------------------------------------------------------------------
 * Home > consulting tiers + speaker band (2026-08-20)
 * Replaces the old absolutely-positioned "Expertise That Makes an Impact"
 * canvas. These sections are normal flow, so they need no stage rules.
 * ---------------------------------------------------------------------- */
.tkc-cv-tiers > .elementor-container{align-items:stretch;}
.tkc-sticky{transition:transform .25s ease;}
.tkc-sticky:hover{transform:translateY(-4px);}
.tkc-sticky > .elementor-widget-wrap{align-content:flex-start;}
.tkc-tier-feats ul{list-style:none;margin:0;padding:0;}
.tkc-tier-feats li{padding:9px 2px;border-top:1px solid rgba(59,72,86,.22);}
.tkc-tier-feats li:first-child{border-top:0;}
.tkc-cv-consulting em,.tkc-cv-selfpaced em{font-style:italic;}
.tkc-cv-speaker .elementor-widget-image img{display:block;}
@media(max-width:767px){
.tkc-sticky{transform:none!important;}
.tkc-cv-speaker .elementor-widget-image img{width:100%;}
}

.tkc-cv-consulting .elementor-widget-heading .elementor-heading-title{max-width:780px;margin:0 auto;}
.tkc-lede{max-width:640px;margin-left:auto;margin-right:auto;}
.tkc-cv-consulting .tkc-lede{margin-top:16px;}
.tkc-cv-selfpaced .tkc-lede,.tkc-cv-poweredby .tkc-lede{max-width:620px;margin-top:12px;}

/* real spacing between the tier cards: Elementor's section `gap` only pads the
   column wrapper, and the card padding set on that wrapper cancels it out. */
@media(min-width:768px){
.tkc-cv-tiers > .elementor-container{gap:30px;}
.tkc-cv-tiers > .elementor-container > .elementor-column{width:auto;flex:1 1 0;}
}
@media(max-width:767px){
.tkc-cv-tiers > .elementor-container{gap:24px;}
}

/* speaker band: the photo fills the band height, which now varies with the
   copy + session-format row rather than sitting at a fixed 560px. */
.tkc-formats{width:100%;}
.tkc-formats .elementor-icon-box-title{margin:0 0 4px;}
.tkc-formats .elementor-icon-box-wrapper{text-align:left;}
@media(max-width:767px){
.tkc-formats > .elementor-container{gap:22px;}
}

/* -------------------------------------------------------------------------
 * Client reviews carousel ([tkc_reviews], mu-plugin tkc-reviews.php)
 * Typography and layout follow the original Showit testimonial band: one quote
 * at a time in NOIRetBLANC, with the name beneath in the Blackstone script.
 * ---------------------------------------------------------------------- */
.tkc-reviews{
  position:relative;display:flex;flex-wrap:wrap;justify-content:center;
  align-items:center;gap:14px;
}
.tkc-rev-track{
  order:1;flex:0 0 100%;
  display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;margin:0;padding:0;list-style:none;
}
.tkc-rev-track::-webkit-scrollbar{display:none;}
.tkc-rev-card{
  flex:0 0 100%;scroll-snap-align:center;margin:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:212px;padding:0 20px;text-align:center;
}
.tkc-rev-quote{
  margin:0;max-width:680px;
  font-family:'NOIRetBLANC',serif;font-weight:400;
  font-size:31px;line-height:1.6;letter-spacing:0;color:#FFFFFF;
}
@media(min-width:1100px){
  .tkc-rev-card{padding:0 10px;}
  .tkc-rev-quote{max-width:620px;}
}
.tkc-rev-by{margin-top:2px;}
.tkc-rev-name{
  display:block;font-family:'Playfair Display',Georgia,serif;font-weight:500;font-style:italic;
  font-size:24px;line-height:1.6;letter-spacing:.02em;
  text-transform:none;color:#FFFFFF;
}
.tkc-rev-role{
  display:block;margin-top:-6px;font-family:Montserrat,sans-serif;font-size:12px;
  line-height:1.4;letter-spacing:.04em;color:rgba(248,239,231,.66);
}
/* arrows sit under the quote so they never collide with the ring */
.tkc-rev-nav{
  order:2;position:static;
  width:38px;height:38px;border-radius:50%;cursor:pointer;
  background:transparent;border:1px solid rgba(248,239,231,.34);
  color:#F8EFE7;font-size:20px;line-height:1;padding:0 0 3px;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.tkc-rev-nav:hover{background:#D7BEA6;border-color:#D7BEA6;color:#3B4856;}
.tkc-rev-prev{order:2;}
.tkc-rev-next{order:3;}
.tkc-rev-quote,.tkc-rev-by{transition:opacity .35s ease;}
.tkc-reviews[data-moving="1"] .tkc-rev-quote,
.tkc-reviews[data-moving="1"] .tkc-rev-by{opacity:0;}
@media(max-width:1100px){
  .tkc-rev-quote{font-size:26px;max-width:600px;}
  .tkc-rev-name{font-size:22px;}
}
@media(max-width:767px){
  .tkc-rev-card{min-height:172px;padding:0 4px;}
  .tkc-rev-quote{font-size:15px;line-height:1.4;}
  .tkc-rev-name{font-size:17px;line-height:1.6;}
  .tkc-rev-nav{width:32px;height:32px;font-size:17px;}
}
@media(prefers-reduced-motion: reduce){
  .tkc-rev-quote,.tkc-rev-by{transition:none;}
}


/* -------------------------------------------------------------------------
 * FAQ accordions (21 of them across 18 pages)
 * Elementor's free accordion has no border-radius control, and it stacks the
 * items as one block by zeroing every border-bottom except the last. Round each
 * item and space them out instead, to match the 6px buttons and the tier cards.
 * The border COLOUR is left alone so the per-widget tan setting still wins.
 * ---------------------------------------------------------------------- */
.elementor-accordion .elementor-accordion-item{
  border-radius:10px;
  overflow:hidden;
  margin-bottom:12px;
  border-bottom-width:1px;
  border-bottom-style:solid;
}
.elementor-accordion .elementor-accordion-item:last-child{margin-bottom:0;}
.elementor-accordion .elementor-tab-title{
  border-radius:10px 10px 0 0;
  transition:background-color .2s ease;
}
.elementor-accordion .elementor-tab-title:not(.elementor-active){
  border-radius:10px;
}
.elementor-accordion .elementor-tab-content{
  border-radius:0 0 10px 10px;
}
@media(max-width:767px){
  .elementor-accordion .elementor-accordion-item{border-radius:8px;margin-bottom:10px;}
  .elementor-accordion .elementor-tab-title:not(.elementor-active){border-radius:8px;}
}


}

/* -------------------------------------------------------------------------
 * Tailoring band — rebuilt from the client's Showit "impact" canvas.
 * The photo sits over a navy rectangle offset up and to the left: in the source
 * the frame is 420x324 at (61,49) and the photo 378x602 at (82,72), i.e. the
 * frame is 21px proud on each side, starts 23px higher, and covers the top ~54%.
 * ---------------------------------------------------------------------- */
.tkc-framed{position:relative;width:378px;max-width:100%;}
.tkc-framed::before{
  content:"";position:absolute;left:-21px;top:-23px;
  width:420px;max-width:calc(100% + 42px);height:324px;
  background:#3B4856;z-index:0;
}
.tkc-framed img{position:relative;z-index:1;display:block;}
.tkc-tlr-list ul{margin:10px 0 0;padding-left:1.15em;}
.tkc-tlr-list li{margin-bottom:8px;}
.tkc-tlr-list li:last-child{margin-bottom:0;}
@media(max-width:1100px){
  .tkc-framed{width:300px;}
  .tkc-framed::before{width:334px;height:258px;left:-17px;top:-18px;}
}
@media(max-width:767px){
  .tkc-cv-tailoring-row > .elementor-container{flex-direction:column;}
  .tkc-framed{width:240px;}
  .tkc-framed::before{width:266px;height:205px;left:-13px;top:-14px;}
}

/* -------------------------------------------------------------------------
 * Consulting: ONGOING STRATEGIC SUPPORT (from the Showit strategic-support
 * canvas) — three navy tier cards on dusty blue, then a navy panel explaining
 * the audit / strategy / support terms.
 * ---------------------------------------------------------------------- */
.tkc-cv-support .elementor-heading-title{text-align:center;}
.tkc-sup-lede{max-width:760px;margin-left:auto!important;margin-right:auto!important;text-align:center;}
.tkc-cv-support-row > .elementor-container > .elementor-column > .elementor-element-populated{
  border-radius:16px;
}
.tkc-cv-support-detail > .elementor-container{border-radius:16px;}
.tkc-cv-support-row .elementor-heading-title,
.tkc-cv-support-detail .elementor-heading-title{text-align:left;}
.tkc-cv-support-detail .elementor-widget-text-editor{text-align:left;}
@media(max-width:767px){
  .tkc-cv-support-row > .elementor-container{gap:20px;}
  .tkc-cv-support-detail > .elementor-container{gap:4px;}
}
/* the three tier blurbs differ by a line, so reserve the taller height and pin
   the CTA to the card bottom — otherwise the rows below drift out of line */
@media(min-width:768px){
  .tkc-sup-desc{min-height:92px;}
  .tkc-sup-card > .elementor-widget-wrap{flex-direction:column;flex-wrap:nowrap;align-content:normal;}
  .tkc-sup-card .elementor-widget-button{margin-top:auto;}
}

/* Consulting page — remaining Showit canvases */
.tkc-cv-realsupport .elementor-heading-title,
.tkc-cv-realsupport .elementor-widget-text-editor,
.tkc-cv-quote .elementor-heading-title,
.tkc-cv-quote .elementor-widget-text-editor{text-align:center;}
.tkc-cv-realsupport .elementor-icon-list-items{display:inline-block;text-align:left;}
.tkc-cv-realtalk-row .elementor-heading-title,
.tkc-cv-audit-row .elementor-heading-title{text-align:left;}
@media(max-width:767px){
  .tkc-cv-realtalk-row > .elementor-container,
  .tkc-cv-audit-row > .elementor-container{flex-direction:column;}
}

/* Consulting 591 — "not short on ideas" band rebuilt to the Showit
   client-experience layout (2026-08-24): dusty-blue band, cream panel offset to
   the right, portrait photo straddling the panel's left edge. Geometry mirrors
   the Showit canvas at its 1200px design width (panel x371 w830, photo x147
   348x490), so at a 1200px container it lands pixel-for-pixel on the design. */
.tkc-clr-band > .elementor-container > .elementor-column.tkc-clr-panel{margin-left:auto;}
.tkc-clr-photo{position:absolute;left:-224px;top:50%;transform:translateY(-50%);width:348px!important;margin:0;z-index:2;}
.tkc-clr-photo img{display:block;width:348px;height:490px;object-fit:cover;object-position:50% 40%;}
@media(max-width:1024px){
  .tkc-clr-photo{position:static;transform:none;width:300px!important;margin:0 auto 28px;}
  .tkc-clr-photo img{width:300px;height:420px;}
}
@media(max-width:767px){
  .tkc-clr-photo{width:100%!important;max-width:270px;}
  .tkc-clr-photo img{width:100%;height:380px;}
}

/* Consulting 591 — "Common mistakes" rebuilt as a split band (2026-08-24):
   blush panel carrying the heading + the four mistakes as an accordion, with
   the photo full-bleed down the right half. Follows the client reference. */
.tkc-cmk-band > .elementor-container{align-items:stretch;}
.tkc-cmk-photo > .elementor-widget-wrap{padding:0;}
@media(min-width:1025px){
  .tkc-cmk-panel > .elementor-widget-wrap > .elementor-element{max-width:640px;}
}
@media(max-width:1024px){
  .tkc-cmk-photo > .elementor-element-populated{min-height:380px;}
}
@media(max-width:767px){
  .tkc-cmk-photo > .elementor-element-populated{min-height:260px;}
}

/* "Real support" — the three points as a centred numbered row */
.tkc-rsp-nums .tkc-rsp-num .elementor-heading-title{line-height:1;}
@media(max-width:767px){
  .tkc-rsp-nums > .elementor-container{flex-direction:column;}
}

/* Consulting 591 — "How to think about the investment": the photo was a small
   landscape thumbnail beside two headings' worth of copy (2026-08-24). It now
   fills the column height so it holds its own against the text. */
.tkc-inv-row > .elementor-container{align-items:stretch;}
.tkc-inv-photo > .elementor-widget-wrap{align-content:stretch;height:100%;}
.tkc-inv-photo .elementor-widget-image,
.tkc-inv-photo .elementor-widget-image > .elementor-widget-container,
.tkc-inv-photo .elementor-image,
.tkc-inv-photo figure{height:100%;margin:0;}
.tkc-inv-photo img{width:100%;height:100%;object-fit:cover;object-position:45% 50%;display:block;}
@media(max-width:1024px){
  .tkc-inv-photo img{height:auto;max-height:420px;}
}

/* Consulting 591 — "What consulting with Tiffany actually looks like"
   (2026-08-24). The check lists are now rule-separated bullet lists, and the
   audit pitch has been split out into its own cream band with a photo. */
.tkc-rule-list .elementor-icon-list-item:last-child:after{display:none;}
.tkc-rule-list .elementor-icon-list-icon{opacity:.9;}

/* photo fills the column, same technique as .tkc-inv-photo */
.tkc-aud2-row > .elementor-container{align-items:stretch;}
.tkc-aud2-photo > .elementor-widget-wrap{align-content:stretch;height:100%;}
.tkc-aud2-photo .elementor-widget-image,
.tkc-aud2-photo .elementor-widget-image > .elementor-widget-container,
.tkc-aud2-photo .elementor-image,
.tkc-aud2-photo figure{height:100%;margin:0;}
.tkc-aud2-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block;}
@media(max-width:1024px){
  .tkc-aud2-photo img{height:auto;max-height:400px;}
}

/* "Areas We Serve" city pages 597-604 (2026-08-24). They shipped as seven
   stacked 880px text sections with no imagery; idx1 is now a two-column band
   with the photo filling the right column, and idx3 re-uses the tkc-cmk-*
   split band. */
.tkc-city-row > .elementor-container{align-items:stretch;}
.tkc-city-photo > .elementor-widget-wrap{align-content:stretch;height:100%;padding:0;}
.tkc-city-photo .elementor-widget-image,
.tkc-city-photo .elementor-widget-image > .elementor-widget-container,
.tkc-city-photo .elementor-image,
.tkc-city-photo figure{height:100%;margin:0;}
.tkc-city-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block;}
@media(max-width:1024px){
  .tkc-city-photo img{height:auto;max-height:420px;}
}

/* City pages — the white "how Tiffany can help in <City>" block is centred, but
   the bullet list keeps left-aligned text so the rules stay tidy: centre the
   list as a block instead of centring the words inside it. */
.tkc-city-offer .elementor-widget-text-editor{text-align:center;}
.tkc-city-offer .tkc-rule-list{text-align:center;}
.tkc-city-offer .tkc-rule-list .elementor-icon-list-items{display:inline-block;text-align:left;max-width:620px;}

/* About > Tiff's Timeline — the canvas grew 864 -> 920 to seat the Lato copy at
   its looser line-height. tkc-stages.css only emits a .tkc-h-<H> rule for the
   heights that existed at build time, so the new one lives here. Mirrors the
   generated shape exactly (container/column/widget-wrap + the scaled variant). */
.tkc-h-920>.elementor-container,
.tkc-h-920>.elementor-container>.elementor-column,
.tkc-h-920>.elementor-container>.elementor-column>.elementor-widget-wrap{height:920px!important;min-height:920px!important;}
.tkc-h-920{height:920px;min-height:920px;}
@media(max-width:1200px){.tkc-h-920{height:calc(920px*var(--tkc-scale))!important;min-height:calc(920px*var(--tkc-scale))!important;}}

/* NOIRetBLANC ships a decorative CO ligature that nests the C inside the O, so
   "CONSULTING" reads as a broken glyph. Opt individual headings out with this
   class rather than disabling ligatures globally — the Blackstone script face
   needs its contextual alternates to join up correctly. */
.tkc-noliga,
.tkc-noliga .elementor-heading-title{
  font-variant-ligatures:none;
  font-feature-settings:"liga" 0,"dlig" 0,"clig" 0;
}

/* Home > services intro — Elementor's stock "book" divider sweeps the whole
   width; the reference art keeps the edge flat and drops a narrow tapered
   notch at dead centre, so the shape is drawn here instead. Fill matches the
   navy section above; preserveAspectRatio=none lets it stretch to any width. */
.tkc-book-divider{position:relative;}
.tkc-book-divider::before{
  content:"";position:absolute;top:0;left:0;right:0;height:46px;z-index:1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%233B4856' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
}
@media(max-width:767px){
  .tkc-book-divider::before{height:26px;}
}

/* Same notch on the testimonial band: cream dipping in from the section above,
   navy rising from the one below (::after is the same art flipped on Y). */
.tkc-notch-top-cream,
.tkc-notch-bottom-navy{position:relative;}
.tkc-notch-top-cream::before,
.tkc-notch-bottom-navy::after{
  content:"";position:absolute;left:0;right:0;height:46px;z-index:1;pointer-events:none;
  background-position:center top;background-size:100% 100%;background-repeat:no-repeat;
}
.tkc-notch-top-cream::before{
  top:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23F8EFE7' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E");
}
.tkc-notch-bottom-navy::after{
  bottom:0;transform:scaleY(-1);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%233B4856' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E");
}
@media(max-width:767px){
  .tkc-notch-top-cream::before,
  .tkc-notch-bottom-navy::after{height:26px;}
}



/* Home > newsletter + Instagram — per Tiffany's second sketch the page behind
   these two stages goes light and one darker rounded panel runs from under the
   Marketing Check block, through the sign-up copy, down past the Instagram row.
   Both are tkc-canvas stages (absolutely placed widgets on a fixed-height
   board), so the panel is painted as a background layer sized in % of each
   stage — touching the column box would shift every widget's origin. The two
   halves share the same inset so they read as a single shape. */
.elementor-element-0e23356,
.elementor-element-809fa24{background-color:#F8EFE7 !important;position:relative;}
.elementor-element-0e23356::before,
.elementor-element-809fa24::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:5%;right:5%;background-color:#D7BEA6;
}
.elementor-element-0e23356::before{top:7%;bottom:-1px;border-radius:56px 56px 0 0;}
.elementor-element-809fa24::before{top:-1px;bottom:0;border-radius:0 0 56px 56px;}
@media(max-width:767px){
  .elementor-element-0e23356::before,
  .elementor-element-809fa24::before{left:3%;right:3%;}
  .elementor-element-0e23356::before{border-radius:34px 34px 0 0;top:5%;}
  .elementor-element-809fa24::before{border-radius:0 0 34px 34px;}
}

/* White-filled variant of the notch, for the alternating cream/white bands on
   the FAQ page. Same geometry as .tkc-book-divider, different fill. */
.tkc-notch-top-white{position:relative;}
.tkc-notch-top-white::before{
  content:"";position:absolute;top:0;left:0;right:0;height:46px;z-index:1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23FFFFFF' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
}
@media(max-width:767px){
  .tkc-notch-top-white::before{height:26px;}
}

/* About > "How I work" — the three pillar labels were set in Blackstone at
   51px, which is decorative but slow to read. Playfair italic at 26px keeps
   the hand-written feel and reads at a glance. The two "+" separators sit on
   their own absolute offsets tuned to the old cap height, so they get the same
   size and a nudge upward to stay on the row. */
.elementor-element-880ffd2 .elementor-heading-title,
.elementor-element-3ff6629 .elementor-heading-title,
.elementor-element-9e1bba6 .elementor-heading-title,
.elementor-element-7718cc6 .elementor-heading-title,
.elementor-element-8da3977 .elementor-heading-title{
  font-family:'Playfair Display',Georgia,serif !important;
  font-weight:500;font-style:italic;
  font-size:26px !important;line-height:1.25 !important;letter-spacing:.01em;
}
.elementor-element-7718cc6{transform:translateY(-13px);}
.elementor-element-8da3977{transform:translateY(-21px);}

/* Periwinkle-filled notch, for boundaries where the blue band sits on top. */
.tkc-notch-top-blue{position:relative;}
.tkc-notch-top-blue::before{
  content:"";position:absolute;top:0;left:0;right:0;height:46px;z-index:1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%237E9BB8' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
}
@media(max-width:767px){
  .tkc-notch-top-blue::before{height:26px;}
}

/* Tan-filled notch, for boundaries where the #D7BEA6 band sits on top. */
.tkc-notch-top-tan{position:relative;}
.tkc-notch-top-tan::before{
  content:"";position:absolute;top:0;left:0;right:0;height:46px;z-index:1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23D7BEA6' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
}
@media(max-width:767px){
  .tkc-notch-top-tan::before{height:26px;}
}

/* Cream notch rising from the section below (the art flipped on Y). */
.tkc-notch-bottom-cream{position:relative;}
.tkc-notch-bottom-cream::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:46px;z-index:1;pointer-events:none;
  transform:scaleY(-1);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23F8EFE7' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
}
@media(max-width:767px){
  .tkc-notch-bottom-cream::after{height:26px;}
}


/* Speaking > "Why event planners book Tiffany" — same navy block behind the
   photo as the "Let's make your event impactful" section. .tkc-framed hard-codes
   the 378px width of that other image, so this one is expressed in % of its own
   image: the block sits 21px proud on each side, 23px above, and covers the top
   ~54% of the photo, matching the original's 420x324 over a 378x602 image. */
.elementor-element-e4d3c87{position:relative;}
.elementor-element-e4d3c87::before{
  content:"";position:absolute;z-index:0;
  right:-21px;bottom:-23px;
  width:calc(100% + 42px);height:54%;
  background:#3B4856;
}
.elementor-element-e4d3c87 img{position:relative;z-index:1;display:block;}
@media(max-width:767px){
  .elementor-element-e4d3c87::before{right:-13px;bottom:-14px;width:calc(100% + 26px);}
}

/* Periwinkle notch rising from the section below. */
.tkc-notch-bottom-blue{position:relative;}
.tkc-notch-bottom-blue::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:46px;z-index:1;pointer-events:none;
  transform:scaleY(-1);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%237E9BB8' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
}
@media(max-width:767px){
  .tkc-notch-bottom-blue::after{height:26px;}
}

/* Why Work With Tiffany — the middle of this page was five headline-and-copy
   blocks stacked flat on white, with nothing to separate one idea from the
   next. Each is now a rounded card in alternating cream/blush, with a short tan
   rule above the heading to give the eye a starting point. */
.tkc-why-card{position:relative;}
.tkc-why-card > .elementor-container{position:relative;}
.tkc-why-card .elementor-widget-heading .elementor-heading-title{margin-top:6px;}
.tkc-why-card .elementor-widget-heading:first-child .elementor-heading-title::before{
  content:"";display:block;width:46px;height:3px;background:#D7BEA6;margin-bottom:18px;border-radius:2px;
}
.tkc-why-card .elementor-widget-text-editor{max-width:70ch;}
@media(max-width:767px){
  .tkc-why-card .elementor-widget-heading:first-child .elementor-heading-title::before{width:36px;margin-bottom:12px;}
}

/* ...and laid out two-up. The cards are Elementor inner sections stacked in one
   column, so the column's widget wrap becomes the grid; the closing script line
   is the one child that spans both tracks. Cards stretch to equal height so the
   rows line up whatever the copy length. */
.elementor-element-42221c8 > .elementor-widget-wrap{
  display:grid !important;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;
}
.elementor-element-42221c8 > .elementor-widget-wrap > .tkc-why-card{height:100%;}
.elementor-element-42221c8 > .elementor-widget-wrap > .tkc-why-card > .elementor-container{height:100%;}
.elementor-element-42221c8 > .elementor-widget-wrap > .elementor-widget{grid-column:1 / -1;}
@media(max-width:900px){
  .elementor-element-42221c8 > .elementor-widget-wrap{grid-template-columns:1fr !important;gap:22px;}
}

/* City pages > "How Tiffany can help in <City>" — every city page is built from
   the same template (cream above, white offer band, blush below), so the notch
   is attached to the shared .tkc-city-offer class rather than eight section ids:
   cream dipping in at the top, blush rising at the foot. */
.tkc-city-offer{position:relative;}
.tkc-city-offer::before,
.tkc-city-offer::after{
  content:"";position:absolute;left:0;right:0;height:46px;z-index:1;pointer-events:none;
  background-position:center top;background-size:100% 100%;background-repeat:no-repeat;
}
.tkc-city-offer::before{
  top:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23F8EFE7' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E");
}
.tkc-city-offer::after{
  bottom:0;transform:scaleY(-1);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23EADCD4' d='M0 0h1000v8H565c-30 0-57 30-65 92-8-62-35-92-65-92H0z'/%3E%3C/svg%3E");
}
@media(max-width:767px){
  .tkc-city-offer::before,
  .tkc-city-offer::after{height:26px;}
}

/* City pages > local-search band — the photo is a column background that runs
   the full height of the band, so it butted straight into the notch above it.
   Drop the photo column down far enough to clear the 46px notch and leave a
   little blush breathing room above the image. */
.tkc-city-band > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap{
  margin-top:64px;
}
@media(max-width:767px){
  .tkc-city-band > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap{
    margin-top:34px;
  }
}


/* Home > consulting headline — hand-drawn underline under "business big sis"
   (client request 2026-09-22). The phrase is wrapped in .tkc-sis inside the
   heading's <em>. The stroke uses vector-effect:non-scaling-stroke so
   stretching the box to the phrase width never thickens or thins the line,
   and the box is sized in em so it tracks the responsive heading size. */
.tkc-sis{position:relative;display:inline-block;}
.tkc-sis::after{
  content:"";position:absolute;left:-2%;bottom:-.26em;width:104%;height:.30em;
  pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%23D7BEA6' stroke-width='3.2' stroke-linecap='round' vector-effect='non-scaling-stroke' d='M4 13.5 C 70 8, 150 16.5, 232 9 C 262 6, 282 7, 296 9'/%3E%3C/svg%3E") no-repeat center/100% 100%;
}




/* >>> tkc-consulting-band >>> */
/* Home > consulting band `cns1a01` (Markup thread #3, 2026-09-22)
 * A mirror of the speaker band: same full-width two-column build, but the
 * photo column comes first so the image bleeds off the LEFT edge, and its
 * radius is the speaker's 92/0/0/92 flipped. The three tier cards that used
 * to sit above are now this band's icon-box row. The client asked for the price
 * placeholders to come out (2026-09-22), so each tier keeps only its cadence
 * label above the feature rows.
 *
 * GOTCHA: Elementor renders the icon-box description inside a <p>, so the
 * feature list cannot be a <ul> — the parser hoists it out and the items
 * disappear. They are spans, made block-level here. */
.tkc-cv-consulting-band .elementor-widget-image img{display:block;}
.tkc-band-tier .elementor-icon-box-title{margin:0 0 6px;}
.tkc-band-note{
  display:block;margin-top:2px;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:#3B4856;opacity:.75;
}
.tkc-band-feats{display:block;margin-top:12px;}
.tkc-band-feats > span{
  display:block;padding:8px 2px;border-top:1px solid rgba(59,72,86,.22);
}
.tkc-band-feats > span:first-child{border-top:0;}
@media(max-width:767px){
  .tkc-cv-consulting-band .elementor-widget-image img{width:100%;}
}
/* <<< tkc-consulting-band <<< */


/* >>> tkc-services-hub >>> */
/* /services/ — the Consulting vs Speaking chooser (2026-09-22)
 * Same trick the tier cards need: Elementor's section `gap` only pads the
 * column wrapper, and the card padding set on that wrapper cancels it out, so
 * the two cards butt together. Space them on the container instead. */
.tkc-cv-service-cards > .elementor-container{align-items:stretch;}
.tkc-svc-card{transition:transform .25s ease;}
.tkc-svc-card:hover{transform:translateY(-4px);}
.tkc-svc-card > .elementor-widget-wrap{align-content:flex-start;}
.tkc-cv-services-hub .elementor-widget-heading .elementor-heading-title{max-width:780px;margin:0 auto;}
.tkc-cv-services-hub em{font-style:italic;}
@media(min-width:768px){
  .tkc-cv-service-cards > .elementor-container{gap:30px;}
  .tkc-cv-service-cards > .elementor-container > .elementor-column{width:auto;flex:1 1 0;}
}
@media(max-width:767px){
  .tkc-cv-service-cards > .elementor-container{gap:24px;}
}
/* <<< tkc-services-hub <<< */
