/* V26 — restrained editorial refinement using existing Finnoah assets only. */

:focus-visible{
  outline:2px solid var(--navy);
  outline-offset:4px;
}
.dark :focus-visible,
.contact-page :focus-visible{
  outline-color:#fff;
}

/* Give the approved wordmark more room around the content without changing it. */
.site-header .header-inner{
  min-height:110px!important;
}
.site-header .brand{
  width:400px!important;
}
.site-header .brand img{
  width:100%!important;
  height:auto!important;
}
.site-header .site-nav{
  gap:28px;
}

/* One paper treatment across the homepage and every internal hero. */
.inner-hero::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  right:-3%!important;
  bottom:0!important;
  width:min(57%,760px)!important;
  pointer-events:none!important;
  z-index:0!important;
  opacity:.46!important;
  background:url("/assets/hero-paper.svg") right center / contain no-repeat!important;
}
.inner-hero .shell{
  position:relative;
  z-index:2;
}

/* The supplied founder photograph reads as an editorial portrait rather than an avatar. */
.about-founder-photo img{
  width:280px!important;
  height:350px!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:center 26%!important;
  background:transparent!important;
}

/* Keep supplied client logos contained; retain Scotica as campaign artwork. */
.work-brand-mark,
.work-card-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.work-brand-mark img[src*="forbes-dawson"],
.work-card-brand img[src*="redmayne-bentley"],
.work-card-brand img[src*="tideway-wealth"]{
  object-fit:contain!important;
  padding:18px!important;
  background:#fff!important;
}
.work-brand-mark img[src*="forbes-dawson"]{
  padding:26px!important;
}

@media(max-width:920px){
  .site-header .header-inner{
    min-height:96px!important;
  }
  .site-header .brand{
    width:340px!important;
  }
  .site-header .site-nav{
    top:110px;
  }
  .inner-hero::after{
    right:-8%!important;
    width:60%!important;
    opacity:.34!important;
  }
  .about-founder-photo img{
    width:220px!important;
    height:275px!important;
  }
}

@media(max-width:620px){
  .site-header .header-inner{
    min-height:82px!important;
  }
  .site-header .brand{
    width:286px!important;
  }
  .site-header .site-nav{
    top:92px;
  }
  .hero::after{
    display:block!important;
    top:20px!important;
    right:-28%!important;
    bottom:-20px!important;
    width:82%!important;
    opacity:.18!important;
    background-size:contain!important;
    background-position:right center!important;
  }
  .inner-hero::after{
    display:block!important;
    top:18px!important;
    right:-28%!important;
    bottom:-20px!important;
    width:82%!important;
    opacity:.18!important;
    background-size:contain!important;
    background-position:right center!important;
  }
  .proof .metric strong{
    font-size:clamp(3.2rem,15vw,4.6rem);
  }
  /* Stacked metrics have a full row available: do not wrap labels to the
     width of the digits. Keep the homepage figures centred as before. */
  .proof .metric-content,
  .work-proof-metric .metric-content{
    width:100%;
  }
  .proof .metric-content{
    justify-items:center;
  }
  .proof .metric .metric-label,
  .work-proof-metric .metric-label{
    width:auto;
    min-width:0;
    white-space:nowrap;
  }
  .proof .metric .metric-label{
    text-align:center;
  }
  .about-founder-photo img{
    width:170px!important;
    height:212px!important;
  }
}


/* V30 — editorial proof and a concise contact path. */
.case-coverage-note{
  margin:34px 0 36px;
  padding:24px 0 0;
  border-top:1px solid var(--line);
}
.case-coverage-note .eyebrow{margin-bottom:10px}
.case-coverage-note p:last-child{margin-bottom:0;color:var(--muted)}

/* Make the editorial logic behind each case study explicit, without adding a sales module. */
.strategic-principle{
  margin:38px 0 0;
  padding:20px 0 2px 20px;
  border-left:2px solid var(--navy);
}
.strategic-principle .eyebrow{margin-bottom:9px}
.strategic-principle p:last-child{
  margin:0;
  max-width:650px;
  color:var(--navy);
  font-family:var(--serif);
  font-size:1.28rem;
  line-height:1.35;
}

.contact-form{
  display:grid;
  gap:16px;
  margin-top:30px;
  max-width:540px;
}
.contact-form label:not(.contact-honeypot){display:grid;gap:7px}
.contact-form label > span{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.76;
}
.contact-form input,.contact-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.48);
  border-radius:0;
  background:transparent;
  color:#fff;
  font:inherit;
  line-height:1.45;
  padding:12px 13px;
}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #fff;outline-offset:2px}
.contact-form textarea{min-height:132px;resize:vertical}
.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-privacy{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:.82rem;
  line-height:1.5;
}
.contact-privacy a{color:inherit;text-underline-offset:3px}
.contact-submit{
  width:max-content;
  margin-top:4px;
  border:0;
  background:transparent;
  color:#fff;
  font:inherit;
  cursor:pointer;
}
.contact-status{
  margin:0;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.28);
  border-bottom:1px solid rgba(255,255,255,.28);
  color:#fff;
}

/* Editorial onward reading — useful links, without a promotional module. */
.article-related{
  margin:52px 0 44px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.article-related__label{
  margin:0 0 15px;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--muted);
}
.article-related__links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
}
.article-related__links a{
  display:block;
  padding:18px 24px 20px 0;
  border-bottom:1px solid var(--line);
  color:var(--navy);
  font-family:var(--serif);
  font-size:1.25rem;
  line-height:1.22;
  text-decoration:none;
}
.article-related__links a + a{
  padding-left:24px;
  border-left:1px solid var(--line);
}
.article-related__links span{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.article-related__links a:hover{text-decoration:underline;text-underline-offset:4px}
.article-related__links a:focus-visible{outline:2px solid var(--navy);outline-offset:4px}

/* Keep long-form reading calm and print-like on ultra-wide displays. */
.article-body{max-width:740px}

/* Make the visible author credit a quiet, useful route to the relevant credentials. */
.article-byline a{
  color:inherit;
  text-decoration-color:transparent;
  text-underline-offset:4px;
}
.article-byline a:hover,
.article-byline a:focus-visible{
  text-decoration-color:currentColor;
}

/* Sector labels make relevant experience immediately legible on case studies. */
.case-vertical{
  margin:-4px 0 25px;
  color:var(--muted);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* A quiet route for prospects who need a board-circulation document. */
.credentials-brief{
  margin:28px 0 0;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.25);
}
.credentials-brief .text-link{color:#fff}
@media(max-width:620px){
  .article-related{margin:42px 0 36px}
  .article-related__links{grid-template-columns:1fr}
  .article-related__links a{padding:17px 0 19px;font-size:1.16rem}
  .article-related__links a + a{padding-left:0;border-left:0}
  .article-body{max-width:none}
}

/* V31 — verified proof, precise mobile type and restrained interaction craft. */
.metric-methodology,
.work-methodology{
  color:rgba(255,255,255,.76);
  font-size:.8rem;
  line-height:1.55;
}
.metric-methodology{
  grid-column:1/-1;
  margin:20px 0 0 38px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.18);
}
.work-methodology{
  margin-top:25px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.2);
}
.metric-methodology summary,
.work-methodology summary{
  width:max-content;
  max-width:100%;
  cursor:pointer;
  list-style:none;
  color:#fff;
  font-weight:700;
  letter-spacing:.04em;
  text-underline-offset:4px;
}
.metric-methodology summary::-webkit-details-marker,
.work-methodology summary::-webkit-details-marker{display:none}
.metric-methodology summary::after,
.work-methodology summary::after{
  content:" +";
  display:inline-block;
  margin-left:5px;
  transition:transform .18s ease;
}
.metric-methodology[open] summary::after,
.work-methodology[open] summary::after{transform:rotate(45deg)}
.metric-methodology summary:hover,
.work-methodology summary:hover{text-decoration:underline}
.metric-methodology p,
.work-methodology p{max-width:760px;margin:11px 0 0}

/* The services headline must fit without breaking a word on narrow iPhones. */
@media(max-width:620px){
  .services-hero h1{
    max-width:100%;
    font-size:clamp(2.45rem,11.5vw,3rem)!important;
    letter-spacing:-.04em;
    overflow-wrap:normal;
  }
  .metric-methodology{margin-left:0}
}
@media(max-width:370px){
  .services-hero h1{font-size:clamp(2.35rem,11.5vw,2.65rem)!important}
}

/* A compact editorial sequence on the lead case study. */
.story-sequence{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:34px 0 38px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.story-sequence div{padding:20px 18px 22px 0}
.story-sequence div + div{padding-left:18px;border-left:1px solid var(--line)}
.story-sequence span{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.story-sequence strong{
  display:block;
  font-family:var(--serif);
  font-size:1.08rem;
  font-weight:400;
  line-height:1.28;
}

@media(max-width:720px){
  .story-sequence{grid-template-columns:1fr 1fr}
  .story-sequence div:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .story-sequence div:nth-child(4){border-top:1px solid var(--line)}
}
@media(max-width:420px){
  .story-sequence{grid-template-columns:1fr}
  .story-sequence div,
  .story-sequence div + div{
    padding:15px 0 17px;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .story-sequence div:first-child{border-top:0}
}

@media(max-width:620px){
  .strategic-principle{margin-top:30px;padding-left:16px}
  .strategic-principle p:last-child{font-size:1.18rem}
}

@media(prefers-reduced-motion:reduce){
  .metric-methodology summary::after,
  .work-methodology summary::after{transition:none}
}

/* V32 — discreet company and VAT disclosure in the global footer. */
.footer-meta{
  flex-wrap:wrap;
}
.footer-legal{
  flex:1 0 100%;
  max-width:100%;
  color:inherit;
  font-size:.72rem;
  line-height:1.5;
}

/* Make selected results easier to interpret without adding promotional weight. */
.campaign-card-note{
  margin:20px 0 0;
  max-width:30ch;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.45;
}
.campaign-card-link{margin-top:17px}
.coverage-example a{color:inherit;text-underline-offset:4px}


/* One results component for Home and Work. */
.results-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:40px;align-items:center}
.results-intro h2{font-family:var(--serif);font-size:clamp(2.8rem,4vw,4rem)!important;line-height:1.06;max-width:12ch;margin:0 0 24px}
.results-intro>p:not(.eyebrow){max-width:30ch;margin:0;line-height:1.65;color:inherit}
.results-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));container-type:inline-size}
.results-grid .stat-cell{min-width:0;padding:16px 12px 20px;border-left:1px solid rgba(255,255,255,.25)}
.results-grid .stat-content{display:grid;gap:20px;width:max-content;max-width:100%;margin-inline:auto;text-align:left}
.results-grid .stat-number{display:block;position:relative;margin:0!important;padding:0!important;height:1em;min-height:0;font-family:var(--serif)!important;font-size:clamp(2.5rem,7.8cqw,4.5rem)!important;font-weight:400!important;line-height:1!important;letter-spacing:-.035em;white-space:nowrap;text-align:left!important}
.results-grid .stat-label{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;font-family:var(--sans);font-size:.95rem!important;line-height:1.5!important;text-align:left!important;white-space:nowrap;color:inherit!important}

.stat-value{position:relative;font-variant-numeric:normal!important;font-feature-settings:normal!important;transform:none!important;white-space:nowrap!important}
.stat-value .stat-display,.stat-value .stat-glyph{display:inline-block!important;position:static!important;width:auto!important;height:auto!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;color:inherit!important;opacity:1!important;font:inherit!important;line-height:inherit!important;letter-spacing:inherit;vertical-align:baseline!important}
.stat-value .stat-glyph{transform:translateY(var(--stat-shift,0)) scaleY(var(--stat-scale,1))!important;transform-origin:50% var(--stat-baseline,100%)}
.stat-value .stat-readable{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;user-select:none}
.section-link{margin-top:22px}
.service-example{margin-top:20px;max-width:100%;font-size:.78rem;line-height:1.6}
.service-detail[id]{scroll-margin-top:150px}
.contact-form[aria-busy="true"]{cursor:wait}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-status{scroll-margin-top:160px}
.contact-status:focus{outline:none}

@media(max-width:1024px){
  .results-grid{grid-template-columns:1fr;gap:32px}
  .results-intro h2{max-width:18ch}
  .results-intro>p:not(.eyebrow){max-width:none}
  .results-grid .stat-cell:first-child{border-left:0}
}
@media(max-width:767px){
  .results-grid{gap:32px}
  .results-intro h2{font-size:2.7rem!important;max-width:14ch}
  .results-metrics{grid-template-columns:1fr;gap:32px}
  .results-grid .stat-cell{border:0;padding:8px 0}
  .results-grid .stat-content{width:100%;gap:18px;justify-items:center;text-align:center}
  .results-grid .stat-number{font-size:clamp(3rem,15vw,4.2rem)!important;text-align:center!important}
  .results-grid .stat-label{font-size:.95rem!important;text-align:center!important}
}
@media(max-width:620px){
  .work-list-dark .work-card{padding:24px 0!important}
  .work-card .work-card-brand{height:96px;margin-bottom:16px}
  .work-card .work-card-sector{margin:0 0 8px!important;font-size:.67rem!important}
  .work-card h3{margin-bottom:12px;font-size:1.8rem}
  .work-card .work-card-summary{min-height:0;margin:0 0 16px!important}
  .work-card .big{font-size:2.3rem;line-height:1.1}
  .work-card .label,.work-card dd{font-size:.88rem;line-height:1.5}
  .work-card .coverage-example{margin-top:14px!important;padding-top:12px}
  .work-card .work-card-link{margin-top:14px}
  .article-page h1{font-size:clamp(2.15rem,8.5vw,2.75rem)!important;line-height:1.1!important}
  .insights-page .article-feature h2{font-size:clamp(2rem,8vw,2.6rem)!important;line-height:1.12!important}
  .inner-hero:has(.case-vertical) h1{font-size:clamp(2.4rem,9vw,3.1rem)!important;line-height:1.06!important}
}
