:root{
  --red:#A61E22;
  --paper:#F8F6F2;
  --ink:#1F1F1F;
  --max:1240px;
  --line:rgba(166,30,34,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--red);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.shell{width:min(calc(100% - 48px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(248,246,242,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.header-inner{min-height:96px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:32px}
.brand img{width:190px;max-height:74px;object-fit:contain;object-position:left center}
.nav{display:flex;justify-content:center;align-items:center;gap:32px;font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.nav a{position:relative;padding:14px 0}
.nav a:not(.quote-link)::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--red);transition:.2s}
.nav a:hover::after,.nav a.active::after{right:0}
.quote-link{padding:16px 22px!important;background:var(--red);color:var(--paper)}
.header-meta{font-size:10px;font-weight:800;letter-spacing:.18em;line-height:1.7;text-align:right}
.header-meta span{opacity:.65}
.menu-toggle{display:none;border:1px solid var(--red);background:none;color:var(--red);padding:10px 12px;font-weight:800;letter-spacing:.12em}

.hero{border-bottom:1px solid var(--line)}
.hero-grid{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;padding:70px 0}
.eyebrow{margin:0 0 16px;font-size:12px;font-weight:900;letter-spacing:.24em;text-transform:uppercase}
h1,h2,h3{font-family:"Arial Black","Rockwell Extra Bold",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.035em;line-height:.92;margin:0}
h1{font-size:clamp(58px,7vw,104px);max-width:760px}
h2{font-size:clamp(42px,5vw,76px)}
.hero-sub{font-size:14px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:24px 0 0}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;border:2px solid var(--red);transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:var(--red);color:var(--paper)}
.btn-outline{background:transparent;color:var(--red)}
.text-link{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--red);padding-bottom:4px}
.text-link span{padding-left:6px}
.hero-art{position:relative;min-height:480px}
.hero-card{position:absolute;border:2px solid var(--red);background:var(--paper)}
.hero-card-a{width:58%;height:66%;right:6%;top:3%;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(3deg)}
.hero-card-a::before{content:"";position:absolute;inset:12px;border:1px solid var(--line)}
.card-label,.card-bottom{position:relative;z-index:1;font-size:11px;font-weight:900;letter-spacing:.18em}
.jersey-number{position:relative;z-index:1;font-family:"Arial Black",Arial,sans-serif;font-size:126px;line-height:1;text-align:center}
.hero-card-b{width:45%;height:48%;left:4%;bottom:3%;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transform:rotate(-5deg);background:var(--red);color:var(--paper)}
.hero-card-b img{width:150px;border-radius:50%}
.hero-card-b span{font-size:10px;font-weight:900;letter-spacing:.18em;text-align:center}
.hero-pennant{position:absolute;left:22%;right:2%;top:41%;padding:18px 24px;background:var(--paper);border:2px solid var(--red);transform:rotate(-2deg);box-shadow:10px 10px 0 var(--red)}
.hero-pennant img{width:100%;max-height:150px;object-fit:contain}
.hero-rail{background:var(--red);color:var(--paper)}
.rail-inner{min-height:64px;display:flex;align-items:center;justify-content:center;gap:28px;font-size:11px;font-weight:900;letter-spacing:.2em}
.rail-inner i{width:4px;height:4px;border-radius:50%;background:var(--paper)}

.benefits{border-bottom:1px solid var(--line)}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.benefit-grid article{padding:34px 28px;min-height:180px;border-right:1px solid var(--line)}
.benefit-grid article:first-child{border-left:1px solid var(--line)}
.benefit-no{font-family:Georgia,serif;font-style:italic;font-size:18px}
.benefit-grid h3{font-size:21px;margin:12px 0 8px}
.benefit-grid p{margin:0;font-size:14px;max-width:240px}
.section-pad{padding:100px 0}
.story{border-bottom:1px solid var(--line)}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.story-copy p:not(.eyebrow){font-family:Georgia,"Times New Roman",serif;font-size:18px;max-width:620px}
.story-copy .btn{margin-top:16px}
.story-visual{min-height:470px;display:flex;align-items:center}
.story-panel{width:100%;min-height:420px;background:var(--red);color:var(--paper);position:relative;padding:54px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.story-panel::after{content:"";position:absolute;inset:18px;border:1px solid rgba(248,246,242,.35)}
.story-mark{width:220px;border-radius:50%;position:relative;z-index:1}
.story-stack{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;font-family:"Arial Black",Arial,sans-serif;font-size:34px;line-height:.95;letter-spacing:.01em}
.story-tag{position:absolute;right:28px;bottom:22px;z-index:1;font-size:11px;font-weight:900;letter-spacing:.16em;text-align:right}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}
.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.work-card p{margin:12px 0 0;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.mock{aspect-ratio:1/1.08;border:2px solid var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;overflow:hidden;position:relative}
.mock::before,.mock::after{content:"";position:absolute;width:58%;height:58%;border:1px solid currentColor;opacity:.22;border-radius:50%}
.mock::after{width:78%;height:78%}
.mock-red{background:var(--red);color:var(--paper)}
.mock-cream{background:var(--paper);color:var(--red)}
.mock span,.mock em{font-size:11px;font-weight:900;letter-spacing:.16em;font-style:normal;z-index:1}
.mock strong{font-family:"Arial Black",Arial,sans-serif;font-size:34px;line-height:1;text-transform:uppercase;margin:10px 0;z-index:1}
.quote{background:var(--red);color:var(--paper);padding:68px 0}
.quote-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.quote h2{font-size:clamp(42px,5vw,72px)}
.light{color:var(--paper)}
.btn-light{border-color:var(--paper);background:var(--paper);color:var(--red)}
.footer{padding:38px 0 44px}
.footer-inner{display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:30px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.footer img{width:180px;max-height:70px;object-fit:contain;object-position:left center}
.footer-meta{text-align:right}

@media (max-width:900px){
  .header-inner{grid-template-columns:1fr auto;min-height:80px}
  .brand img{width:155px}
  .header-meta{display:none}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);border-bottom:1px solid var(--line);padding:24px;flex-direction:column;align-items:flex-start;gap:12px}
  .nav.open{display:flex}
  .quote-link{width:100%;text-align:center}
  .hero-grid,.story-grid{grid-template-columns:1fr;gap:44px}
  .hero-grid{padding-top:52px}
  .hero-art{min-height:430px}
  .benefit-grid{grid-template-columns:1fr 1fr}
  .benefit-grid article:nth-child(3){border-left:1px solid var(--line)}
  .work-grid{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr;text-align:center}
  .footer img{margin:auto}.footer-meta{text-align:center}
}
@media (max-width:620px){
  .shell{width:min(calc(100% - 28px),var(--max))}
  .hero-grid{min-height:auto;padding:44px 0}
  h1{font-size:52px}
  .hero-art{min-height:360px}
  .hero-card-a{width:64%;height:62%}.hero-card-b{width:48%;height:46%}.jersey-number{font-size:82px}
  .hero-pennant{left:16%;right:0;top:43%;padding:12px;box-shadow:6px 6px 0 var(--red)}
  .rail-inner{gap:12px;font-size:8px;letter-spacing:.12em;overflow:hidden}
  .benefit-grid{grid-template-columns:1fr}
  .benefit-grid article,.benefit-grid article:nth-child(3){border-left:1px solid var(--line)}
  .section-pad{padding:72px 0}
  .story-panel{grid-template-columns:1fr;gap:26px;padding:38px;min-height:520px}.story-mark{width:160px}.story-stack{font-size:28px}
  .section-heading{align-items:flex-start;flex-direction:column}
  .work-grid{grid-template-columns:1fr}
  .quote-inner{align-items:flex-start;flex-direction:column}
  .btn-light{width:100%}
}

/* V3 expansion */
.icon-wrap{width:46px;height:46px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.icon-wrap svg{width:42px;height:42px;fill:none;stroke:var(--red);stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.icon-wrap.big{width:68px;height:68px}.icon-wrap.big svg{width:58px;height:58px}
.photo-ready{min-height:470px;border:2px solid var(--red);display:flex;align-items:center;justify-content:center;padding:18px;position:relative;overflow:hidden;background:var(--paper)}
.photo-ready::before{content:"";position:absolute;inset:18px;border:1px solid var(--line)}
.photo-ready-inner{position:relative;z-index:1;text-align:center;max-width:440px;padding:40px}
.photo-ready-inner img{width:320px;margin:0 auto 24px}
.photo-ready-inner p{font-size:12px!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin:0!important}
.page-hero{background:var(--red);color:var(--paper);padding:76px 0;border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:1fr 220px;gap:50px;align-items:center}
.page-hero h1{font-size:clamp(58px,7vw,100px)}
.page-mark{width:190px;border-radius:50%;justify-self:end}
.founder-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}
.lead-copy{font-family:Georgia,"Times New Roman",serif;font-size:19px;max-width:680px}
.signature-line{margin-top:32px;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:31px}.signature-line span{display:block;font-family:Arial,Helvetica,sans-serif;font-style:normal;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;margin-top:9px}
.headshot-slot{min-height:560px}.headshot-placeholder{height:100%;min-height:560px;background:var(--red);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px;position:relative}.headshot-placeholder::after{content:"";position:absolute;inset:18px;border:1px solid rgba(248,246,242,.35)}.headshot-placeholder img{width:190px;border-radius:50%;position:relative;z-index:1}.headshot-placeholder p{font-family:"Arial Black",Arial,sans-serif;font-size:28px;margin:22px 0 7px;position:relative;z-index:1}.headshot-placeholder span{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;position:relative;z-index:1}
.tight-top{padding-top:20px}.value-grid,.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.value-grid article,.process-grid article{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:220px}.value-grid span,.process-grid span{font-family:Georgia,serif;font-style:italic}.value-grid h3,.process-grid h3{font-size:24px;margin:18px 0 10px}.value-grid p,.process-grid p{margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{border:2px solid var(--red);padding:36px;min-height:420px}.service-card h2{font-size:42px;margin:18px 0}.service-card p:last-child{font-family:Georgia,"Times New Roman",serif;font-size:18px}.process{border-top:1px solid var(--line)}.process h2{max-width:850px;margin-bottom:34px}
.photo-band{background:var(--red);color:var(--paper);padding:62px 0}.photo-band-inner{display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:center}.photo-band img{width:250px}.photo-band h2{font-size:clamp(34px,4vw,58px)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-notes{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;font-size:13px}.quote-form{border:2px solid var(--red);padding:36px;display:grid;gap:20px}.quote-form label{display:grid;gap:8px;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.quote-form input,.quote-form textarea{width:100%;border:1px solid var(--red);background:var(--paper);color:var(--red);padding:14px;font:inherit;font-size:16px;outline:none}.quote-form input:focus,.quote-form textarea:focus{box-shadow:0 0 0 2px rgba(166,30,34,.15)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-note{font-size:11px;margin:0;opacity:.75}
@media(max-width:900px){.page-hero-grid,.founder-grid,.contact-grid{grid-template-columns:1fr}.page-mark{justify-self:start;width:150px}.service-grid{grid-template-columns:1fr}.value-grid,.process-grid{grid-template-columns:1fr 1fr}.photo-band-inner{grid-template-columns:1fr}.photo-band img{width:210px}.headshot-slot{min-height:auto}}
@media(max-width:620px){.page-hero{padding:56px 0}.page-hero h1{font-size:52px}.value-grid,.process-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.quote-form{padding:24px}.service-card{min-height:auto}.headshot-placeholder{min-height:430px}.photo-ready{min-height:360px}.photo-ready-inner img{width:220px}}
.headshot-photo{margin:0;height:100%;min-height:560px;position:relative;overflow:hidden;background:var(--red)}
.headshot-photo img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center 35%;display:block;filter:saturate(.88) contrast(1.02)}
.headshot-photo::after{content:"";position:absolute;inset:18px;border:1px solid rgba(248,246,242,.42);pointer-events:none}
.headshot-photo figcaption{position:absolute;left:28px;bottom:26px;background:var(--paper);color:var(--red);padding:13px 16px;font-family:"Arial Black",Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:15px;line-height:1.15}
.headshot-photo figcaption span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.18em;margin-top:5px}
.contact-notes a{color:var(--red);text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:900px){.headshot-photo,.headshot-photo img{min-height:480px}}


/* V5 real stock photography */
.hero-photo-wrap{position:relative;min-height:500px;border:2px solid var(--red);overflow:hidden;background:var(--paper)}
.hero-photo{width:100%;height:500px;object-fit:cover;object-position:center;filter:grayscale(100%) contrast(1.05)}
.hero-photo-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(166,30,34,.03),rgba(166,30,34,.16));pointer-events:none}
.hero-photo-badge{position:absolute;left:24px;bottom:24px;background:var(--paper);border:2px solid var(--red);padding:14px 18px;width:min(300px,70%);z-index:2}
.hero-photo-badge img{width:100%;max-height:88px;object-fit:contain}
.brand-photo{margin:0;position:relative;border:2px solid var(--red);overflow:hidden;background:var(--paper)}
.brand-photo img{width:100%;height:500px;object-fit:cover;filter:saturate(.72) contrast(1.02)}
.brand-photo::after{content:"";position:absolute;inset:0;background:rgba(166,30,34,.06);pointer-events:none}
.brand-photo figcaption{position:absolute;left:22px;bottom:20px;background:var(--paper);color:var(--red);padding:12px 15px;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;z-index:2}
.sports-photo-section{border-top:1px solid var(--line)}
.sports-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sports-photo-grid figure{margin:0;border:2px solid var(--red);background:var(--paper);overflow:hidden}
.sports-photo-grid img{width:100%;height:360px;object-fit:cover;filter:saturate(.78) contrast(1.02)}
.sports-photo-grid figure:nth-child(1) img{object-position:center 55%}
.sports-photo-grid figure:nth-child(2) img{object-position:center}
.sports-photo-grid figure:nth-child(3) img{object-position:center}
.sports-photo-grid figcaption{padding:14px 16px;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;border-top:1px solid var(--line)}
.about-photo-band{position:relative;min-height:420px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-photo-band>img{width:100%;height:470px;object-fit:cover;object-position:center 42%;filter:grayscale(100%) contrast(1.08)}
.about-photo-overlay{position:absolute;inset:0;display:flex;align-items:end;padding:48px 0;background:linear-gradient(180deg,rgba(166,30,34,.02),rgba(166,30,34,.86));color:var(--paper)}
.about-photo-overlay h2{max-width:860px;font-size:clamp(42px,5vw,74px)}
@media(max-width:900px){.hero-photo-wrap{min-height:430px}.hero-photo{height:430px}.sports-photo-grid{grid-template-columns:1fr}.sports-photo-grid img{height:420px}.brand-photo img{height:430px}}
@media(max-width:620px){.hero-photo-wrap{min-height:350px}.hero-photo{height:350px}.hero-photo-badge{left:14px;bottom:14px}.sports-photo-grid img{height:320px}.brand-photo img{height:360px}.about-photo-band>img{height:400px}.about-photo-overlay{padding:34px 0}}

/* V6 refinements: larger brand, restrained athletic texture, framed SM mark */
body{
  position:relative;
  background-color:var(--paper);
  background-image:
    radial-gradient(circle at 50% 50%, transparent 0 118px, rgba(166,30,34,.028) 119px 120px, transparent 121px),
    linear-gradient(90deg, transparent 49.8%, rgba(166,30,34,.018) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(166,30,34,.012) 50%, transparent 50.2%);
  background-size:420px 420px,420px 420px,420px 420px;
  background-attachment:fixed;
}

.header-inner{
  min-height:108px;
  grid-template-columns:270px 1fr auto;
}
.brand{
  display:flex;
  align-items:center;
  min-width:0;
}
.brand img{
  width:238px;
  max-height:90px;
  object-fit:contain;
  object-position:left center;
}

/* Hero photography should stand on its own — no logo overlay. */
.hero-photo-badge{display:none}

/* Founder image intentionally smaller than the surrounding editorial column. */
.headshot-slot{
  min-height:500px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.headshot-photo{
  width:64%;
  height:auto;
  min-height:0;
  aspect-ratio:1/1.2;
  border:2px solid var(--red);
}
.headshot-photo img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center 34%;
}
.headshot-photo::after{inset:12px}
.headshot-photo figcaption{left:18px;bottom:18px;padding:10px 12px;font-size:13px}

/* Give the SM monogram a varsity-badge treatment instead of letting red disappear into red. */
.page-mark-frame{
  width:214px;
  height:214px;
  justify-self:end;
  display:grid;
  place-items:center;
  border:3px solid var(--paper);
  border-radius:50%;
  box-shadow:0 0 0 7px rgba(248,246,242,.20), inset 0 0 0 1px rgba(248,246,242,.35);
  transform:rotate(-3deg);
}
.page-mark{
  width:178px;
  height:178px;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
}

/* Keep local sports photos consistent with the two-color identity. */
.brand-photo img,.sports-photo-grid img{
  filter:saturate(.74) contrast(1.02);
}

@media(max-width:900px){
  .header-inner{min-height:92px;grid-template-columns:1fr auto}
  .brand img{width:190px;max-height:76px}
  .nav{top:92px}
  .page-mark-frame{justify-self:start;width:174px;height:174px}
  .page-mark{width:144px;height:144px}
  .headshot-slot{min-height:auto;justify-content:flex-start}
  .headshot-photo{width:min(360px,70%)}
}
@media(max-width:620px){
  .brand img{width:172px;max-height:70px}
  .headshot-photo{width:min(320px,82%)}
  body{background-size:320px 320px,320px 320px,320px 320px}
}

/* V7 refinements: script signature, athletic hash marks, centered SM badge */
body{
  background-color:var(--paper);
  background-image:none;
}

/* Faint sideline / field hash marks. Graphic, not decorative wallpaper. */
body::before,
body::after{
  content:"";
  position:fixed;
  top:108px;
  bottom:0;
  width:34px;
  z-index:-1;
  opacity:.65;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      to bottom,
      transparent 0 36px,
      rgba(166,30,34,.045) 36px 38px,
      transparent 38px 74px
    );
}
body::before{left:max(10px,calc((100vw - var(--max))/2 - 54px))}
body::after{right:max(10px,calc((100vw - var(--max))/2 - 54px))}

/* A light scoreboard-rule motif on major section boundaries. */
.section-pad,
.benefits,
.footer{
  position:relative;
}
.section-pad::before,
.benefits::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(180px,24vw);
  height:5px;
  transform:translateX(-50%);
  background:repeating-linear-gradient(90deg,var(--red) 0 14px,transparent 14px 25px);
  opacity:.09;
  pointer-events:none;
}

.signature-line{
  font-family:"Brush Script MT","Segoe Script","Snell Roundhand","Apple Chancery",cursive;
  font-style:normal;
  font-weight:400;
  font-size:42px;
  letter-spacing:-.025em;
  line-height:1;
}
.signature-line span{
  margin-top:13px;
  letter-spacing:.2em;
}

/* Clean varsity badge: centered monogram, single crisp stroke, no glow. */
.page-mark-frame{
  width:214px;
  height:214px;
  justify-self:end;
  display:grid;
  place-items:center;
  padding:14px;
  border:3px solid var(--paper);
  border-radius:50%;
  box-shadow:none;
  transform:rotate(-3deg);
  overflow:hidden;
}
.page-mark{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  object-position:50% 50%;
  display:block;
}

/* Slightly livelier crop for the new baseball hero. */
.hero-photo{object-position:center 48%;}

@media(max-width:900px){
  body::before,body::after{top:92px;width:22px;opacity:.45}
  .page-mark-frame{justify-self:start;width:174px;height:174px;padding:11px}
  .signature-line{font-size:38px}
}
@media(max-width:620px){
  body::before,body::after{display:none}
  .signature-line{font-size:34px}
}


/* V8 refinements: tighter canvas, new reverse mark, consistent photo treatment, expanded school-sports library */
:root{--max:1440px}
.shell{width:min(calc(100% - 32px),var(--max))}

/* Use the supplied reverse SM artwork as-is; it already contains its own circular stroke. */
.page-mark-frame{
  width:196px;
  height:196px;
  justify-self:end;
  display:grid;
  place-items:center;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:none;
}
.page-mark{
  width:196px;
  height:196px;
  object-fit:contain;
  border-radius:0;
}

/* Bring founder copy and portrait together without making the portrait dominant. */
.founder-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(260px,.62fr);
  gap:34px;
  align-items:center;
}
.headshot-slot{
  justify-content:flex-start;
  align-items:center;
}
.headshot-photo{
  width:72%;
  max-width:360px;
}
.headshot-photo img{
  filter:saturate(.74) contrast(1.02);
}
.headshot-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(166,30,34,.06);
  pointer-events:none;
  z-index:1;
}
.headshot-photo::after{z-index:2}
.headshot-photo figcaption{z-index:3}

/* Four-sport school athletics gallery. */
.sports-photo-grid-four{grid-template-columns:repeat(4,1fr)}
.sports-photo-grid-four img{height:330px}

/* Make the business phone an unmistakable footer call-to-action. */
.footer-contact{text-align:center}
.footer-contact p{margin:6px 0 0}
.footer-phone{
  display:inline-block;
  font-family:"Arial Black","Rockwell Extra Bold",Arial,sans-serif;
  font-size:clamp(24px,2.5vw,38px);
  line-height:1;
  letter-spacing:-.025em;
  color:var(--red);
  border-bottom:2px solid var(--red);
  padding-bottom:4px;
}

@media(max-width:1000px){
  .sports-photo-grid-four{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .page-mark-frame{justify-self:start;width:160px;height:160px}
  .page-mark{width:160px;height:160px}
  .founder-grid{grid-template-columns:1fr;gap:28px}
  .headshot-photo{width:min(330px,72%)}
}
@media(max-width:620px){
  .shell{width:min(calc(100% - 20px),var(--max))}
  .sports-photo-grid-four{grid-template-columns:1fr}
  .sports-photo-grid-four img{height:320px}
  .footer-phone{font-size:28px}
}

/* V9 refinements: balanced page gutters, clean backgrounds, larger SM mark, unified photography */
:root{--max:1320px}
.shell{width:min(calc(100% - 96px),var(--max));margin-left:auto;margin-right:auto}

/* Remove prior hashmark / scoreboard background decorations. */
body::before,body::after,.section-pad::before,.benefits::before{content:none!important;display:none!important;background:none!important}

/* Give the reverse SM mark more presence and pull it inward toward the content. */
.page-hero-grid{grid-template-columns:minmax(0,1fr) 280px;gap:28px}
.page-mark-frame{
  width:244px;
  height:244px;
  justify-self:start;
  transform:translateX(-22px);
}
.page-mark{width:244px;height:244px;object-fit:contain}

/* One photographic language across the entire site. */
.hero-photo,
.brand-photo img,
.sports-photo-grid img,
.headshot-photo img,
.about-photo-band>img{
  filter:saturate(.72) contrast(1.035) brightness(.99);
}
.hero-photo-wrap::after,.brand-photo::after{background:rgba(166,30,34,.055)}

/* Cleaner phone treatment — bold, spaced, no underline. */
.footer-phone{
  border-bottom:0;
  padding-bottom:0;
  text-decoration:none!important;
  letter-spacing:.005em;
  white-space:nowrap;
}
.footer-phone .phone-sep{display:inline-block;margin:0 .12em;font-family:Arial,Helvetica,sans-serif;font-weight:400}

@media(max-width:900px){
  .shell{width:min(calc(100% - 48px),var(--max))}
  .page-hero-grid{grid-template-columns:1fr;gap:30px}
  .page-mark-frame{width:196px;height:196px;justify-self:start;transform:none}
  .page-mark{width:196px;height:196px}
}
@media(max-width:620px){
  .shell{width:min(calc(100% - 32px),var(--max))}
  .page-mark-frame{width:172px;height:172px}
  .page-mark{width:172px;height:172px}
  .footer-phone{font-size:26px}
}

/* V10 refinements */
/* Return featured/front-facing photography to the original monochrome treatment. */
.headshot-photo img,
.brand-photo img,
.sports-photo-grid img{
  filter:grayscale(100%) contrast(1.07);
}

/* Keep the wrestling action centered in its crop. */
.sports-photo-grid figure:nth-child(2) img{
  object-position:50% 50%;
}

/* Clean phone treatment with compact centered dots. */
.footer-phone{
  text-decoration:none !important;
  letter-spacing:.02em;
}
.footer-phone .phone-sep{
  display:inline;
  margin:0 .16em;
  font-family:inherit;
  font-weight:inherit;
}

/* V11 refinements */
/* Compact phone lockup. */
.footer-phone{letter-spacing:0;word-spacing:0}
.phone-sep{margin:0!important}

/* Keep service photography in full color while the rest of the site retains its monochrome editorial treatment. */
.sports-photo-grid img{filter:saturate(.96) contrast(1.035) brightness(.99)!important}

/* Center the wrestling action (third image in the services gallery) more deliberately. */
.sports-photo-grid figure:nth-child(3) img{object-position:50% 52%!important}

/* Shift Tom's crop slightly right within the frame. */
.headshot-photo img{object-position:58% 35%!important}

/* More distinctive, athletic service pictograms. */
.icon-wrap.big{width:76px;height:76px;border:2px solid var(--red);border-radius:50%;margin-bottom:24px}
.icon-wrap.big svg{width:48px;height:48px;stroke-width:2.4}

/* Quote CTA: outlined varsity button instead of a floating white block. */
.quote .btn-light{background:transparent;color:var(--paper);border:2px solid var(--paper);box-shadow:none}
.quote .btn-light:hover{background:var(--paper);color:var(--red)}

/* V12 — mobile-first polish. Same site, responsive rather than a separate mobile site. */
@media (max-width:900px){
  .shell{width:min(calc(100% - 40px),var(--max));}
  .site-header{backdrop-filter:blur(10px)}
  .header-inner{min-height:88px;grid-template-columns:minmax(0,1fr) auto;gap:18px}
  .brand img{width:205px;max-height:72px}
  .menu-toggle{display:block;min-width:74px;min-height:44px;border:2px solid var(--red);font-size:11px}
  .nav{top:88px;padding:22px 20px 26px;gap:0;box-shadow:0 12px 24px rgba(31,31,31,.08)}
  .nav a{width:100%;padding:15px 2px;border-bottom:1px solid var(--line);font-size:12px}
  .nav a:last-child{border-bottom:0;margin-top:14px;padding:16px 18px!important}
  .nav a:not(.quote-link)::after{display:none}

  .hero-grid{grid-template-columns:1fr;gap:34px;padding:46px 0 38px;min-height:auto}
  .hero-copy{max-width:720px}
  h1{font-size:clamp(54px,11vw,82px);line-height:.94}
  h2{font-size:clamp(40px,8vw,62px)}
  .hero-sub{font-size:12px;line-height:1.7}
  .hero-actions{gap:18px;margin-top:28px}
  .hero-photo-wrap{min-height:0;aspect-ratio:16/10}
  .hero-photo{height:100%;min-height:0}
  .hero-rail{overflow:hidden}
  .rail-inner{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-top:15px;padding-bottom:15px}
  .rail-inner::-webkit-scrollbar{display:none}

  .benefit-grid{grid-template-columns:1fr 1fr}
  .benefit-grid article{min-height:0;padding:28px 24px}
  .section-pad{padding:72px 0}
  .story-grid{gap:34px}
  .brand-photo img{height:auto;aspect-ratio:4/3}
  .work-grid{grid-template-columns:1fr 1fr;gap:16px}
  .quote{padding:54px 0}
  .quote-inner{gap:28px}

  .page-hero{padding:54px 0}
  .page-hero-grid{grid-template-columns:1fr;gap:24px}
  .page-mark-frame{width:178px;height:178px;justify-self:start;transform:none}
  .page-mark{width:178px;height:178px}
  .founder-grid{grid-template-columns:1fr;gap:30px}
  .headshot-slot{justify-content:flex-start}
  .headshot-photo{width:min(340px,78%);max-width:340px}
  .service-grid{grid-template-columns:1fr;gap:18px}
  .service-card{min-height:0;padding:30px}
  .value-grid,.process-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:44px}
  .quote-form{padding:28px}
  .sports-photo-grid,.sports-photo-grid-four{grid-template-columns:1fr 1fr;gap:16px}
  .sports-photo-grid img,.sports-photo-grid-four img{height:330px}

  .footer{padding:34px 0 40px}
  .footer-inner{grid-template-columns:1fr;text-align:center;gap:22px}
  .footer img{margin:auto;width:205px;max-height:78px}
  .footer-meta{text-align:center;margin:0}
  .footer-contact p{margin-top:10px}
}

@media (max-width:620px){
  .shell{width:min(calc(100% - 32px),var(--max));}
  .header-inner{min-height:82px}
  .brand img{width:178px;max-height:64px}
  .menu-toggle{min-width:68px;min-height:42px;padding:8px 10px}
  .nav{top:82px}

  .hero-grid{padding:38px 0 32px;gap:28px}
  h1{font-size:clamp(48px,14vw,66px)}
  h2{font-size:clamp(38px,11vw,54px)}
  .eyebrow{font-size:10px;letter-spacing:.20em;line-height:1.6}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:14px}
  .hero-actions .btn{width:100%}
  .hero-actions .text-link{justify-self:start}
  .hero-photo-wrap{aspect-ratio:4/3;border-width:1.5px}
  .rail-inner{gap:10px;font-size:8px;letter-spacing:.10em}

  .benefit-grid{grid-template-columns:1fr}
  .benefit-grid article{padding:25px 22px;border-left:1px solid var(--line)!important}
  .section-pad{padding:58px 0}
  .story-grid{gap:28px}
  .story-copy p{font-size:16px}
  .brand-photo img{aspect-ratio:4/3;height:auto}
  .work-grid{grid-template-columns:1fr}
  .section-heading{gap:20px}
  .quote-inner{align-items:stretch}
  .quote .btn-light{width:100%}

  .page-hero{padding:46px 0}
  .page-hero h1{font-size:clamp(48px,13vw,62px)}
  .page-mark-frame{width:150px;height:150px}
  .page-mark{width:150px;height:150px}
  .lead-copy{font-size:17px}
  .signature-line{font-size:34px}
  .headshot-photo{width:min(300px,88%);max-width:300px}
  .value-grid,.process-grid{grid-template-columns:1fr}
  .service-card{padding:26px}
  .service-card h2{font-size:36px}
  .form-row{grid-template-columns:1fr}
  .quote-form{padding:22px;gap:17px}
  .quote-form input,.quote-form textarea{font-size:16px;min-height:48px}
  .sports-photo-grid,.sports-photo-grid-four{grid-template-columns:1fr}
  .sports-photo-grid img,.sports-photo-grid-four img{height:300px}
  .about-photo-band>img{height:360px}
  .about-photo-overlay{padding:30px 0}

  .footer-phone{font-size:clamp(24px,8vw,30px)}
  .footer img{width:185px}
}

@media (max-width:390px){
  .shell{width:calc(100% - 24px)}
  .brand img{width:160px}
  h1{font-size:46px}
  .page-hero h1{font-size:46px}
  .sports-photo-grid img,.sports-photo-grid-four img{height:270px}
}

/* V14 polish: larger header pennant + equal audience cards + subtle varsity graphics */
.header-inner{
  grid-template-columns:248px 1fr auto;
}
.brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
}
.brand img{
  width:222px;
  max-height:78px;
  object-fit:contain;
  object-position:left center;
}

/* Keep all Who We Serve cards exactly aligned. */
.work-grid{align-items:stretch}
.work-card{display:grid;grid-template-rows:1fr auto;min-width:0}
.work-card .mock{height:100%;min-height:300px;aspect-ratio:auto}
.work-card p{min-height:18px}

/* Remove the old circular motif completely. */
.mock::before,.mock::after{display:none!important}

/* Oversized, low-contrast varsity graphics. */
.mock{isolation:isolate}
.mock > *{position:relative;z-index:2}
.mock::before{
  display:block!important;
  content:"";
  position:absolute;
  inset:auto;
  z-index:1;
  pointer-events:none;
  opacity:.075;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.work-card:nth-child(1) .mock::before{
  width:88%;height:78%;right:-17%;bottom:-10%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 150'%3E%3Cg fill='none' stroke='%23A61E22' stroke-width='5'%3E%3Crect x='8' y='8' width='204' height='134'/%3E%3Cpath d='M110 8v134M70 8v134M150 8v134'/%3E%3Cpath d='M98 25h24M98 40h24M98 55h24M98 70h24M98 85h24M98 100h24M98 115h24M98 130h24'/%3E%3C/g%3E%3C/svg%3E");
}
.work-card:nth-child(2) .mock::before{
  width:82%;height:82%;left:-15%;bottom:-18%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23F8F6F2' stroke-width='6'%3E%3Cpath d='M100 16L184 100 100 184 16 100z'/%3E%3Cpath d='M100 16v52M16 100h52M184 100h-52M100 184v-52'/%3E%3Cpath d='M86 100l14-14 14 14-14 14z'/%3E%3C/g%3E%3C/svg%3E");
}
.work-card:nth-child(3) .mock::before{
  width:88%;height:67%;right:-13%;top:-4%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 150'%3E%3Cg fill='none' stroke='%23A61E22' stroke-width='6'%3E%3Crect x='10' y='18' width='220' height='114' rx='5'/%3E%3Crect x='29' y='40' width='72' height='48'/%3E%3Crect x='139' y='40' width='72' height='48'/%3E%3Cpath d='M48 108h144M118 18v114'/%3E%3C/g%3E%3C/svg%3E");
}
.work-card:nth-child(4) .mock::before{
  width:88%;height:78%;left:-10%;top:-2%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 150'%3E%3Cg fill='none' stroke='%23F8F6F2' stroke-width='7' stroke-linejoin='round'%3E%3Cpath d='M24 20v110M30 28h145l-33 35 33 35H30z'/%3E%3Cpath d='M58 50h76M58 70h58'/%3E%3C/g%3E%3C/svg%3E");
}
.work-card .mock::before{transition:opacity .2s ease,transform .2s ease}
.work-card:hover .mock::before{opacity:.13;transform:translateY(-3px)}

@media (max-width:900px){
  .header-inner{grid-template-columns:1fr auto}
  .brand img{width:214px;max-height:74px}
  .work-card .mock{min-height:280px}
}
@media (max-width:620px){
  .brand img{width:188px;max-height:66px}
  .work-card .mock{min-height:260px}
}
@media (max-width:390px){
  .brand img{width:172px}
}


/* V15 polish: clearer audience graphics, safe card typography, footer logo parity */
.footer-inner{grid-template-columns:248px 1fr auto}
.footer img{
  width:222px;
  max-height:78px;
  object-fit:contain;
  object-position:left center;
}

/* Keep audience titles comfortably inside every card. */
.work-card .mock{padding:26px 20px}
.work-card .mock strong{
  font-size:clamp(24px,1.8vw,32px);
  line-height:.98;
  max-width:100%;
  overflow-wrap:normal;
}
.work-card:nth-child(4) .mock strong{font-size:clamp(22px,1.6vw,29px)}

/* Replace abstract patterns with simple, recognizable varsity line art. */
.work-card:nth-child(1) .mock::before{
  width:74%;height:64%;right:-8%;bottom:-5%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 180'%3E%3Cg fill='none' stroke='%23A61E22' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M26 148h188'/%3E%3Cpath d='M58 148V48M182 148V48M58 56h124'/%3E%3Cpath d='M80 148v-28M105 148v-28M135 148v-28M160 148v-28'/%3E%3Cpath d='M43 120h154'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.085;
}
.work-card:nth-child(2) .mock::before{
  width:72%;height:72%;left:-8%;bottom:-8%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23F8F6F2' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='110' cy='110' r='76'/%3E%3Cpath d='M58 58c22 16 32 34 34 54M162 58c-22 16-32 34-34 54M58 162c22-16 32-34 34-54M162 162c-22-16-32-34-34-54'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.09;
}
.work-card:nth-child(3) .mock::before{
  width:68%;height:68%;right:-4%;top:-3%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23A61E22' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M47 93l79-44 18 34-79 44z'/%3E%3Cpath d='M65 127l-12 32M86 116l12 32'/%3E%3Cpath d='M144 83l25 10-9 18-29-12'/%3E%3Cpath d='M48 160h55'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.085;
}
.work-card:nth-child(4) .mock::before{
  width:70%;height:68%;left:-5%;top:-2%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 190'%3E%3Cg fill='none' stroke='%23F8F6F2' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M47 28v135'/%3E%3Cpath d='M54 38h132l-31 34 31 34H54z'/%3E%3Cpath d='M72 58h66M72 80h45'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.09;
}

@media (max-width:900px){
  .footer-inner{grid-template-columns:1fr;text-align:center}
  .footer img{margin:auto;width:214px;max-height:74px}
  .work-card .mock strong{font-size:clamp(26px,4.2vw,34px)}
  .work-card:nth-child(4) .mock strong{font-size:clamp(24px,3.8vw,31px)}
}
@media (max-width:620px){
  .footer img{width:188px;max-height:66px}
  .work-card .mock strong,.work-card:nth-child(4) .mock strong{font-size:30px}
}

/* V16: user-supplied sports icon set + hand-drawn game-day pattern */
/* Faint hand-drawn pattern is intentionally limited to light sections. */
.story,
.work,
.benefits{
  background-color:var(--paper);
  background-image:url('assets/game-day-pattern-faint.png');
  background-repeat:repeat;
  background-size:900px auto;
  background-position:center top;
}
/* Keep content and cards crisp over the background treatment. */
.story-grid,.work .shell,.benefit-grid{position:relative;z-index:1}

/* Use the supplied sports icon set instead of abstract CSS illustrations. */
.work-card .mock::before{
  display:block!important;
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  transition:opacity .2s ease,transform .2s ease;
}
.work-card:nth-child(1) .mock::before{
  width:64%;height:64%;right:-5%;bottom:-5%;left:auto;top:auto;
  background-image:url('assets/icons/school-red.png');
  opacity:.075;
}
.work-card:nth-child(2) .mock::before{
  width:62%;height:62%;left:-4%;bottom:-5%;right:auto;top:auto;
  background-image:url('assets/icons/youth-white.png');
  opacity:.08;
}
.work-card:nth-child(3) .mock::before{
  width:60%;height:60%;right:-2%;top:-3%;left:auto;bottom:auto;
  background-image:url('assets/icons/coaches-red.png');
  opacity:.075;
}
.work-card:nth-child(4) .mock::before{
  width:60%;height:60%;left:-2%;top:-2%;right:auto;bottom:auto;
  background-image:url('assets/icons/clubs-white.png');
  opacity:.08;
}
.work-card:hover .mock::before{opacity:.12;transform:translateY(-3px)}

/* All four audience titles share the exact same scale and weight. */
.work-card .mock strong,
.work-card:nth-child(4) .mock strong{
  font-size:clamp(25px,1.75vw,32px);
  line-height:.96;
  letter-spacing:-.035em;
  max-width:100%;
  white-space:normal;
}
.work-card .mock{padding:28px 18px}
.work-card .mock .small-cap,
.work-card .mock em{max-width:100%;line-height:1.35}

@media (max-width:900px){
  .story,.work,.benefits{background-size:720px auto}
  .work-card .mock strong,
  .work-card:nth-child(4) .mock strong{font-size:clamp(28px,4vw,34px)}
}
@media (max-width:620px){
  .story,.work,.benefits{background-size:620px auto}
  .work-card .mock strong,
  .work-card:nth-child(4) .mock strong{font-size:30px}
}


/* V17: simplified Who We Serve cards */
/* Remove V16 background pattern treatment. */
.story,
.work,
.benefits{
  background-color:var(--paper);
  background-image:none!important;
}

/* Remove decorative card icons/illustrations completely. */
.work-card .mock::before,
.work-card:nth-child(1) .mock::before,
.work-card:nth-child(2) .mock::before,
.work-card:nth-child(3) .mock::before,
.work-card:nth-child(4) .mock::before{
  display:none!important;
  content:none!important;
  background-image:none!important;
}

/* Restore a larger, confident card headline size across all four cards. */
.work-card .mock{padding:30px 22px}
.work-card .mock strong,
.work-card:nth-child(4) .mock strong{
  font-size:clamp(32px,2.35vw,42px);
  line-height:.94;
  letter-spacing:-.035em;
  max-width:100%;
  white-space:normal;
}
.work-card .mock .small-cap{
  font-size:clamp(12px,.9vw,15px);
  line-height:1.25;
}
.work-card .mock em{
  font-size:clamp(12px,.9vw,15px);
  line-height:1.25;
}

@media (max-width:1100px){
  .work-card .mock strong,
  .work-card:nth-child(4) .mock strong{font-size:clamp(30px,3vw,38px)}
}
@media (max-width:900px){
  .work-card .mock strong,
  .work-card:nth-child(4) .mock strong{font-size:36px}
}
@media (max-width:620px){
  .work-card .mock strong,
  .work-card:nth-child(4) .mock strong{font-size:34px}
}


/* V18: footer logo parity across all four pages */
.footer img{width:222px;max-height:78px;object-fit:contain;object-position:left center}
@media (max-width:900px){.footer img{margin:auto;width:214px;max-height:74px}}
@media (max-width:620px){.footer img{width:188px;max-height:66px}}

/* V19: mobile display weight + footer centering */
/* Explicit heavy weight keeps the varsity display type visually consistent
   on iOS, where Arial Black can fall back to a lighter Arial face. */
h1,h2,h3,
.story-stack,
.mock strong,
.service-card h2,
.headshot-photo figcaption{
  font-weight:900;
}

/* Footer logo should be centered by its own grid item, not by inherited text alignment. */
.footer img{
  display:block;
  justify-self:center;
  margin-left:auto;
  margin-right:auto;
  object-position:center center;
}

@media (max-width:900px){
  .footer-inner{justify-items:center}
  .footer img{justify-self:center;margin-inline:auto;object-position:center center}
}

@media (max-width:620px){
  /* Add just enough synthetic weight to match the desktop Arial Black look
     without changing the typography or line breaks. */
  h1,h2,h3,
  .story-stack,
  .mock strong,
  .service-card h2{
    font-weight:900;
    -webkit-text-stroke:.42px currentColor;
    paint-order:stroke fill;
  }
  .footer img{
    justify-self:center;
    margin-inline:auto;
    transform:none;
  }
}


/* V21: consistent cross-device display typography.
   Archivo Black is loaded as a real webfont so iOS and desktop render the
   same face instead of relying on platform-specific Arial Black fallbacks. */
:root{--display-font:"Archivo Black","Arial Black",Arial,sans-serif}

h1,h2,h3,
.story-stack,
.mock strong,
.service-card h2,
.headshot-photo figcaption,
.jersey-number{
  font-family:var(--display-font)!important;
  font-weight:400!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
  paint-order:normal!important;
}

/* Keep the existing desktop proportions while avoiding synthetic squeezing. */
h1,h2,h3,.mock strong,.service-card h2{font-synthesis:none}

@media (max-width:620px){
  h1,h2,h3,
  .story-stack,
  .mock strong,
  .service-card h2{
    font-family:var(--display-font)!important;
    font-weight:400!important;
    -webkit-text-stroke:0!important;
    text-shadow:none!important;
    paint-order:normal!important;
  }
}


/* V22: load Archivo Black on every page + clean mobile audience rail */
@media (max-width:620px){
  .hero-rail{overflow:hidden}
  .rail-inner{
    min-height:58px;
    width:100%;
    padding:14px 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    overflow:visible;
    white-space:nowrap;
    font-size:9px;
    letter-spacing:.11em;
  }
  .rail-inner i{
    flex:0 0 4px;
    width:4px;
    height:4px;
  }
}

/* V23: final mobile typography + rail alignment polish */

/* Keep the business phone unmistakably bold on every page and device. */
.footer-phone{
  font-family:var(--display-font)!important;
  font-weight:400!important; /* Archivo Black is a single heavy face */
  letter-spacing:0!important;
  word-spacing:0!important;
  text-decoration:none!important;
  line-height:1!important;
}

/* Use a real webfont for Tom's signature so it looks like an autograph everywhere. */
.signature-line{
  font-family:"Allura","Snell Roundhand","Apple Chancery",cursive!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:48px!important;
  letter-spacing:0!important;
  line-height:.9!important;
}
.signature-line span{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:.2em!important;
  line-height:1.3!important;
  margin-top:16px!important;
}

/* Mobile audience bar: true optical centering, no horizontal scrolling. */
@media (max-width:620px){
  .hero-rail{
    overflow:hidden!important;
  }
  .hero-rail .shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 14px!important;
  }
  .rail-inner{
    min-height:64px!important;
    width:100%!important;
    margin:0 auto!important;
    padding:14px 0!important;
    display:grid!important;
    grid-template-columns:auto 5px auto 5px auto 5px auto!important;
    align-items:center!important;
    justify-content:center!important;
    justify-items:center!important;
    column-gap:10px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    font-size:8.5px!important;
    line-height:1!important;
    letter-spacing:.09em!important;
    text-align:center!important;
    transform:none!important;
  }
  .rail-inner span{display:block!important;min-width:0!important;}
  .rail-inner i{
    display:block!important;
    flex:none!important;
    width:5px!important;
    height:5px!important;
    margin:0!important;
    border-radius:50%!important;
  }
  .signature-line{font-size:43px!important;}
  .footer-phone{font-size:clamp(28px,8.4vw,34px)!important;}
}

@media (max-width:390px){
  .hero-rail .shell{padding-inline:10px!important;}
  .rail-inner{
    column-gap:7px!important;
    font-size:7.8px!important;
    letter-spacing:.075em!important;
  }
}


/* V24: lock footer phone to the exact display treatment and restore prior signature character. */
.footer-phone{
  font-family:"Archivo Black",Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
  line-height:.92!important;
  font-synthesis:none!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* Desktop signature returns to the original script stack used before V23. */
.signature-line{
  font-family:"Brush Script MT","Segoe Script","Snell Roundhand","Apple Chancery",cursive!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:42px!important;
  letter-spacing:-.025em!important;
  line-height:1!important;
}
.signature-line span{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:.2em!important;
  line-height:1.3!important;
  margin-top:13px!important;
}
.signature-mobile{display:none;width:265px;max-width:82vw;height:auto;margin:26px 0 0;}
.signature-mobile-label{display:none;}

@media (max-width:620px){
  .signature-line{display:none!important;}
  .signature-mobile{display:block;}
  .signature-mobile-label{display:block;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;margin-top:8px;}
  .footer-phone{font-size:clamp(28px,8.4vw,34px)!important;}
}

/* V25: exact mobile signature artwork captured from the approved desktop rendering. */
@media (max-width:620px){
  .signature-mobile{
    width:390px!important;
    max-width:92vw!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:26px 0 0!important;
  }
}

/* V26: reduce approved mobile signature artwork by approximately 60%. */
@media (max-width:620px){
  .signature-mobile{
    width:156px!important;
    max-width:42vw!important;
  }
}

/* V27: keep every displayed business phone number visually bold. */
a[href^="tel:"]{
  font-family:"Archivo Black","Arial Black",Arial,sans-serif!important;
  font-weight:400!important; /* Archivo Black is a single heavy face */
  font-synthesis:none!important;
}


/* V28: Netlify form spam-trap field stays hidden from real visitors. */
.form-hidden{display:none!important;}
