@font-face{
  font-family:"Big Caslon";
  src:url("/assets/fonts/big-caslon-regular_freefontdownload_org/big-caslon-regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"myriad-pro";
  src:url("/assets/fonts/myriad-pro/MyriadPro-Light.otf") format("opentype");
  font-weight:300;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"myriad-pro";
  src:url("/assets/fonts/myriad-pro/MYRIADPRO-REGULAR.OTF") format("opentype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"myriad-pro";
  src:url("/assets/fonts/myriad-pro/MYRIADPRO-SEMIBOLD.OTF") format("opentype");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"myriad-pro";
  src:url("/assets/fonts/myriad-pro/MYRIADPRO-BOLD.OTF") format("opentype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

:root{
  --c-dark:#262626;
  --c-light:#F4F4F4;
  --c-accent:#FFC777;

  --font-heading:"Big Caslon",Helvetica,Arial,sans-serif;
  --font-body:"myriad-pro",Helvetica,Arial,sans-serif;
  --font-sans:var(--font-body);

  --container:1200px;
  --gutter:clamp(16px,3vw,28px);

  --s-1:clamp(6px,0.8vw,10px);
  --s-2:clamp(10px,1.2vw,14px);
  --s-3:clamp(14px,1.8vw,20px);
  --s-4:clamp(18px,2.4vw,28px);
  --s-5:clamp(26px,3.2vw,44px);
  --s-6:clamp(40px,5vw,80px);

  --r-sm:10px;
  --r-md:16px;

  --shadow-1:0 10px 30px rgba(0,0,0,.08);

  --fs-0:clamp(12px,0.85vw,13px);
  --fs-1:clamp(14px,0.95vw,16px);
  --fs-2:clamp(16px,1.1vw,18px);
  --fs-3:clamp(18px,1.25vw,22px);
  --fs-4:clamp(22px,2vw,30px);
  --fs-5:clamp(30px,3.2vw,48px);
  --fs-6:clamp(38px,4.6vw,64px);

  --lh-tight:1.1;
  --lh-body:1.55;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--c-dark);
  background:#fff;
  line-height:var(--lh-body);
  font-size:var(--fs-2);
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
button,input,textarea,select{font-family:var(--font-body);}
img{max-width:100%;height:auto;display:block;}

a{color:inherit;text-decoration:none;}
a:hover{text-decoration:underline;}

.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-4);}

.skip-link{
  position:absolute;left:-999px;top:8px;
  background:#fff;color:var(--c-dark);
  border:1px solid rgba(0,0,0,.2);
  padding:10px 12px;border-radius:8px;
  z-index:9999;
}
.skip-link:focus{left:8px;}

:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;}

.visually-hidden{
  position:absolute !important;
  height:1px;width:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}

hr{border:0;border-top:1px solid rgba(0,0,0,.12);margin:var(--s-5) 0;}

.prose p{max-width:70ch;}
.prose ul{padding-left:1.2em;}
.prose li{margin:.4em 0;}

.kicker{
  font-size:var(--fs-0);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(0,0,0,.65);
}

h1,h2,h3,h4,h5,h6,.ui-title,.mega-title,.mega-link-title{
  font-family:var(--font-heading);
  letter-spacing:.01em;
}
h1{font-size:var(--fs-6);line-height:var(--lh-tight);margin:0 0 var(--s-3);}
h2{font-size:var(--fs-5);line-height:var(--lh-tight);margin:0 0 var(--s-3);}
h3{font-size:var(--fs-4);line-height:1.2;margin:0 0 var(--s-2);}
h4{font-size:var(--fs-3);line-height:1.25;margin:0 0 var(--s-2);}
h5{font-size:var(--fs-2);line-height:1.3;margin:0 0 var(--s-1);}
h6{font-size:var(--fs-1);line-height:1.35;margin:0 0 var(--s-1);}

small{font-size:var(--fs-0);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;animation:none !important;}
}
