/* TKWS homepage: proof-first editorial opening. Scoped to home; no stock imagery, gradients or false metrics. */
body.home-page .tk-home-intro{
  position:relative;
  width:100%;
  background:#f4f2ec;
  color:#171717;
  border-bottom:1px solid #d7d0c6;
}
body.home-page .tk-home-intro__layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(30px,4.5vw,70px);
  align-items:center;
  width:min(1192px,calc(100% - 52px));
  margin:0 auto;
  padding:clamp(48px,6.5vw,94px) 0;
}
body.home-page .tk-home-intro__layout>*{min-width:0}
body.home-page .tk-home-intro__eyebrow{
  font:800 12px/1.45 var(--font-body,"DM Sans",Arial,sans-serif);
  letter-spacing:.08em;
  color:#88331d;
  margin:0 0 22px;
}
body.home-page .tk-home-intro__eyebrow span{color:#767069;padding:0 5px}
body.home-page .tk-home-intro h1{
  font:800 clamp(36px,4.1vw,58px)/1.1 var(--font-display,Syne,Arial,sans-serif);
  letter-spacing:-.045em;
  max-width:760px;
  margin:0;
  color:#171717;
  text-wrap:balance;
  overflow-wrap:normal;
}
body.home-page .tk-home-intro h1 em{font-style:normal;color:#a33417}
body.home-page .tk-home-intro__lead{
  max-width:56ch;
  margin:22px 0 0;
  font:500 clamp(16px,1.32vw,18px)/1.65 var(--font-body,"DM Sans",Arial,sans-serif);
  color:#45443f;
}
body.home-page .tk-home-intro__choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:30px 0 0;
}
body.home-page .tk-home-intro__choice{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:215px;
  padding:22px 19px 19px;
  color:#171717;
  background:#fffdf9;
  border:1px solid #cfc6ba;
  border-radius:2px;
  text-decoration:none;
  transition:border-color .2s ease,background-color .2s ease;
}
body.home-page .tk-home-intro__choice:hover{
  border-color:#9c3b20;
  background:#fff;
}
body.home-page .tk-home-intro__choice:focus-visible,
body.home-page .tk-home-intro__feature-link:focus-visible,
body.home-page .tk-home-intro__work-link:focus-visible{
  outline:3px solid #a33417;outline-offset:4px;
}
body.home-page .tk-home-intro__choice-kicker{
  font:800 10px/1.4 var(--font-body,"DM Sans",Arial,sans-serif);
  letter-spacing:.085em;color:#963716;
}
body.home-page .tk-home-intro__choice strong{
  font:800 clamp(17px,1.25vw,20px)/1.25 var(--font-display,Syne,Arial,sans-serif);
  letter-spacing:-.018em;color:#171717;
}
body.home-page .tk-home-intro__choice>span:nth-child(3){
  font:500 13px/1.55 var(--font-body,"DM Sans",Arial,sans-serif);
  color:#55504b;
}
body.home-page .tk-home-intro__choice b{font-weight:800;color:#171717}
body.home-page .tk-home-intro__choice-action{
  margin-top:auto;
  padding-top:6px;
  font:800 12px/1.45 var(--font-body,"DM Sans",Arial,sans-serif);
  text-decoration:underline;text-underline-offset:4px;color:#8c2f15;
}
body.home-page .tk-home-intro__work-link{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:20px;
  color:#292622;
  font:800 13px/1.4 var(--font-body,"DM Sans",Arial,sans-serif);
  text-decoration:underline;text-underline-offset:4px;
}
body.home-page .tk-home-intro__feature{
  min-width:0;
  width:100%;
}
body.home-page .tk-home-intro__feature-link{
  display:block;
  background:#171717;
  text-decoration:none;
  color:#fffdf9;
  border:1px solid #171717;
  box-shadow:14px 14px 0 #d6cdc0;
}
body.home-page .tk-home-intro__feature-bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:44px;padding:12px 16px;
  color:#f7ddd3;
  font:800 10px/1.3 var(--font-body,"DM Sans",Arial,sans-serif);
  letter-spacing:.095em;
}
body.home-page .tk-home-intro__feature-bar span:last-child{font-size:22px;letter-spacing:0}
body.home-page .tk-home-intro__feature-link img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1200/630;
  object-fit:cover;
  object-position:top center;
  background:#09261e;
}
body.home-page .tk-home-intro__feature-caption{
  display:flex;flex-direction:column;gap:7px;
  padding:22px 22px 24px;
}
body.home-page .tk-home-intro__feature-category{
  font:800 10px/1.45 var(--font-body,"DM Sans",Arial,sans-serif);
  letter-spacing:.09em;color:#ffb698;
}
body.home-page .tk-home-intro__feature-caption strong{
  font:700 clamp(21px,1.8vw,27px)/1.2 var(--font-display,Syne,Arial,sans-serif);
  color:#fffdf9;
}
body.home-page .tk-home-intro__feature-caption>span:nth-child(3){
  font:500 14px/1.55 var(--font-body,"DM Sans",Arial,sans-serif);
  color:#e1dbd4;
}
body.home-page .tk-home-intro__feature-visit{
  padding-top:10px;
  font:800 13px/1.45 var(--font-body,"DM Sans",Arial,sans-serif);
  color:#ffb698;
  text-decoration:underline;text-underline-offset:4px;
}
body.home-page .tk-home-intro__feature-note{
  padding:0;margin:24px 0 0 2px;
  font:500 12px/1.5 var(--font-body,"DM Sans",Arial,sans-serif);
  color:#68635c;
}
/* Keep the price-and-proof strip concrete and readable. */
body.home-page .tk-home-intro + .studio-principles{
  background:#171717;color:#fff;
}
body.home-page .tk-home-intro + .studio-principles span{
  color:#fff;
}
/* First-visit consent: keep both opt-in and opt-out actions equally reachable;
   avoid overlaying the support dock while the privacy notice is shown. */
body.home-page:has(.cookie-notice:not([hidden])) .contact-fab{visibility:hidden;pointer-events:none}
@media(max-width:1070px){
  body.home-page .tk-home-intro__layout{
    grid-template-columns:1fr;
    gap:32px;
    max-width:840px;
  }
  body.home-page .tk-home-intro h1{max-width:770px;font-size:clamp(38px,5vw,56px)}
  body.home-page .tk-home-intro__lead{max-width:62ch}
  body.home-page .tk-home-intro__feature{max-width:720px}
}
@media(max-width:700px){
  body.home-page .tk-home-intro__layout{width:calc(100% - 36px);padding:40px 0 50px;gap:26px}
  body.home-page .tk-home-intro__eyebrow{font-size:10px;margin-bottom:15px}
  body.home-page .tk-home-intro h1{font-size:clamp(30px,7.4vw,41px);line-height:1.12;letter-spacing:-.035em}
  body.home-page .tk-home-intro__lead{font-size:15px;line-height:1.6;margin-top:17px}
  body.home-page .tk-home-intro__choices{grid-template-columns:1fr;gap:9px;margin-top:24px}
  body.home-page .tk-home-intro__choice{min-height:0;gap:7px;padding:17px 16px 15px}
  body.home-page .tk-home-intro__choice strong{font-size:18px}
  body.home-page .tk-home-intro__choice-action{padding-top:7px}
  body.home-page .tk-home-intro__feature-link{box-shadow:7px 7px 0 #d6cdc0}
  body.home-page .tk-home-intro__feature-caption{padding:17px 17px 21px}
  body.home-page .tk-home-intro__feature-note{margin:16px 0 0;font-size:11px}
}
@media(max-width:360px){
  body.home-page .tk-home-intro__layout{width:calc(100% - 30px)}
  body.home-page .tk-home-intro h1{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
  body.home-page .tk-home-intro__choice{transition:none}
}


/* Direct next step in the first mobile viewport, without replacing the two service routes. */
body.home-page .tk-home-intro__fast-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px 20px;margin:24px 0 0}
body.home-page .tk-home-intro__quote{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  min-height:48px;padding:12px 21px;text-decoration:none;
  border:1px solid #171717;background:#171717;color:#fffdf8;
  font:800 14px/1.45 var(--font-body,"DM Sans",Arial,sans-serif);
}
body.home-page .tk-home-intro__quote:hover{background:#833016;border-color:#833016;color:#fffdf8}
body.home-page .tk-home-intro__ask{
  display:inline-flex;align-items:center;min-height:44px;color:#752b16;
  font:800 13px/1.45 var(--font-body,"DM Sans",Arial,sans-serif);
  text-decoration:underline;text-underline-offset:4px
}
body.home-page .tk-home-intro__quote:focus-visible,
body.home-page .tk-home-intro__ask:focus-visible{outline:3px solid #a33417;outline-offset:4px}
@media(max-width:700px){
  body.home-page .tk-home-intro__fast-actions{margin-top:19px;gap:8px 16px}
  body.home-page .tk-home-intro__quote{padding:11px 17px;min-height:46px}
  body.home-page .tk-home-intro__ask{font-size:12px}
}

/* On very narrow phones the direct quote action must clear the privacy notice. */
@media(max-width:360px){
  body.home-page .tk-home-intro__layout{padding-top:20px}
  body.home-page .tk-home-intro__eyebrow{margin-bottom:8px}
  body.home-page .tk-home-intro__lead{margin-top:14px}
}
