/* About page only: an open layout inspired by the homepage. */
.th-about-page {
  --about-ink:#171918;
  --about-muted:#657287;
  --about-gold:var(--base-color,#ac8d56);
  --about-line:#d9d5c9;
  --about-night:#192630;
  --about-section-gap:30px;
  --about-header-offset:110px;
  --about-body-copy:clamp(14px,.92vw,16px);
  box-sizing:border-box;
  width:min(calc(100% - 96px),1745px);
  margin:0 auto;
  padding:var(--about-header-offset) 0 36px;
  color:var(--about-ink);
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;
}
.th-about-page *,.th-about-page *::before,.th-about-page *::after { box-sizing:border-box; }
.th-about-page__inner { display:grid; gap:var(--about-section-gap); }
.th-about-page section { min-width:0; margin:0; padding:0; }
.th-about-page :is(h1,h2,h3,p,figure) { margin-top:0; }
.th-about-page :is(h1,h2,h3) { color:var(--about-ink); font-family:inherit; font-weight:600; letter-spacing:-.045em; }
.th-about-page h2 { margin-bottom:19px; font-size:clamp(32px,3vw,48px); line-height:1.12; }
.th-about-page :is(h1,h2) em { color:var(--about-gold); font-family:Georgia,serif; font-weight:400; }
.th-about-page h3 { margin-bottom:8px; font-size:clamp(17px,1.1vw,20px); line-height:1.3; letter-spacing:-.025em; }
.th-about-page p { color:var(--about-muted); font-size:var(--about-body-copy); line-height:1.65; }
.th-about-page .th-about-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 18px; color:#987543; font-size:11px; font-weight:700; line-height:1.45; letter-spacing:.13em; text-transform:uppercase; }
.th-about-page .th-about-eyebrow > span { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--about-gold); }
.th-about-page .th-about-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:18px; padding:12px 23px; border-radius:999px; font-size:14px; font-weight:600; line-height:1.35; text-decoration:none; transition:background .2s,transform .2s; }
.th-about-page .th-about-button--light { color:var(--about-ink); background:#fff; }
.th-about-page .th-about-button--light:hover { color:var(--about-ink); background:#f2ece0; transform:translateY(-2px); }
.th-about-page .th-about-button span { color:var(--about-gold); font-size:18px; }
.th-about-page .th-about-text-link { color:var(--about-ink); font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; }
.th-about-page .th-about-text-link span { display:inline-block; margin-left:8px; color:var(--about-gold); transition:transform .2s; }
.th-about-page .th-about-text-link:hover span { transform:translate(2px,-2px); }
.th-about-page a:focus-visible { outline:3px solid var(--about-gold); outline-offset:5px; }

/* A single wide image anchors the page, as it does on the homepage. */
.th-about-page .th-about-hero { position:relative; display:flex; min-height:clamp(500px,42vw,650px); flex-direction:column; justify-content:center; overflow:hidden; padding:52px 42px 25px; border-radius:24px; background:var(--about-night); isolation:isolate; }
.th-about-page :is(.th-about-hero__poster,.th-about-hero__video,.th-about-hero__shade) { position:absolute; z-index:-1; inset:0; width:100%; height:100%; }
.th-about-page :is(.th-about-hero__poster,.th-about-hero__video) { display:block; object-fit:cover; object-position:center; }
.th-about-page .th-about-hero__shade { background:linear-gradient(180deg,rgba(13,24,31,.52),rgba(13,24,31,.6) 55%,rgba(13,24,31,.83)); }
.th-about-page .th-about-hero__copy { width:100%; max-width:1050px; margin:auto; text-align:center; }
.th-about-page .th-about-hero .th-about-eyebrow { justify-content:center; color:#e5c48c; }
.th-about-page .th-about-hero h1 { margin:0 0 23px; color:#fff; font-size:clamp(44px,4.4vw,72px); line-height:1.08; }
.th-about-page .th-about-hero h1 em { color:#e5c48c; }
.th-about-page .th-about-hero__lead { max-width:630px; margin:0 auto 25px; color:#eef0f1; font-size:clamp(15px,1.05vw,18px); }
.th-about-page .th-about-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:23px; }
.th-about-page .th-about-hero .th-about-text-link { color:#fff; }
.th-about-page .th-about-hero__foot { display:flex; align-items:center; justify-content:center; gap:28px; margin-top:38px; padding-top:21px; border-top:1px solid rgba(255,255,255,.3); color:#e8e9e9; font-size:11px; letter-spacing:.09em; line-height:1.5; }
.th-about-page .th-about-hero__foot > span + span::before { display:inline-block; width:4px; height:4px; margin:0 28px 2px 0; border-radius:50%; background:#e5c48c; content:""; }

/* The company story uses the page background, with no enclosing card. */
.th-about-page .th-about-story { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,5vw,85px); align-items:start; padding:24px 0; }
.th-about-page .th-about-story__heading h2 { max-width:550px; margin-bottom:0; }
.th-about-page .th-about-story__copy > p { max-width:760px; margin:0 0 17px; }
.th-about-page .th-about-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:28px 0; padding:23px 0; border-top:1px solid var(--about-line); border-bottom:1px solid var(--about-line); }
.th-about-page .th-about-facts > div { display:flex; flex-direction:column; gap:9px; min-width:0; }
.th-about-page .th-about-facts strong { color:var(--about-ink); font-size:clamp(26px,2.3vw,36px); line-height:1.05; letter-spacing:-.04em; }
.th-about-page .th-about-facts span { max-width:190px; color:var(--about-muted); font-size:13px; line-height:1.5; }

/* Media is framed; the advice alongside it stays open. */
.th-about-page .th-about-perspective { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(30px,5vw,85px); align-items:center; }
.th-about-page .th-about-perspective__visual { position:relative; min-height:490px; height:100%; overflow:hidden; margin:0; border-radius:20px; background:var(--about-night); }
.th-about-page .th-about-perspective__visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.th-about-page .th-about-perspective__visual::after { position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(10,22,29,.85)); content:""; }
.th-about-page .th-about-perspective__visual figcaption { position:absolute; z-index:1; right:28px; bottom:29px; left:28px; display:flex; flex-direction:column; gap:12px; }
.th-about-page .th-about-perspective__visual figcaption span { color:#e5c48c; font-size:11px; font-weight:600; letter-spacing:.12em; }
.th-about-page .th-about-perspective__visual figcaption strong { color:#fff; font-size:clamp(25px,2.4vw,36px); line-height:1.15; letter-spacing:-.03em; }
.th-about-page .th-about-perspective__copy { padding:20px 0; }
.th-about-page .th-about-principles { margin-top:27px; }
.th-about-page .th-about-principles article { display:grid; grid-template-columns:30px minmax(0,1fr); gap:14px; padding:20px 0; border-top:1px solid var(--about-line); }
.th-about-page .th-about-principles article:last-child { padding-bottom:0; }
.th-about-page .th-about-principles article > span { padding-top:3px; color:var(--about-gold); font-size:12px; font-weight:600; }
.th-about-page .th-about-principles p { max-width:680px; margin:0; }

/* An open timeline gives the process its own rhythm. */
.th-about-page .th-about-journey { padding:24px 0; }
.th-about-page .th-about-journey__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:26px; }
.th-about-page .th-about-journey__heading h2 { margin-bottom:0; }
.th-about-page .th-about-journey__heading > p { max-width:390px; margin:0 0 4px; }
.th-about-page .th-about-journey__steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; margin:0; padding:0; list-style:none; }
.th-about-page .th-about-journey__steps li { min-width:0; padding-top:22px; border-top:1px solid var(--about-line); }
.th-about-page .th-about-journey__steps li > span { display:block; margin-bottom:22px; color:var(--about-gold); font-family:Georgia,serif; font-size:27px; line-height:1; }
.th-about-page .th-about-journey__steps h3 { max-width:260px; }
.th-about-page .th-about-journey__steps p { max-width:310px; margin:0; }

.th-about-page .th-about-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:37px 40px; border-radius:24px; background:var(--about-night); }
.th-about-page .th-about-cta .th-about-eyebrow { color:#e5c48c; }
.th-about-page .th-about-cta h2 { margin-bottom:16px; color:#fff; }
.th-about-page .th-about-cta p:last-child { max-width:680px; margin-bottom:0; color:#d6dde0; }
.th-about-page .th-about-cta > a { flex:0 0 auto; }
.th-about-page :is(#th-about-story,#th-about-journey) { scroll-margin-top:110px; }

@media screen and (min-width:1800px) and (max-width:2000px) and (min-height:800px) and (max-height:1000px) {
  .th-about-page { width:min(calc(100vw - 160px),1745px); }
}
@media screen and (min-width:1200px) and (max-width:1366px) and (max-height:700px) {
  .th-about-page { width:min(calc(100vw - 136px),1130px); }
  .th-about-page .th-about-hero { min-height:450px; padding:35px 30px 23px; }
  .th-about-page .th-about-hero h1 { font-size:50px; }
  .th-about-page .th-about-hero__foot { margin-top:26px; }
  .th-about-page :is(.th-about-story,.th-about-perspective) { gap:42px; }
  .th-about-page h2 { font-size:34px; }
  .th-about-page .th-about-perspective__visual { min-height:440px; }
  .th-about-page .th-about-journey__steps { gap:20px; }
  .th-about-page .th-about-cta { padding:30px; }
}
@media (max-width:991px) {
  .th-about-page { width:min(calc(100% - 40px),760px); }
  .th-about-page .th-about-hero { min-height:520px; padding:40px 28px 25px; }
  .th-about-page :is(.th-about-story,.th-about-perspective) { grid-template-columns:minmax(0,1fr); gap:24px; }
  .th-about-page .th-about-story__heading h2 { max-width:650px; }
  .th-about-page .th-about-perspective__visual { min-height:390px; }
  .th-about-page .th-about-perspective__copy { padding:0; }
  .th-about-page .th-about-journey__heading { align-items:flex-start; flex-direction:column; gap:16px; }
  .th-about-page .th-about-journey__heading > p { max-width:620px; }
  .th-about-page .th-about-journey__steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
  .th-about-page .th-about-cta { align-items:flex-start; flex-direction:column; }
}
@media (max-width:767px) {
  .th-about-page { --about-header-offset:120px; width:calc(100% - 28px); }
  .th-about-page .th-about-hero { min-height:550px; padding:35px 21px 22px; border-radius:20px; }
  .th-about-page .th-about-hero h1 { font-size:clamp(36px,9.5vw,48px); }
  .th-about-page .th-about-hero__lead { font-size:15px; }
  .th-about-page .th-about-actions { gap:19px; }
  .th-about-page .th-about-hero__foot { flex-wrap:wrap; gap:10px 17px; font-size:10px; }
  .th-about-page .th-about-hero__foot > span + span::before { display:none; }
  .th-about-page h2 { font-size:31px; }
  .th-about-page :is(.th-about-story,.th-about-journey) { padding:12px 0; }
  .th-about-page .th-about-facts { gap:12px; margin:22px 0; padding:20px 0; }
  .th-about-page .th-about-facts strong { font-size:25px; }
  .th-about-page .th-about-facts span { font-size:12px; }
  .th-about-page .th-about-perspective__visual { min-height:340px; }
  .th-about-page .th-about-perspective__visual figcaption { right:23px; bottom:24px; left:23px; }
  .th-about-page .th-about-principles article { grid-template-columns:25px minmax(0,1fr); gap:10px; }
  .th-about-page .th-about-journey__steps { grid-template-columns:minmax(0,1fr); gap:22px; }
  .th-about-page .th-about-journey__steps li { padding-top:17px; }
  .th-about-page .th-about-journey__steps li > span { margin-bottom:14px; }
  .th-about-page .th-about-journey__steps :is(h3,p) { max-width:none; }
  .th-about-page .th-about-cta { gap:24px; padding:29px 23px; border-radius:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .th-about-page * { scroll-behavior:auto !important; transition:none !important; }
  .th-about-page .th-about-hero__video { display:none; }
}

/* About our agency: a panel within the shared header-aligned page shell. */
body.th-site-refined .th-about-page .th-about-story{
 width:100%;max-width:none;box-sizing:border-box;margin-inline:0;
 padding:clamp(28px,3vw,44px);border:1px solid #e2ded4;
 border-radius:18px;background:#fff;box-shadow:0 6px 26px #19263008;
}
body.th-site-refined .th-about-page .th-about-story>div{min-width:0}
@media screen and (min-width:1200px) and (max-width:1366px) and (max-height:700px){
 body.th-site-refined .th-about-page .th-about-story{padding:30px;gap:36px}
}
@media(max-width:640px){
 body.th-site-refined .th-about-page .th-about-story{padding:26px 22px;gap:24px}
}
/* About: navy journey panel followed by a light conversation panel. */
body.th-site-refined .th-about-page .th-about-journey{
 width:100%;box-sizing:border-box;padding:clamp(28px,3vw,44px);
 border:1px solid #192630;border-radius:18px;background:#192630;
}
body.th-site-refined .th-about-page .th-about-journey h2,
body.th-site-refined .th-about-page .th-about-journey h3{color:#fff}
body.th-site-refined .th-about-page .th-about-journey p{color:#cbd5dc}
body.th-site-refined .th-about-page .th-about-journey .th-about-eyebrow,
body.th-site-refined .th-about-page .th-about-journey h2 em,
body.th-site-refined .th-about-page .th-about-journey__steps li>span{color:#dcc293}
body.th-site-refined .th-about-page .th-about-journey .th-about-eyebrow>span{background:#dcc293}
body.th-site-refined .th-about-page .th-about-journey__steps li{border-color:#ffffff28}
body.th-site-refined .th-about-page .th-about-cta{background:#fff;border:1px solid #e2ded4;border-radius:18px}
body.th-site-refined .th-about-page .th-about-cta h2{color:#192630}
body.th-site-refined .th-about-page .th-about-cta p:last-child{color:#647184}
body.th-site-refined .th-about-page .th-about-cta .th-about-eyebrow{color:#89672f}
body.th-site-refined .th-about-page .th-about-cta .th-about-button{background:#192630;border-color:#192630;color:#fff}
body.th-site-refined .th-about-page .th-about-cta .th-about-button:hover{background:#283b49;border-color:#283b49}
@media screen and (min-width:1200px) and (max-width:1366px) and (max-height:700px){
 body.th-site-refined .th-about-page .th-about-journey{padding:30px}
}
@media(max-width:640px){
 body.th-site-refined .th-about-page .th-about-journey{padding:26px 22px}
}