
body.fred-body{margin:0;background:#eee4d7;color:#251f1b;font-family:'Lato',Arial,sans-serif}
.fred-body *, .fred-body *::before, .fred-body *::after{box-sizing:border-box;border-radius:0!important}
.fred-body .fred-page{max-width:1600px;margin:0 auto;background:#f3ede3;--accent:#ac452c;--ink:#251f1b;--green:#155d58}
.fred-body a{color:inherit}.fred-body a:focus-visible{outline:3px solid #155d58;outline-offset:4px}
.fred-body .fred-rail{height:15px;border-bottom:2px solid #251f1b;background:repeating-linear-gradient(90deg,#ac452c 0 23px,#d79b77 23px 26px,#155d58 26px 31px,#e7d8c3 31px 34px)}
.fred-body .fred-masthead{padding:24px clamp(18px,5vw,80px);min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:2px solid #251f1b}
.fred-body .fred-brand{font:700 clamp(1.2rem,2.8vw,2rem) 'Montserrat',sans-serif;letter-spacing:.3em;text-decoration:none}
.fred-body .fred-masthead nav{display:flex;flex-wrap:wrap;gap:14px 30px}.fred-body .fred-masthead nav a{font:700 .74rem 'Montserrat',sans-serif;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid transparent;padding:9px 0}
.fred-body .fred-masthead nav a:hover{border-color:#ac452c}
.fred-body .fred-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:#dfc7ae;min-height:590px}
.fred-body .fred-hero-copy{padding:clamp(35px,6.5vw,96px);background:linear-gradient(135deg,#e3d2be,#f4ebdd);display:flex;flex-direction:column;justify-content:center}
.fred-body .fred-kicker,.fred-body .fred-test-flag,.fred-body .fred-section-heading>p,.fred-body .fred-quote>p:first-child{font:700 .73rem 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.15em;color:#ac452c}
.fred-body .fred-hero h1{font:800 clamp(5.5rem,13vw,13rem)/.85 'Montserrat',sans-serif;letter-spacing:-.075em;margin:32px 0;color:#251f1b}
.fred-body .fred-hero h1 span{font-size:.18em;vertical-align:top;color:#ac452c;letter-spacing:0;margin-left:14px}
.fred-body .fred-subtitle{font:700 clamp(1rem,2vw,1.5rem) 'Montserrat',sans-serif;letter-spacing:.01em;margin:0 0 16px}
.fred-body .fred-hero-lead{max-width:44ch;font-size:clamp(1rem,1.6vw,1.24rem);line-height:1.66;margin:8px 0 30px}
.fred-body .fred-action{align-self:flex-start;font:700 .8rem 'Montserrat',sans-serif;letter-spacing:.08em;text-decoration:none;padding:15px 20px;background:#251f1b;color:#fff}
.fred-body .fred-action:hover{background:#ac452c}.fred-body .fred-test-flag{font-size:.62rem;margin-top:40px;color:#765d50}
.fred-body .fred-hero-media{margin:0;background:linear-gradient(140deg,#b57858,#6c4234 55%,#362924);display:flex;flex-direction:column;justify-content:center;padding:clamp(20px,3vw,46px);overflow:hidden}
.fred-body .fred-hero-media img{width:100%;height:auto;max-height:450px;object-fit:contain;background:#e2c0a5;border:5px solid #f7e7d4}
.fred-body .fred-hero-media figcaption{font:700 .68rem 'Montserrat',sans-serif;color:#fff;letter-spacing:.1em;margin-top:16px;text-align:right}
.fred-body .fred-facts{background:#251f1b;color:#fff;border-block:2px solid #251f1b;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.fred-body .fred-facts>div{padding:26px clamp(16px,2.3vw,38px);border-right:1px solid #716055}.fred-body .fred-facts>div:last-child{border:0}
.fred-body .fred-facts span{display:block;color:#dfad90;font:700 .65rem 'Montserrat',sans-serif;letter-spacing:.16em;margin-bottom:9px}.fred-body .fred-facts strong{display:block;font:700 clamp(1rem,1.6vw,1.26rem) 'Montserrat',sans-serif}
.fred-body .fred-section{padding:clamp(60px,7vw,110px) clamp(20px,6vw,92px);display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,95px);border-bottom:2px solid #251f1b}
.fred-body .fred-section-heading h2{font:800 clamp(2.5rem,5vw,5rem)/1.02 'Montserrat',sans-serif;letter-spacing:-.055em;margin:20px 0;max-width:13ch;color:inherit}
.fred-body .fred-prose{max-width:75ch;font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.75}
.fred-body .fred-prose p{margin:0 0 1.25em}.fred-body .fred-open-state{font-size:.92rem;background:#e8d8c8;border-left:5px solid #ac452c;padding:18px 20px}
.fred-body .fred-quote{background:#ac452c;color:#fff3e7;padding:clamp(58px,8vw,120px) clamp(20px,8vw,145px);position:relative;overflow:hidden}
.fred-body .fred-quote::after{content:'';position:absolute;inset:15px 15px auto auto;width:32%;height:70%;background:repeating-linear-gradient(135deg,transparent 0 25px,#f1b294 25px 27px,transparent 27px 50px);opacity:.23;pointer-events:none}
.fred-body .fred-quote>p:first-child{color:#f5ddc5}.fred-body .fred-quote blockquote{font:700 clamp(2.2rem,4.5vw,4.7rem)/1.2 'Montserrat',sans-serif;letter-spacing:-.05em;max-width:22ch;margin:28px 0;position:relative;z-index:1}
.fred-body .fred-quote cite{font:700 .79rem 'Montserrat',sans-serif;letter-spacing:.16em}.fred-body .fred-quote>p:last-child{font-size:1.1rem;line-height:1.6;max-width:56ch;margin-top:26px}
.fred-body .fred-scenes{padding:clamp(58px,7vw,110px) clamp(20px,6vw,92px)}.fred-body .fred-scenes h2{max-width:none}
.fred-body .fred-scene-grid,.fred-body .fred-poster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(15px,3vw,46px);margin-top:35px}
.fred-body figure{margin:0}.fred-body .fred-scenes img{width:100%;height:clamp(240px,28vw,380px);object-fit:cover;display:block}
.fred-body .fred-scenes figcaption{display:grid;gap:6px;padding:20px 0;border-top:5px solid #ac452c}.fred-body .fred-scenes figcaption strong{font:700 1.2rem 'Montserrat',sans-serif}
.fred-body .fred-scenes figcaption span{line-height:1.5}
.fred-body .fred-archive{padding:clamp(58px,7vw,110px) clamp(20px,6vw,92px);background:#1d302e;color:#fff0dc;border-top:12px solid #ac452c}
.fred-body .fred-archive .fred-section-heading>p{color:#7ed0c3}.fred-body .fred-archive h2{max-width:none}.fred-body .fred-archive>p{font-size:1.1rem;line-height:1.65;max-width:70ch}
.fred-body .fred-archive img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;border:2px solid #e7b591}.fred-body .fred-archive img:hover{filter:brightness(1.06)}
.fred-body .fred-poster-grid figcaption{font:700 .69rem/1.6 'Montserrat',sans-serif;letter-spacing:.08em;margin-top:14px}
.fred-body .fred-links{margin-top:36px;border-top:2px solid #251f1b}.fred-body .fred-links a{display:flex;justify-content:space-between;text-decoration:none;border-bottom:1px solid #b8a99b;padding:17px 0;font:700 clamp(1.1rem,1.7vw,1.35rem) 'Montserrat',sans-serif}.fred-body .fred-links a:hover{color:#ac452c}
.fred-body .fred-footer{background:#251f1b;color:#e9ddce;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 25px;padding:36px clamp(20px,6vw,92px);font:700 .75rem 'Montserrat',sans-serif;letter-spacing:.05em}.fred-body .fred-footer small{font:400 .84rem/1.6 'Lato',sans-serif;flex-basis:100%}
@media(max-width:910px){.fred-body .fred-hero{grid-template-columns:1fr}.fred-body .fred-hero-media img{max-height:360px}.fred-body .fred-section{grid-template-columns:1fr}.fred-body .fred-section-heading h2{max-width:none}.fred-body .fred-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fred-body .fred-facts>div:nth-child(2){border:0}.fred-body .fred-facts>div:nth-child(-n+2){border-bottom:1px solid #716055}}
@media(max-width:590px){.fred-body .fred-masthead{align-items:flex-start;flex-direction:column}.fred-body .fred-scene-grid,.fred-body .fred-poster-grid,.fred-body .fred-facts{grid-template-columns:1fr}.fred-body .fred-facts>div{border-right:0;border-bottom:1px solid #716055}.fred-body .fred-facts>div:last-child{border-bottom:0}.fred-body .fred-hero h1{font-size:clamp(5rem,22vw,8rem)}.fred-body .fred-hero-copy{padding:48px 24px}.fred-body .fred-hero-media{padding:24px}}
@media(prefers-reduced-motion:no-preference){.fred-body a,.fred-body img{transition:background-color .15s ease,color .15s ease,filter .15s ease}}


.fred-body .fred-rail{
  height:7px;
  background:#ac452c;
  border-bottom:2px solid #251f1b;
}
.fred-body .fred-hero-media{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:stretch;
  padding:0;
  min-height:590px;
  background:#95674e;
  overflow:hidden;
}
.fred-body .fred-hero-media::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 auto 0 0;
  width:16px;
  background-image:url("../img/characters/fred-pattern-test.png");
  background-size:auto 250px;
  background-repeat:repeat-y;
  background-position:43% top;
  border-right:2px solid #251f1b;
  pointer-events:none;
}
.fred-body .fred-hero-media img{
  display:block;
  width:100%;
  flex:1 1 auto;
  height:100%;
  min-height:590px;
  max-height:none;
  object-fit:cover;
  object-position:50% 53%;
  border:0;
  background:#a77c5b;
}
.fred-body .fred-hero-media figcaption{
  position:absolute;
  z-index:2;
  bottom:0;
  right:0;
  left:16px;
  margin:0;
  padding:15px 18px;
  text-align:right;
  background:linear-gradient(0deg,rgba(29,25,22,.85),rgba(29,25,22,0));
  color:#fff;
}
@media(max-width:910px){
  .fred-body .fred-hero-media{min-height:460px;}
  .fred-body .fred-hero-media img{min-height:460px;height:460px;}
}
@media(max-width:590px){
  .fred-body .fred-hero-media{min-height:390px;}
  .fred-body .fred-hero-media img{min-height:390px;height:390px;}
}


.fred-body .fred-section {padding-block:clamp(38px,4.6vw,72px);gap:clamp(24px,4vw,64px)}
.fred-body .fred-section-heading h2 {font-size:clamp(2rem,3.7vw,3.75rem);line-height:1.06}
.fred-body .fred-scenes {padding-block:clamp(42px,5.1vw,80px)}
.fred-body .fred-scenes .fred-scene-grid {margin-top:26px}
.fred-body .fred-archive {padding-block:clamp(48px,5.4vw,84px)}
.fred-body .fred-quote {padding:clamp(46px,5.2vw,82px) clamp(22px,7.2vw,112px)}
.fred-body .fred-quote blockquote {font-size:clamp(2.15rem,4vw,4.1rem);line-height:1.18;max-width:23ch}
.fred-body .fred-footer {padding-block:28px}
.fred-body .fred-folio {display:flex;align-items:center;gap:12px;margin:34px 0 0;color:#765d50;font:700 .67rem 'Montserrat',sans-serif;letter-spacing:.13em}
.fred-body .fred-archive-head {display:flex;align-items:end;justify-content:space-between;gap:clamp(26px,4vw,70px)}
.fred-body .fred-archive-intro {flex:0 1 45%;margin:0 0 6px;max-width:46ch;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.65}
.fred-body .fred-archive .fred-poster-grid {margin-top:clamp(24px,2.5vw,38px)}
.fred-body .fred-poster {min-width:0}
.fred-body .fred-poster-caption {display:flex;gap:16px;align-items:flex-start;margin-top:17px;font-family:'Montserrat',sans-serif}
.fred-body .fred-poster-caption strong {display:block;color:#fff0dc;font-size:clamp(1.05rem,1.45vw,1.35rem);line-height:1.3}
.fred-body .fred-poster-caption small {display:block;margin-top:7px;color:#a8cec6;font:500 .72rem/1.65 'Montserrat',sans-serif;letter-spacing:.025em}
.fred-body .fred-links {margin-top:22px;border-top:0}
@media(max-width:910px){.fred-body .fred-archive-head{flex-direction:column;align-items:flex-start;gap:8px}.fred-body .fred-archive-intro{max-width:62ch;margin-bottom:10px}}
@media(max-width:590px){.fred-body .fred-quote{padding-right:24px}.fred-body .fred-quote blockquote{font-size:clamp(1.9rem,7.5vw,3.1rem)}.fred-body .fred-poster-caption{gap:12px}}


.fred-body .fred-page {
  max-width: 1440px;
}
.fred-body .fred-masthead {
  min-height: 76px;
  padding: 15px clamp(20px, 4vw, 54px);
  gap: 20px;
}
.fred-body .fred-brand {
  font-size: clamp(1.2rem, 2.1vw, 1.8rem);
  letter-spacing: .22em;
}
.fred-body .fred-masthead nav {
  gap: 6px clamp(16px, 2.2vw, 32px);
}
.fred-body .fred-masthead nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: clamp(.75rem, .93vw, .85rem);
  line-height: 1.35;
}
.fred-body .fred-hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 0;
}
.fred-body .fred-hero-copy {
  min-width: 0;
  padding: clamp(26px, 3.8vw, 56px);
}
.fred-body .fred-kicker {margin: 0;}
.fred-body .fred-hero h1 {
  font-size: clamp(4.15rem, 7.6vw, 8.1rem);
  line-height: .94;
  letter-spacing: -.07em;
  margin: clamp(20px, 3vw, 38px) 0 20px;
  white-space: nowrap;
}
.fred-body .fred-hero h1 span {
  font-size: .16em;
  margin-left: .2em;
}
.fred-body .fred-subtitle {
  font-size: clamp(1.05rem, 1.65vw, 1.35rem);
  line-height: 1.3;
  margin-bottom: 13px;
}
.fred-body .fred-hero-lead {
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.6;
  max-width: 48ch;
  margin: 5px 0 22px;
}
.fred-body .fred-action {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 11px 18px;
}
.fred-body .fred-folio {margin-top: 22px;}
.fred-body .fred-hero-media {
  height: clamp(410px, 36vw, 530px);
  min-height: 0;
}
.fred-body .fred-hero-media img {
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: 50% 0%;
}
.fred-body .fred-facts > div {
  padding-block: 18px;
}
@media(max-width:910px) {
  .fred-body .fred-hero {grid-template-columns: 1fr;}
  .fred-body .fred-hero-copy {padding: clamp(24px,5.5vw,42px);}
  .fred-body .fred-hero h1 {font-size: clamp(4.1rem, 10vw, 7rem);}
  .fred-body .fred-hero-media {height: clamp(350px, 53vw, 450px);min-height: 0;}
  .fred-body .fred-hero-media img {height: 100%;min-height: 0;}
}
@media(max-width:590px) {
  .fred-body .fred-masthead {gap: 10px;}
  .fred-body .fred-brand {letter-spacing: .17em;}
  .fred-body .fred-masthead nav {gap: 3px 14px;}
  .fred-body .fred-hero h1 {font-size: clamp(3.9rem, 16vw, 5.8rem);margin: 20px 0 14px;}
  .fred-body .fred-hero-copy {padding: 27px 22px 30px;}
  .fred-body .fred-hero-media {height: clamp(320px, 90vw, 410px);}
  .fred-body .fred-hero-media img {min-height: 0;height: 100%;}
}


.fred-body .fred-prose > p{margin:0;text-indent:1.2em;line-height:1.63}
.fred-body .fred-prose > p:first-child,
.fred-body .fred-prose > :not(p) + p{text-indent:0}
.fred-body .fred-section{padding-block:clamp(28px,3.7vw,52px)}
.fred-body .fred-scenes{padding-block:clamp(30px,3.8vw,57px)}
.fred-body .fred-archive{padding-block:clamp(34px,4.1vw,60px)}


.fred-body .fred-prose{font-size:clamp(1rem,1.2vw,1.16rem)}
