:where(h1,h2,h3,h4,p,ul,ol,figure,blockquote){margin:0}
:where(ul,ol){padding-inline-start:0;list-style-position:inside}
*{box-sizing:border-box}

:root{
  --flnbg:#b7a58a;
  --flnink:#2a2c46;
  --flnaccent:#5f2a95;
  --flnquiet:#6b5b7a;
  --flnsurface:#c5cbb7;
  --flndeep:#4a1f74;
  --flnquietink:#3b3145;
  --flnhair:rgba(42,44,70,.28);
  --flnfaint:rgba(42,44,70,.14);
  --flnmeasure:34rem;
  --flnpad:1.15rem;
}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;
  background:var(--flnbg);
  color:var(--flnink);
  font-family:"Gentium Book Plus","Iowan Old Style",Georgia,serif;
  font-size:1.0625rem;
  line-height:1.62;
  overflow-wrap:break-word;
}

h1,h2,h3,legend,.flnkicker,.flnnext,.flnnum,.flnref,.flnlegal,.flnsum{
  font-family:"Instrument Serif","Iowan Old Style",Georgia,serif;
  font-weight:400;
}

a{color:var(--flndeep);text-underline-offset:.18em;text-decoration-thickness:from-font;transition:color 180ms ease}
a:hover{color:var(--flnink)}
a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px dashed var(--flnaccent);
  outline-offset:3px;
}

.flnskip{
  position:absolute;
  left:-100vw;
  top:0;
  background:var(--flnsurface);
  color:var(--flnink);
  padding:.6rem .9rem;
  border:1px solid var(--flnink);
  z-index:4;
}
.flnskip:focus{left:.5rem;top:.5rem}

/* sheet index: the four sheets this set runs to */

.flnindex{
  border-bottom:1px solid var(--flnhair);
  padding:.85rem var(--flnpad) .8rem;
  background:rgba(197,203,183,.38);
}
.flnindex ol{
  display:flex;
  flex-wrap:wrap;
  gap:.15rem 1.25rem;
  font-size:.93rem;
  list-style:none;
}
.flnindex li{display:flex;align-items:baseline;gap:.42rem}
.flnindex li::before{
  content:counter(list-item,decimal-leading-zero);
  font-family:"Instrument Serif",Georgia,serif;
  color:var(--flnaccent);
  letter-spacing:.06em;
  font-size:.88rem;
}
.flnindex a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color 200ms ease,color 180ms ease}
.flnindex a:hover{border-bottom-color:var(--flnaccent)}
.flnindex [aria-current="page"]{
  color:var(--flnquietink);
  border-bottom:1px solid var(--flnquietink);
}

/* the head band */

.flnband{
  padding:2.6rem var(--flnpad) 2rem;
  border-bottom:3px double var(--flnink);
  background:linear-gradient(180deg,rgba(197,203,183,.55),rgba(197,203,183,0));
}

.flnkicker{
  font-size:.9rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--flnquietink);
}

.flnband h1{
  font-size:clamp(2.7rem,12vw,5.4rem);
  line-height:.92;
  letter-spacing:-.012em;
  margin:.35rem 0 .9rem;
}

.flnstand{max-width:var(--flnmeasure);font-size:1.16rem}

.flnroute{
  max-width:var(--flnmeasure);
  margin-top:1.1rem;
  padding-left:.9rem;
  border-left:2px solid var(--flnaccent);
  color:var(--flndeep);
  font-style:italic;
}

.flnwhere{
  font-style:normal;
  margin-top:1.4rem;
  display:grid;
  gap:.15rem;
  font-size:.98rem;
}

.flnreach{max-width:var(--flnmeasure);margin-top:.9rem;color:var(--flnquietink)}

.flnnext{margin-top:1.5rem;font-size:1.06rem}
.flnnext a{
  text-decoration:none;
  border-bottom:1px solid var(--flnaccent);
  padding-bottom:.12em;
  transition:border-bottom-width 160ms ease,color 180ms ease;
}
.flnnext a:hover{border-bottom-width:2px}

/* the drawing board: drafting grid under a layered blueprint */

.flnboard{
  margin:1.9rem 0 0;
  border:1px solid var(--flnink);
  background-color:var(--flnsurface);
  background-image:
    repeating-linear-gradient(to right,var(--flnhair) 0 1px,transparent 1px 100%),
    repeating-linear-gradient(to bottom,var(--flnhair) 0 1px,transparent 1px 100%),
    repeating-linear-gradient(to right,var(--flnfaint) 0 1px,transparent 1px 100%),
    repeating-linear-gradient(to bottom,var(--flnfaint) 0 1px,transparent 1px 100%);
  background-size:60px 60px,60px 60px,12px 12px,12px 12px;
}
.flnboard svg{display:block;width:100%;height:auto}

.flnboard .flnbound,
.flnboard .flnplotline,
.flnboard .flnway,
.flnboard .flndrain{
  fill:none;
  stroke-linecap:square;
  stroke-dasharray:100;
  stroke-dashoffset:0;
}

.flnbound{stroke:var(--flnink);stroke-width:2.4;animation:flndraw 1100ms 140ms ease-out both}
.flnplotline{stroke:var(--flnink);stroke-width:1.1;animation:flndraw 520ms ease-out both}
.flnplotline:nth-of-type(1){animation-delay:1240ms}
.flnplotline:nth-of-type(2){animation-delay:1400ms}
.flnplotline:nth-of-type(3){animation-delay:1560ms}
.flnplotline:nth-of-type(4){animation-delay:1720ms}
.flnplotline:nth-of-type(5){animation-delay:1880ms}
.flnway{stroke:var(--flnaccent);stroke-width:2;animation:flndraw 760ms 2160ms ease-out both}
.flndrain{stroke:var(--flnquietink);stroke-width:1.4;animation:flndraw 900ms 2380ms ease-out both}
.flnboard .flnsplay{
  fill:none;
  stroke:var(--flnaccent);
  stroke-width:1.2;
  stroke-dasharray:6 4;
  opacity:1;
  animation:flnink 520ms 2560ms ease-out both;
}
.flnboard .flnhatch{
  fill:none;
  stroke:var(--flnquiet);
  stroke-width:.8;
  opacity:1;
  animation:flnink 600ms 2000ms ease-out both;
}
.flnboard text{
  font-family:"Gentium Book Plus",Georgia,serif;
  font-size:12.5px;
  fill:var(--flnquietink);
  opacity:1;
  animation:flnink 460ms 2900ms ease-out both;
}
.flnboard .flntag{fill:var(--flndeep)}
.flnboard circle{fill:var(--flnaccent);opacity:1;animation:flnink 460ms 2780ms ease-out both}

@keyframes flndraw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes flnink{from{opacity:0}to{opacity:1}}
@keyframes flnappear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.flntitleblock{
  border-top:1px solid var(--flnink);
  display:grid;
  gap:.1rem .9rem;
  padding:.55rem .7rem .6rem;
  font-size:.82rem;
  letter-spacing:.04em;
  color:var(--flnquietink);
  background:rgba(183,165,138,.35);
}
.flntitleblock b{font-weight:400;color:var(--flnink);letter-spacing:.08em;text-transform:uppercase}
.flnboardcap{
  margin-top:.6rem;
  font-size:.94rem;
  color:var(--flnquietink);
  max-width:var(--flnmeasure);
}

/* the memo */

.flnmemo{padding:0 var(--flnpad)}

.flnmemo section{
  padding:2.4rem 0 2.6rem;
  border-bottom:1px solid var(--flnhair);
}
.flnmemo section:last-of-type{border-bottom:0}

.flnref{
  display:inline-block;
  font-size:.86rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--flnaccent);
  border-bottom:1px solid var(--flnaccent);
  padding-bottom:.1rem;
  margin-bottom:.7rem;
}

.flnmemo h2{
  font-size:clamp(1.75rem,6.4vw,2.5rem);
  line-height:1.02;
  letter-spacing:-.01em;
  margin-bottom:1rem;
  max-width:20ch;
}

.flnmemo h3{
  font-size:1.3rem;
  line-height:1.15;
  margin:1.6rem 0 .55rem;
  color:var(--flndeep);
}

.flnmemo p{max-width:var(--flnmeasure);margin-bottom:1rem}

/* drafting margin notes */

.flnleaf{margin-bottom:.4rem}

.flnaside{
  margin:0 0 1rem;
  padding:.55rem 0 .6rem .85rem;
  border-left:2px solid var(--flnaccent);
  font-size:.95rem;
  line-height:1.5;
  color:var(--flnquietink);
  max-width:var(--flnmeasure);
  transition:border-color 220ms ease,background-color 220ms ease;
}
.flnaside:hover{border-left-color:var(--flnink);background:rgba(197,203,183,.34)}
.flnnum{
  display:block;
  font-size:.9rem;
  letter-spacing:.18em;
  color:var(--flnaccent);
  margin-bottom:.12rem;
}
.flnaside b{font-weight:400;color:var(--flnink)}

/* sketches */

.flnsketch{margin:1.6rem 0 1.5rem;max-width:var(--flnmeasure)}
.flnsketch svg{
  display:block;
  width:100%;
  height:auto;
  background:var(--flnsurface);
  padding:.6rem;
  border:1px solid rgba(42,44,70,.35);
}
.flnsketch line,.flnsketch path,.flnsketch polyline{stroke:var(--flnink);stroke-width:1.4;fill:none}
.flnsketch .flnfaint{stroke:var(--flnhair)}
.flnsketch .flndash{stroke:var(--flnaccent);stroke-dasharray:5 4}
.flnsketch .flnfill{fill:rgba(107,91,122,.22);stroke:none}
.flnsketch text{
  font-family:"Gentium Book Plus",Georgia,serif;
  font-size:10px;
  fill:var(--flnquietink);
  stroke:none;
}
.flnsketch figcaption{
  margin-top:.55rem;
  font-size:.94rem;
  color:var(--flnquietink);
}

/* constraints and consents */

.flnmapper{margin:1.4rem 0 1.2rem;max-width:var(--flnmeasure)}
.flnmapper fieldset{
  border:1px solid rgba(42,44,70,.4);
  padding:1rem .9rem 1.1rem;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem .9rem;
  background:rgba(197,203,183,.42);
}
.flnmapper legend{padding:0 .4rem;font-size:1.15rem}

.flnchip{
  display:inline-flex;
  align-items:baseline;
  gap:.45rem;
  padding:.18rem .1rem .3rem;
  border-bottom:1px solid var(--flnquiet);
  cursor:pointer;
  font-size:.99rem;
  transition:border-bottom-color 180ms ease;
}
.flnchip:hover,.flnchip:focus-within{border-bottom:2px solid var(--flnaccent)}
.flnchip input{accent-color:var(--flnaccent);margin:0}
.flnchip input:checked + span{color:var(--flndeep)}
.flnchip span{transition:color 180ms ease}

.flnout{
  border-left:3px solid var(--flnaccent);
  padding:.2rem 0 .2rem 1rem;
  margin-bottom:1.1rem;
  max-width:var(--flnmeasure);
}
.flnline{margin-bottom:.8rem}
.flnline:last-child{margin-bottom:0}
.flnrise{animation:flnappear 220ms ease-out both}

.flncaveat{
  font-size:.97rem;
  color:var(--flnquietink);
  font-style:italic;
}

/* plots to the hectare */

.flndens{
  margin:1.4rem 0 1.1rem;
  border:1px solid rgba(42,44,70,.4);
  background:rgba(197,203,183,.42);
  padding:1rem .9rem 1.1rem;
  max-width:var(--flnmeasure);
  display:grid;
  gap:.9rem;
}
.flnfield{display:grid;gap:.2rem}
.flnfield span{font-size:.93rem;letter-spacing:.03em;color:var(--flnquietink)}
.flnfield input,.flnfield select{
  font-family:inherit;
  font-size:1.02rem;
  color:var(--flnink);
  background:var(--flnsurface);
  border:1px solid var(--flnquiet);
  border-radius:0;
  padding:.4rem .5rem;
  width:100%;
  transition:border-color 180ms ease;
}
.flnfield input:hover,.flnfield select:hover{border-color:var(--flnaccent)}

.flnworking{
  border-left:3px solid var(--flnquiet);
  padding:.2rem 0 .2rem 1rem;
  margin-bottom:.9rem;
  max-width:var(--flnmeasure);
  counter-reset:flnstep;
}
.flnworking .flnline{padding-left:1.7rem;text-indent:-1.7rem}
.flnworking .flnline::before{
  counter-increment:flnstep;
  content:counter(flnstep) ".\00a0\00a0";
  font-family:"Instrument Serif",Georgia,serif;
  color:var(--flnaccent);
}
.flnsum{
  font-size:1.2rem;
  line-height:1.28;
  margin:0 0 .9rem;
  padding-left:1rem;
  border-left:3px solid var(--flnaccent);
  max-width:var(--flnmeasure);
}

/* the units a plot arrives in */

.flnwrapper{overflow-x:auto;margin:1.5rem 0 1.2rem;max-width:var(--flnmeasure)}
.flnconv{
  border-collapse:collapse;
  width:100%;
  font-size:.97rem;
}
.flnconv caption{
  text-align:left;
  font-size:.86rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--flnaccent);
  padding-bottom:.5rem;
}
.flnconv th,.flnconv td{
  text-align:left;
  padding:.45rem .8rem .45rem 0;
  border-bottom:1px solid var(--flnhair);
  vertical-align:top;
}
.flnconv thead th{
  border-bottom:1px solid var(--flnink);
  font-weight:400;
  font-style:italic;
  color:var(--flnquietink);
}
.flnconv tbody th{font-weight:400;color:var(--flndeep);white-space:nowrap}
.flnconv tbody tr{transition:background-color 200ms ease}
.flnconv tbody tr:hover{background:rgba(197,203,183,.45)}

/* ruled lists, in the shape a schedule takes */

.flnrun{list-style:none;max-width:var(--flnmeasure);margin-bottom:1.1rem}
.flnrun li{
  padding:.5rem 0 .55rem 1.4rem;
  border-bottom:1px solid var(--flnfaint);
  position:relative;
}
.flnrun li:last-child{border-bottom:0}
.flnrun li::before{
  content:"\2014";
  position:absolute;
  left:0;
  color:var(--flnaccent);
}

.flnfold{
  max-width:var(--flnmeasure);
  margin:1.3rem 0 1.2rem;
  border-top:1px solid var(--flnhair);
  border-bottom:1px solid var(--flnhair);
}
.flnfold summary{
  cursor:pointer;
  padding:.65rem 0;
  font-style:italic;
  color:var(--flndeep);
  transition:color 180ms ease;
}
.flnfold summary:hover{color:var(--flnink)}
.flnfold p{padding-bottom:.9rem}

/* the legal sheet */

.flnhead{
  padding:2.6rem var(--flnpad) .3rem;
  max-width:42rem;
  font-size:clamp(2rem,7.4vw,3.2rem);
  line-height:1.02;
  letter-spacing:-.012em;
}
.flnnotice{padding:2.4rem var(--flnpad) 1rem;max-width:42rem}
.flnnotice p{max-width:var(--flnmeasure);margin-bottom:1.05rem}
.flnnotice sup a{text-decoration:none;padding:0 .12em}
.flnrule{border:0;border-top:1px solid rgba(42,44,70,.45);margin:2rem var(--flnpad) 1.4rem;max-width:var(--flnmeasure)}
.flnnotes{padding:0 var(--flnpad) 3rem;max-width:42rem}
.flnnotes ol{list-style-position:outside;padding-inline-start:1.5rem;max-width:var(--flnmeasure)}
.flnnotes li{margin-bottom:.95rem;font-size:.99rem}
.flnnotes li::marker{color:var(--flnaccent)}
.flnhome{padding:0 var(--flnpad) 3.4rem;font-size:1.02rem}

/* foot */

.flnfoot{
  border-top:3px double var(--flnink);
  padding:2.2rem var(--flnpad) 3rem;
  background:rgba(197,203,183,.5);
  font-size:.98rem;
}
.flnfoot p{margin-bottom:.45rem;max-width:var(--flnmeasure)}
.flnlegal{font-size:1.6rem;line-height:1.1}
.flnfoot .flnwhere{margin:.5rem 0 .9rem;line-height:1.45}
.flnserve{color:var(--flnquietink);margin-top:.9rem}

@media (min-width:56rem){
  :root{--flnpad:3.5rem;--flnmeasure:32rem}
  body{font-size:1.11rem}
  .flnband{padding:3.6rem var(--flnpad) 2.8rem}
  .flnband h1{max-width:14ch}
  .flnindex{padding:1rem var(--flnpad) .95rem}
  .flnindex ol{gap:.15rem 2.2rem;font-size:.97rem}
  .flnfoot{padding:2.8rem var(--flnpad) 4rem}
  .flnmemo section{padding:3.1rem 0 3.3rem}
  .flnboard{margin-top:2.2rem}

  .flnleaf{
    display:grid;
    grid-template-columns:11.5rem minmax(0,var(--flnmeasure));
    gap:0 2.2rem;
    margin-bottom:.6rem;
  }
  .flnleaf > .flnaside{
    grid-column:1;
    grid-row:1;
    margin:.3rem 0 1.4rem;
    padding:0 .9rem 0 0;
    border-left:0;
    border-right:1px solid var(--flnhair);
    text-align:right;
    font-size:.9rem;
    line-height:1.45;
  }
  .flnleaf > .flnaside:hover{background:none;border-right-color:var(--flnaccent)}
  .flnleaf > .flnaside .flnnum{text-align:right}
  .flnleaf > :not(.flnaside){grid-column:2}

  .flnnotice,.flnnotes,.flnhead{max-width:48rem}
  .flnhead{padding-top:3.6rem}
  .flntitleblock{grid-template-columns:repeat(3,auto);justify-content:start}
}

@media (min-width:82rem){
  :root{--flnmeasure:34rem}
  .flnleaf{grid-template-columns:14rem minmax(0,var(--flnmeasure));gap:0 3rem}
  .flnband h1{font-size:5.6rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .flnrise,
  .flnbound,
  .flnplotline,
  .flnway,
  .flndrain,
  .flnboard .flnsplay,
  .flnboard .flnhatch,
  .flnboard text,
  .flnboard circle{animation:none}
  *{transition:none !important}
}

/* the stage rail, used where a sequence is being described */

.flnstage{
  counter-reset:flnturn;
  list-style:none;
  max-width:var(--flnmeasure);
  margin:1.5rem 0 1.3rem;
  border-top:1px solid var(--flnink);
}
.flnstage > li{
  counter-increment:flnturn;
  border-bottom:1px solid var(--flnhair);
  padding:.95rem 0 1rem 2.9rem;
  position:relative;
  transition:background-color 220ms ease,padding-left 200ms ease;
}
.flnstage > li:hover{background:rgba(197,203,183,.34);padding-left:3.2rem}
.flnstage > li::before{
  content:counter(flnturn,decimal-leading-zero);
  position:absolute;
  left:0;
  top:.95rem;
  font-family:"Instrument Serif",Georgia,serif;
  font-size:1.05rem;
  letter-spacing:.1em;
  color:var(--flnaccent);
}
.flnstage b{
  display:block;
  font-weight:400;
  font-family:"Instrument Serif",Georgia,serif;
  font-size:1.22rem;
  line-height:1.2;
  margin-bottom:.2rem;
}
.flnstage em{
  display:block;
  font-style:normal;
  font-size:.88rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--flnquietink);
  margin-bottom:.35rem;
}

/* the grading strip on the site sheet: kept, watched, or put down */

.flngrade{
  display:grid;
  gap:.9rem;
  margin:1.5rem 0 1.4rem;
  max-width:var(--flnmeasure);
}
.flngrade > div{
  border:1px solid var(--flnhair);
  border-left:4px solid var(--flnaccent);
  padding:.85rem .95rem .9rem;
  background:rgba(197,203,183,.3);
  transition:border-left-color 220ms ease,transform 220ms ease;
}
.flngrade > div:hover{border-left-color:var(--flnink);transform:translateX(3px)}
.flngrade h3{margin:0 0 .35rem;font-size:1.18rem;color:var(--flnink)}
.flngrade p{margin-bottom:0;font-size:.99rem}

/* the standing figures a sheet carries in its corner */

.flnfigures{
  list-style:none;
  display:grid;
  gap:.55rem;
  margin:1.4rem 0 1.2rem;
  max-width:var(--flnmeasure);
  border-top:1px solid var(--flnink);
  border-bottom:1px solid var(--flnink);
  padding:.9rem 0;
}
.flnfigures li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:.2rem .9rem;font-size:.98rem}
.flnfigures b{
  font-weight:400;
  font-family:"Instrument Serif",Georgia,serif;
  font-size:1.1rem;
  color:var(--flndeep);
  letter-spacing:.02em;
}

@media (min-width:56rem){
  .flngrade{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
  .flngrade > div:first-child{grid-column:1 / -1}
  .flnfigures li{grid-template-columns:10rem minmax(0,1fr)}
}

@media (prefers-reduced-motion:reduce){
  .flnstage > li:hover{padding-left:2.9rem}
  .flngrade > div:hover{transform:none}
}

@media print{
  html{scroll-behavior:auto}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.45}
  .flnindex,.flnskip,.flnnext{display:none}
  .flnband,.flnfoot,.flntitleblock{background:none}
  .flnband{border-bottom:1.5pt double #000}
  .flnfoot{border-top:1.5pt double #000;page-break-before:avoid}
  .flnmemo section{page-break-inside:avoid;border-bottom:.5pt solid #999}
  .flnboard{border:.5pt solid #000;background-image:none}
  .flnbound,.flnplotline,.flnway,.flndrain,.flnsplay,.flnhatch,.flnboard text,.flnboard circle{animation:none}
  .flnleaf{display:block}
  .flnleaf > .flnaside{
    text-align:left;
    border-right:0;
    border-left:1.5pt solid #000;
    padding:0 0 0 8pt;
    margin:0 0 8pt;
  }
  .flnconv tbody tr:hover{background:none}
  a{color:#000;text-decoration:underline}
  .flnmemo p,.flnstand,.flnaside,.flnrun,.flnwrapper{max-width:none}
}
