/* Enquire Sprints. Forest, cream, brass. Cormorant Garamond and Inter.
   Committed single visual world: every colour painted explicitly. */

:root{
  --forest:#16302A;
  --forest-deep:#0E211C;
  --forest-black:#081411;
  --cream:#EFE6D3;
  --cream-2:#DDD0B4;
  --brass:#C7A870;
  --brass-deep:#9C8352;
  --ink:#0B1A16;
  --mute:rgba(239,230,211,0.62);
  --line:rgba(199,168,112,0.20);
  --line-2:rgba(199,168,112,0.34);
  --serif:'Cormorant Garamond',Garamond,Georgia,serif;
  --sans:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.7;
  color:var(--cream);
  background:var(--forest);
  -webkit-font-smoothing:antialiased;
}

::selection{background:var(--brass);color:var(--forest)}

.wrap{max-width:1220px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3rem)}

a{color:inherit;text-decoration:none}
:focus-visible{outline:1px solid var(--brass);outline-offset:4px}

/* labels and shared type ------------------------------------------- */

.lbl{
  display:block;
  font-size:0.7rem;
  letter-spacing:0.34em;
  text-transform:uppercase;
  color:var(--brass);
  font-weight:400;
}

h1,h2{font-family:var(--serif);font-weight:300;letter-spacing:-0.018em;text-wrap:balance}
h1 em,h2 em{font-style:italic;color:var(--brass)}

.big{font-size:clamp(2.9rem,7vw,6.2rem);line-height:0.98}
.mid{font-size:clamp(2.3rem,5.2vw,4.4rem);line-height:1.0}

p{max-width:52ch}
.p-lg{font-size:1.08rem;line-height:1.78}
.p-lg + .p-lg{margin-top:1.2rem}

.italic-note{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(1.2rem,2vw,1.55rem);
  line-height:1.45;
  color:var(--mute);
  max-width:40ch;
}

/* top bar ----------------------------------------------------------- */

.top{
  position:absolute;top:0;left:0;right:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;
  padding:2rem clamp(1.5rem,4vw,3rem);
}

.brand{
  font-family:var(--serif);
  font-style:italic;
  font-size:1.75rem;
  color:var(--brass);
  letter-spacing:0.01em;
  white-space:nowrap;
}

.btn{
  display:inline-block;
  padding:1rem 2.1rem;
  font-family:var(--sans);
  font-size:0.74rem;
  letter-spacing:0.24em;
  text-transform:uppercase;
  font-weight:400;
  transition:background .35s,color .35s,border-color .35s;
  border:1px solid var(--brass);
}

.btn--solid{background:var(--brass);color:var(--forest)}
.btn--solid:hover{background:var(--cream);border-color:var(--cream);color:var(--forest)}
.btn--ghost{color:var(--brass);background:transparent}
.btn--ghost:hover{background:var(--brass);color:var(--forest)}
.btn--sm{padding:0.72rem 1.5rem}

/* hero -------------------------------------------------------------- */

.hero{
  min-height:84vh;
  display:flex;
  align-items:center;
  padding:9rem clamp(1.5rem,4vw,3rem) 5rem;
  position:relative;
  overflow:hidden;
  background:linear-gradient(140deg,var(--forest) 0%,var(--forest-deep) 62%,var(--forest-black) 100%);
}

.hero__rule{
  position:absolute;
  left:clamp(1.5rem,4vw,3rem);
  right:clamp(1.5rem,4vw,3rem);
  top:6.4rem;
  height:1px;
  background:var(--line);
}

.hero__inner{position:relative;z-index:2;max-width:62rem;width:100%}
.hero h1{margin-top:2.2rem}
.hero .italic-note{margin-top:2.2rem}
.hero .cta-row{margin-top:3rem;display:flex;gap:0.8rem;flex-wrap:wrap}

/* bands ------------------------------------------------------------- */

.band{padding:clamp(4.5rem,8vw,8rem) 0;border-top:1px solid var(--line)}

.split{display:grid;grid-template-columns:1fr;gap:2.6rem}
@media(min-width:940px){.split{grid-template-columns:1fr 1.35fr;gap:5.5rem;align-items:start}}

.split h2{margin-top:1.1rem}

/* ruled entries ------------------------------------------------------ */

.entries{list-style:none;margin-top:0.5rem}

.entry{
  display:grid;
  grid-template-columns:1fr;
  gap:0.5rem 3rem;
  padding:1.9rem 0;
  border-bottom:1px solid var(--line);
}

.entry:first-child{border-top:1px solid var(--line)}

@media(min-width:820px){
  .entry{grid-template-columns:16rem 1fr;align-items:baseline}
}

.entry__k{
  font-family:var(--serif);
  font-style:italic;
  font-size:1.5rem;
  color:var(--brass);
  line-height:1.25;
}

.entry__v{color:var(--cream);max-width:56ch;font-size:1.02rem;line-height:1.75}

/* cream section ------------------------------------------------------ */

.pale{
  background:var(--cream);
  color:var(--ink);
  padding:clamp(4.5rem,8vw,8rem) 0;
  text-align:center;
}

.pale .lbl{color:var(--brass-deep)}
.pale h2{margin:1.4rem auto 0;max-width:20ch;color:var(--ink)}
.pale h2 em{color:var(--brass-deep)}
.pale p{margin:1.6rem auto 0;color:rgba(11,26,22,0.68);max-width:44ch}
.pale .mailto{
  display:inline-block;
  margin-top:2.4rem;
  font-family:var(--serif);
  font-size:clamp(1.3rem,3vw,2rem);
  color:var(--ink);
  border-bottom:1px solid var(--brass-deep);
  padding-bottom:0.25rem;
  word-break:break-word;
}
.pale .mailto:hover{border-bottom-width:2px}

/* footer ------------------------------------------------------------- */

.foot{padding:clamp(3.5rem,7vw,6rem) 0 2.5rem;background:var(--forest-black)}

.foot__word{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(2.6rem,11vw,7.5rem);
  line-height:1;
  color:var(--brass);
  letter-spacing:0.01em;
  text-align:center;
}
.foot__word em{font-style:italic}

.foot__row{
  margin-top:clamp(2.5rem,5vw,4rem);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1.6rem 2.5rem;
  font-size:0.86rem;
  color:var(--mute);
}

.foot__row h6{font-size:0.68rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--brass);margin-bottom:0.7rem;font-weight:400}
.foot__row a{color:var(--mute)}
.foot__row a:hover{color:var(--cream)}
.foot__col p{max-width:34ch}

.foot__bottom{
  margin-top:3rem;
  padding-top:1.6rem;
  border-top:1px solid var(--line);
  font-size:0.7rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--mute);
  display:flex;
  flex-wrap:wrap;
  gap:0.6rem 2rem;
  justify-content:space-between;
}

@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto}}
