/* Off By Four homepage layout. Loaded after styles.css on index.html only (start.html and 404 do not use it). */


/* ---- Base: square, printed, left-aligned ---- */
body{font-size:1.0625rem}
.button{border-radius:0;padding:.95rem 1.6rem;box-shadow:none}
@media (prefers-reduced-motion:no-preference) and (hover:hover){.button:hover{transform:none;box-shadow:none}}
.button-big{font-size:1.15rem}
.wrap,.masthead .mast-row,.spread,.letter,.index,.work,.coupon-wrap,.write,.why-band,.colophon{max-width:72rem;margin-left:auto;margin-right:auto}

/* ---- Masthead: a newspaper-style dateline, index nav ---- */
.masthead{padding:0 var(--gutter);border-bottom:1px solid var(--ink);box-shadow:0 3px 0 -2px var(--paper),0 4px 0 -2px var(--ink)}
.mast-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.5rem 1.5rem;padding:1rem 0 .85rem}
.dateline{grid-column:1/-1;grid-row:2;margin:0;font-size:.78rem;color:var(--stone);font-style:italic;display:flex;flex-wrap:wrap;gap:0 .5rem}
.mast-nav{justify-self:end;display:flex;gap:1.1rem;font-size:.9rem}
.mast-nav a{text-decoration:none}
.mast-nav a:not(.mast-cta){display:none}
.mast-cta{border-bottom:1px solid currentColor}
@media (min-width:56rem){
  .mast-row{grid-template-columns:auto 1fr auto}
  .dateline{grid-column:auto;grid-row:auto;justify-content:center}
  .mast-nav a:not(.mast-cta){display:inline}
}

/* ---- 1. The ad ---- */
.hero.spread{text-align:left;max-width:72rem;padding:3rem 1.6rem 2.5rem;margin-top:1.25rem}
.spread-top{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}
.spread .ai{text-align:left;font-size:clamp(8rem,44vw,22rem);margin-left:-.04em}
.spread .more{font-size:clamp(2.2rem,10vw,4.4rem)}
.spread .hb-wrap{margin:0 0 1rem}
.spread .hb{margin:0}
.spread .not-just{margin:0 0 1rem;display:block}
.motion .spread .not-just{display:none}
.spread .not-just::after{display:none}
.spread .hb-note{display:none}
.spread-margin{align-self:end;border-left:1px solid var(--frame);padding-left:1rem}
.pencil{font-style:italic;color:var(--red);font-size:1.05rem;line-height:1.35;margin:0 0 .5rem;transform:rotate(-1.2deg);transform-origin:left}
.pencil-2{margin-left:1.2rem;transform:rotate(.6deg)}
.fig{font-size:.8rem;color:var(--stone);margin:1rem 0 0;line-height:1.45}
.fig::first-line{font-variant:small-caps}
.spread h1{text-align:left;font-size:clamp(2.4rem,10vw,5.6rem);line-height:1.05;letter-spacing:-.05em;margin:2.25rem 0 2rem;max-width:12em}
.spread-copy{border-top:1px solid var(--ink);padding-top:1.5rem;font-size:1.06rem;line-height:1.6;hyphens:auto;-webkit-hyphens:auto}
.spread-copy p{margin:0 0 .9em}
.dropcap::first-letter{font-family:var(--block);float:left;font-size:3.6em;line-height:.8;margin:.06em .1em 0 0;color:var(--ink)}
.spread-sign{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.75rem;margin-top:1.75rem;padding-top:1.5rem;border-top:3px double var(--frame)}
.spread-cta .fine{font-size:.9rem;color:var(--stone);margin:.6rem 0 0}
.spread-logo{display:flex;align-items:center;gap:.8rem}
.spread-logo img{width:2.9rem;height:2.9rem}
.spread-logo p{margin:0;line-height:1.25;font-size:1.05rem}
.spread-logo i{color:var(--stone);font-size:.92rem}
@media (min-width:44rem){
  .hero.spread{padding:4rem 3.25rem 3rem}
  .spread-top{grid-template-columns:minmax(0,1fr) 13.5rem;gap:2.5rem}
  .spread-copy{column-count:2;column-gap:2.75rem;column-rule:1px solid var(--rule)}
}
@media (min-width:68rem){
  .spread-copy{column-count:3}
  .spread .hb{width:min(100%,40rem)}
}

/* ---- 2. The letter ---- */
.letter{display:grid;gap:2.5rem;padding:4.5rem var(--gutter) 4rem}
.kicker-l{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin:0 0 .75rem}
.letter h2{font-size:clamp(2rem,6vw,2.8rem);font-style:italic;font-weight:400;letter-spacing:-.02em;margin-bottom:1.25rem}
.letter-body{max-width:34rem;font-size:1.15rem;line-height:1.65}
.mn{display:block;font-style:italic;color:var(--red);font-size:.95rem;margin:.4rem 0 .4rem 1.5rem;transform:rotate(-1deg)}
.mn::before{content:"\2190\00a0";font-style:normal}
.ps{margin-top:1.5rem;font-size:1.02rem}
@media (min-width:56rem){
  .letter{grid-template-columns:19rem minmax(0,1fr);gap:3.5rem;padding-top:6rem}
  .sketch{position:sticky;top:2rem;align-self:start;margin-top:.4rem}
  .letter-body{max-width:34rem;margin-right:14rem;position:relative}
  /* margin notes: Tufte-style, out in the right margin */
  .mn{float:right;clear:right;width:11.5rem;margin:.2rem -14rem 0 0;transform:rotate(-1.5deg)}
  .mn::before{content:"\2190\00a0"}
}

/* ---- 3. How it goes: an index ---- */
.index{padding:4rem var(--gutter);border-top:1px solid var(--ink)}
.index-head h2{font-size:clamp(2rem,6vw,3rem)}
.index-head p{color:var(--stone);font-style:italic;margin-top:.5rem}
.steps-list{list-style:none;margin:2rem 0 0;padding:0}
.steps-list li{display:grid;grid-template-columns:4.75rem minmax(0,1fr);gap:1rem;padding:1.4rem 0;border-top:1px solid var(--rule)}
.steps-list li:last-child{border-bottom:1px solid var(--rule)}
.steps-list .num{margin:0;font-size:1.7rem}
.steps-list h3{font-size:1.4rem;margin:.1rem 0 .35rem}
.steps-list p{margin:0;color:#2b2925;max-width:36rem}
.ways-toc{margin-top:3.5rem}
.toc-title{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);font-weight:400;margin-bottom:1rem}
.toc{list-style:none;margin:0;padding:0}
.toc li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding:.75rem 0}
.toc .t{font-weight:700;font-size:1.2rem;letter-spacing:-.02em}
.toc .dots{flex:1 1 2rem;border-bottom:2px dotted #B9B0A0;transform:translateY(-.3em);min-width:2rem}
.toc .d{flex:1 1 100%;color:#2b2925}
@media (min-width:56rem){
  .index{display:grid;grid-template-columns:19rem minmax(0,1fr);gap:0 3.5rem;padding-top:5rem;padding-bottom:5rem}
  .index-head{grid-row:1/3;position:sticky;top:2rem;align-self:start}
  .steps-list{margin-top:0}
  .steps-list li{grid-template-columns:6rem minmax(0,1fr)}
  .steps-list .num{font-size:2.2rem}
  .ways-toc{grid-column:2}
  .toc .d{flex:0 1 26rem;text-align:right}
}

/* ---- 5. Coupon ---- */
.coupon-wrap{padding:2.5rem var(--gutter) 4rem}
.coupon{position:relative;border:2px dashed var(--ink);padding:2.25rem 1.4rem 1.75rem;display:grid;gap:2rem;background:#FBF9F4 var(--grain) 0 0/220px 220px}
.scissors{position:absolute;top:-1.05rem;left:1.25rem;font-size:1.6rem;line-height:1;background:var(--paper);padding:0 .3rem;transform:rotate(180deg) scaleY(-1)}
.coupon h2{font-size:clamp(1.9rem,6vw,2.8rem);margin-bottom:1rem;max-width:14em}
.terms{list-style:none;padding:0;margin:1.25rem 0 0;border-top:1px solid var(--rule)}
.terms li{padding:.55rem 0;border-bottom:1px solid var(--rule)}
.terms li::before{content:"\2610\00a0\00a0";color:var(--stone)}
.coupon-r{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;border-top:1px solid var(--rule);padding-top:1.75rem}
.no-clip{font-style:italic;color:var(--stone);font-size:.95rem;margin:0}
@media (min-width:56rem){
  .coupon{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3rem;padding:3rem 3rem 2.5rem}
  .coupon-r{border-left:1px solid var(--rule);padding-left:3rem;border-top:0;padding-top:0;justify-content:center;align-items:center;text-align:center}
}

/* ---- 6. Write ---- */
.write{padding:4rem var(--gutter) 5rem;border-top:1px solid var(--ink);display:grid;gap:2rem}
.write h2{font-size:clamp(2rem,6vw,3rem);margin-bottom:1rem}
.write-head p{max-width:26rem}
.direct-l{list-style:none;padding:0;margin:1.25rem 0 0;font-size:1.1rem;display:grid;gap:.4rem}
.write .field input,.write .field textarea{border:0;border-bottom:1.5px solid var(--ink);border-radius:0;background:transparent;padding:.55rem 0}
.write .field textarea{border:1.5px solid var(--ink);padding:.7rem;background:rgba(255,253,248,.6);background-image:repeating-linear-gradient(transparent 0 1.55rem,var(--rule) 1.55rem 1.6rem);background-attachment:local;line-height:1.6rem}
.write .field input:focus,.write .field textarea:focus{box-shadow:none;border-color:var(--red)}
.write .form-foot{align-items:flex-start;text-align:left}
@media (min-width:56rem){.write{grid-template-columns:19rem minmax(0,1fr);gap:3.5rem}}

/* ---- 7. Why band + colophon ---- */
.why-band{display:grid;gap:1.5rem;align-items:center;text-align:left;margin:0 auto;padding:3.5rem var(--gutter)}
.why-band > *{max-width:none;margin:0}
.why-band .why-flip{margin:0;font-size:4rem}
.why-band .why-q{margin-bottom:.5rem}
.why-band h2{font-size:clamp(1.7rem,5vw,2.5rem);max-width:22em}
@media (min-width:56rem){.why-band{grid-template-columns:19rem minmax(0,1fr);gap:3.5rem;padding:4.5rem 3rem}.why-band .why-flip{font-size:5rem}}
.why-band{max-width:none}
@media (min-width:72rem){.why-band{padding-left:max(var(--gutter),calc((100vw - 72rem)/2));padding-right:max(var(--gutter),calc((100vw - 72rem)/2))}}

.colophon{text-align:left;border-top:0;padding:3rem var(--gutter) 2.5rem;display:grid;gap:2rem;font-size:.95rem}
.colophon .brand-mark{margin:0 0 .75rem}
.colophon .foot-live{justify-content:flex-start}
.col-h{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-bottom:.6rem}
.col-b p,.col-c p{color:#2b2925}
.colophon .foot-small{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:1rem}
.colophon .to-top{margin-top:1rem}
@media (min-width:56rem){.colophon{grid-template-columns:19rem minmax(0,1.3fr) minmax(0,1fr);gap:3.5rem}}

/* Split-flap: blank flaps are dark ink like a real board, not pale skeleton tiles */
.hb .e{background-color:#2a2826}
.hb .sf-b.e,.hb .sf-fb.e{background-color:#242220}
.steps-list li{align-items:start}
.steps-list .num{margin-top:.15rem}

@media (min-width:44rem){.spread .more{font-size:clamp(2.2rem,6.5vw,4.4rem)}}

/* Team note: pen-and-ink sketch instead of a portrait; small signature sign-off */
.sketch{margin:0;max-width:15rem}
.sketch svg{display:block;width:100%;height:auto}
.sketch figcaption{font-size:.8rem;color:var(--stone);font-style:italic;margin-top:.6rem;line-height:1.45;border-top:1px solid var(--rule);padding-top:.5rem}
.sign{margin-top:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}
.sig{display:block;height:3.4rem;width:auto;opacity:.92;margin-left:.4rem;transform:rotate(-2deg)}
.sig-line{margin:0;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);border-top:1px solid var(--rule);padding-top:.45rem}
@media (max-width:55.99rem){.sketch{max-width:11rem}}
@media (max-width:37.49rem){.sig-line{letter-spacing:.08em;font-size:.7rem;text-wrap:balance}}

/* Coupon fee note: a fine-print footnote keyed to the deposit line */
.fn-ref{color:var(--red,#B5402A);text-decoration:none;font-size:.8em;vertical-align:super;line-height:0;margin-left:.1em}
.coupon .why-fee{position:relative;margin:.9rem 0 0;padding:0 0 0 1rem;font-size:.82rem;line-height:1.55;color:var(--stone);max-width:31rem;text-wrap:pretty}
.coupon .why-fee .fn-mark{position:absolute;left:0;top:0;color:var(--red,#B5402A)}
.coupon .why-fee b{color:var(--ink);font-weight:700;font-variant:small-caps;letter-spacing:.04em;margin-right:.25em}
.sig-line .nb{white-space:nowrap}
.terms li{text-wrap:pretty}
