*{box-sizing:border-box}
:root{
  --serif:"EB Garamond",Garamond,Georgia,serif;
  --sans:Helvetica,Arial,sans-serif;
  --page:1640;
  --scale:min(1px,calc(100vw / var(--page)));
}
html,body{margin:0;padding:0}
body{
  background:#000;color:#fff;overflow-x:hidden;
  transition:background-color 1.15s ease,color 1.15s ease
}
body.scrolled{background:#fff;color:#000}
a{color:inherit;text-decoration:none}
.site-header{height:140px;position:relative}
.wordmark{
  position:absolute;top:50px;left:50%;transform:translateX(-50%);
  font:500 30px/20px var(--serif);letter-spacing:.04em
}

.wordmark {
    white-space: nowrap;
    width: max-content;
    max-width: none;
    display: inline-block;
}

@media (max-width: 760px) {
    .wordmark {
        font-size: 20px;
        white-space: nowrap;
        width: max-content;
    }
}

.hero{width:1360px;max-width:calc(100vw - 280px);margin:88px auto 0}
.hero h1{
  width:1360px;max-width:100%;margin:0;
  font:400 100px/90px var(--serif);letter-spacing:-.01em
}
.two-col{width:898px;margin-inline:auto;display:grid;grid-template-columns:434px 434px;gap:30px}
.intro{margin-top:161px}
.label{
  margin:0 0 9px;text-transform:uppercase;
  font:700 17px/20px var(--sans);letter-spacing:-.01em
}
.programs{font:400 28px/38px var(--serif);letter-spacing:-.01em}
.about p{margin:0 0 22px;font:400 20px/22px var(--serif);letter-spacing:-.01em}
.expertise{margin-top:99px;text-align:center}
.expertise>.label{margin-bottom:12px}
.expertise-clip{width:100vw;height:112px;overflow:hidden;position:relative}
.expertise-line{
  position:absolute;left:0;width:max-content;white-space:nowrap;
  font:400 50px/50px var(--serif);letter-spacing:-.01em;will-change:transform
}
.line-one{top:0}
.line-two{top:52px;transform:translateX(-5365px)}
.contact{width:898px;margin:159px auto 0}
.contact>.label{margin-bottom:7px}
.contact-copy{width:898px}
.contact-copy h3{
  width:387px;margin:0;font:400 50px/50px var(--serif);letter-spacing:-.01em
}
.contact-copy p{margin:16px 0 0;font:400 20px/22px var(--serif);letter-spacing:-.01em}
.contact-form{margin-top:72px}
.contact-form input,.contact-form textarea{
  display:block;width:100%;border:1px solid currentColor;border-radius:0;background:transparent;
  padding:0 20px;color:inherit;font:400 17px/20px var(--sans);letter-spacing:.01em;outline:none;transition:border-color 1.15s ease,color 1.15s ease,background-color 1.15s ease
}
.contact-form input{height:62px;margin:0 0 20px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:currentColor;opacity:1}
.form-row{display:grid;grid-template-columns:434px 434px;gap:30px}
.contact-form textarea{height:342px;padding-top:20px;resize:vertical}
.contact-form button{
  display:block;width:202px;height:62px;margin:20px 0 0 auto;border:1px solid #adadad;
  border-radius:0;background:transparent;color:inherit;padding:0 20px;text-align:left;transition:border-color 1.15s ease,color 1.15s ease,background-color 1.15s ease;
  font:400 17px/20px var(--sans);letter-spacing:.01em;cursor:pointer
}
footer{
  width:1362px;max-width:calc(100vw - 278px);margin:136px auto 0;padding-bottom:55px;
  display:flex;justify-content:space-between;font:400 20px/22px var(--serif);letter-spacing:-.01em
}
@media(max-width:1200px){
  .site-header{height:110px}
  .wordmark{top:40px;font-size:24px}
  .hero{max-width:calc(100vw - 80px);margin-top:70px}
  .hero h1{font-size:clamp(58px,6.1vw,88px);line-height:.9}
  .intro,.contact,.two-col{max-width:calc(100vw - 80px)}
  footer{max-width:calc(100vw - 80px)}
}
@media(max-width:760px){
  .site-header{height:82px}.wordmark{top:30px;font-size:20px}
  .hero{max-width:calc(100vw - 36px);margin-top:50px}
  .hero h1{font-size:clamp(48px,12vw,72px);line-height:.92}
  .two-col,.intro,.contact{width:auto;max-width:calc(100vw - 36px);grid-template-columns:1fr;gap:42px}
  .intro{margin-top:100px}
  .label{font-size:13px;line-height:16px}
  .programs{font-size:25px;line-height:1.28}
  .about p{font-size:18px;line-height:1.15}
  .expertise{margin-top:90px}
  .expertise-clip{height:86px}
  .expertise-line{font-size:36px;line-height:40px}.line-two{top:40px}
  .contact{margin-top:105px}
  .contact-copy h3{width:auto;font-size:44px;line-height:.95}
  .contact-copy p{margin-top:0;font-size:18px;line-height:1.15}
  .contact-form{margin-top:52px}
  .form-row{grid-template-columns:1fr;gap:0}
  .contact-form input{height:56px;margin-bottom:14px}
  .contact-form textarea{height:260px}
  .contact-form button{height:56px}
  footer{max-width:calc(100vw - 36px);margin-top:90px;padding-bottom:30px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){.expertise-line{transform:none!important}}
.site-footer {
  width: 1362px;
  max-width: calc(100vw - 278px);
  margin: 136px auto 0;
  padding-bottom: 55px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  color: inherit;
  font: 400 20px/22px "EB Garamond", Garamond, Georgia, serif;
  letter-spacing: -.01em;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

@media (max-width: 1200px) {
  .site-footer {
    max-width: calc(100vw - 80px);
  }
}

@media (max-width: 760px) {
  .site-footer {
    max-width: calc(100vw - 36px);
    margin-top: 90px;
    padding-bottom: 30px;
    font-size: 15px;
  }
}
/* Intro block: top-to-bottom wipe */
.intro-heading{
  clip-path:inset(0 0 100% 0);
  transition:clip-path 1.35s cubic-bezier(.76,0,.24,1);
  will-change:clip-path;
	padding-bottom: 0.12em;
    margin-bottom: -0.12em;
}
body.intro-ready .intro-heading{
  clip-path: inset(0 0 -0.12em 0);
}

@media(prefers-reduced-motion:reduce){
  .intro-heading{
    clip-path:none;
    transition:none;
  }
}


/* Programs + About Us: same downward wipe, following the intro */
.intro > div{
  clip-path:inset(0 0 100% 0);
  will-change:clip-path;
}
body.intro-ready .intro > div{
  clip-path:inset(0 0 0 0);
}
body.intro-ready .intro > div:nth-child(1){
  transition:clip-path 1.15s cubic-bezier(.76,0,.24,1) 1.05s;
}
body.intro-ready .intro > div:nth-child(2){
  transition:clip-path 1.15s cubic-bezier(.76,0,.24,1) 1.22s;
}

@media(prefers-reduced-motion:reduce){
  .intro > div{
    clip-path:none;
    transition:none !important;
  }
}

/* ==========================================
   TIFFANY BAKER — GRAVITY FORMS
   ========================================== */

.contact .gform_wrapper {
  margin-top: 72px;
  font-family: Helvetica, Arial, sans-serif;
}

/* Remove Gravity Forms default spacing */
.contact .gform_wrapper .gform_fields {
  row-gap: 20px !important;
  column-gap: 30px !important;
}

/* Hide visible field labels — placeholders replace them */
.contact .gform_wrapper .gfield_label {
  display: none !important;
}

/* INPUTS + TEXTAREA */
.contact .gform_wrapper input[type="text"],
.contact .gform_wrapper input[type="email"],
.contact .gform_wrapper input[type="tel"],
.contact .gform_wrapper textarea {
  display: block;
  width: 100% !important;
  margin: 0 !important;

  border: 1px solid #adadad !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;

  color: inherit !important;

  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  letter-spacing: .01em !important;

  outline: none !important;

  transition:
    border-color .25s ease,
    color 1.15s ease,
    background-color 1.15s ease;
}

/* STANDARD FIELDS */
.contact .gform_wrapper input[type="text"],
.contact .gform_wrapper input[type="email"],
.contact .gform_wrapper input[type="tel"] {
  height: 62px !important;
  padding: 0 20px !important;
}

/* MESSAGE */
.contact .gform_wrapper textarea {
  height: 342px !important;
  min-height: 342px !important;
  padding: 20px !important;
  resize: vertical;
}

/* PLACEHOLDERS */
.contact .gform_wrapper input::placeholder,
.contact .gform_wrapper textarea::placeholder {
  color: currentColor !important;
  opacity: 1 !important;
  text-transform: uppercase;
}

/* Focus */
.contact .gform_wrapper input:focus,
.contact .gform_wrapper textarea:focus {
  border-color: currentColor !important;
}


/* ==========================================
   EMAIL + PHONE — TWO COLUMNS
   ========================================== */

/*
Gravity Forms normally gives fields IDs such as:
#field_1_3
#field_1_4

If your Email and Phone fields already have
GF half-width classes, this will handle them.
*/

.contact .gform_wrapper .gfield--width-half {
  grid-column: span 6 !important;
}


/* ==========================================
   SUBMIT
   ========================================== */

.contact .gform_wrapper .gform_footer {
  margin: 20px 0 0 !important;
  padding: 0 !important;

  display: flex !important;
  justify-content: flex-end !important;
}

.contact .gform_wrapper input[type="submit"],
.contact .gform_wrapper button[type="submit"] {
  width: 202px !important;
  height: 62px !important;

  margin: 0 !important;
  padding: 0 20px !important;

  border: 1px solid #adadad !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;

  color: inherit !important;

  font-family: Helvetica, Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-align: left !important;
  text-transform: uppercase;

  cursor: pointer;

  transition:
    border-color .25s ease,
    color 1.15s ease,
    background-color .25s ease;
}

.contact .gform_wrapper input[type="submit"]:hover,
.contact .gform_wrapper button[type="submit"]:hover {
  border-color: currentColor !important;
}


/* ==========================================
   GRAVITY FORMS CLEANUP
   ========================================== */

/* Remove descriptions/instruction text */
.contact .gform_wrapper .gfield_description {
  margin: 0 !important;
}

/* Required indicator isn't needed because labels are hidden */
.contact .gform_wrapper .gfield_required {
  display: none !important;
}

/* Prevent Gravity Forms themes from rounding fields */
.contact .gform-theme--framework input,
.contact .gform-theme--framework textarea,
.contact .gform-theme--framework button {
  border-radius: 0 !important;
}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 760px) {

  .contact .gform_wrapper {
    margin-top: 52px;
  }

  .contact .gform_wrapper .gform_fields {
    row-gap: 14px !important;
  }

  /* Stack Email + Phone */
  .contact .gform_wrapper .gfield--width-half {
    grid-column: 1 / -1 !important;
  }

  .contact .gform_wrapper input[type="text"],
  .contact .gform_wrapper input[type="email"],
  .contact .gform_wrapper input[type="tel"] {
    height: 56px !important;
    font-size: 15px !important;
  }

  .contact .gform_wrapper textarea {
    height: 260px !important;
    min-height: 260px !important;
    font-size: 15px !important;
  }

  .contact .gform_wrapper input[type="submit"],
  .contact .gform_wrapper button[type="submit"] {
    width: 202px !important;
    height: 56px !important;
    font-size: 15px !important;
  }
}

#input_1_1[aria-invalid="true"] {
    border-color: red !important;
}
#input_1_2[aria-invalid="true"] {
    border-color: red !important;
}
#input_1_3[aria-invalid="true"] {
    border-color: red !important;
}
#input_1_4[aria-invalid="true"] {
    border-color: red !important;
}
#input_1_5[aria-invalid="true"] {
    border-color: red !important;
}



.gfield_validation_message {display: none !important;}
