:root {
  --decorative-text-color-primary: #223214;
  --decorative-text-color-secondary: #628B3D;
  --background-surface-green: #C6D4C7;
  --background-emphasized-green: #D1DDB3;
  --button-primary: #628B3D;
  --dividing-lines: #628B3D;
}

@font-face {
  font-family: 'Sharp Serif';
  src: url('/sharp-serif/SharpSerifText-RegularTrial.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Sharp Serif';
  src: url('/sharp-serif/SharpSerifText-MediumTrial.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Sharp Serif';
  src: url('/sharp-serif/SharpSerifText-BoldTrial.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* GT Font Families */
@font-face {
  font-family: 'GT America';
  src: url('/GT-America/GT-America-Standard-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT America';
  src: url('/GT-America/GT-America-Standard-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Pressura';
  src: url('/GT-Pressura/GT-Pressura-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Pressura';
  src: url('/GT-Pressura/GT-Pressura-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Standard';
  src: url('/GT-Standard/GT-Standard-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Standard';
  src: url('/GT-Standard/GT-Standard-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Ultra';
  src: url('/GT-Utra/GT-Ultra-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Ultra';
  src: url('/GT-Utra/GT-Ultra-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Flaire';
  src: url('/GT-Flaire/GT-Flaire-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Flaire';
  src: url('/GT-Flaire/GT-Flaire-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Pantheon';
  src: url('/GT-Pantheon/GT-Pantheon-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Pantheon';
  src: url('/GT-Pantheon/GT-Pantheon-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Planar';
  src: url('/GT-Planar/GT-Planar-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Planar';
  src: url('/GT-Planar/GT-Planar-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Alpina';
  src: url('/GT-Alpina/GT-Alpina-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Alpina';
  src: url('/GT-Alpina/GT-Alpina-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Maru';
  src: url('/GT-Maru/GT-Maru-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Maru';
  src: url('/GT-Maru/GT-Maru-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Sectra';
  src: url('/GT-Sectra/GT-Sectra-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Sectra';
  src: url('/GT-Sectra/GT-Sectra-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Walsheim';
  src: url('/GT-Walsheim/GT-Walsheim-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Walsheim';
  src: url('/GT-Walsheim/GT-Walsheim-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Super';
  src: url('/GT-Super/GT-Super-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Super';
  src: url('/GT-Super/GT-Super-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Zirkon';
  src: url('/GT-Zirkon/GT-Zirkon-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Zirkon';
  src: url('/GT-Zirkon/GT-Zirkon-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Flexa';
  src: url('/GT-Flexa/GT-Flexa-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Flexa';
  src: url('/GT-Flexa/GT-Flexa-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Eesti';
  src: url('/GT-Eesti/GT-Eesti-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Eesti';
  src: url('/GT-Eesti/GT-Eesti-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Haptik';
  src: url('/GT-Haptik/GT-Haptik-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Haptik';
  src: url('/GT-Haptik/GT-Haptik-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Cinetype';
  src: url('/GT-Cinetype/GT-Cinetype-Regular-Trial.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GT Cinetype';
  src: url('/GT-Cinetype/GT-Cinetype-Bold-Trial.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* PP Lettra Font Family */
@font-face {
  font-family: 'PP Lettra';
  src: url('/pp-lettra/PPLettraMono-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PP Lettra';
  src: url('/pp-lettra/PPLettraMono-Ultralight.otf') format('opentype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

/* PP Playground Font Family */
@font-face {
  font-family: 'PP Playground';
  src: url('/pp-playground/PPPlayground-Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PP Playground';
  src: url('/pp-playground/PPPlayground-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PP Playground';
  src: url('/pp-playground/PPPlayground-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: var(--background-surface-green);
  font-family: 'Sharp Serif', serif;
  font-weight: 400;
}

.main-content {
  padding: 0 40px;
  border: 4px solid var(--dividing-lines);
  border-radius: 8px;
  aspect-ratio: 5/7;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  max-width: 800px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.floral-single {
  width: 50px;
  height: 50px;
  object-fit: contain;
  display: block;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.profile-image {
  width: 100px;
  height: 100px;
  border-radius: 100px;
  object-fit: cover;
  margin: 0 auto 30px auto;
  display: block;
}

h1 {
  /*font-family: 'Sharp Serif', sans-serif;*/
  font-weight: 700;
  font-size: 4rem;
  line-height: 1.2;
  /*text-transform: uppercase;*/
  color: var(--decorative-text-color-primary);
  letter-spacing: -0.05rem;
}

h2 {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  color: var(--decorative-text-color-secondary);
  letter-spacing: 0.125rem;
  /*text-transform: uppercase;*/
}

p {
  font-size: 20px;
  line-height: 1.6;
  color: var(--decorative-text-color-primary);
}

.text-secondary {
  font-size: 14px;
  color: #6c757d;
  margin-top: 8px;
  font-style: italic;
}

.text-emphasized {
  font-weight: 700;
}

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.text-group {
  margin-top: 20px;
}

.button {
  display: inline-block;
  background-color: var(--button-primary);
  border: 2px solid var(--button-primary);
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 500;
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 10px;
  text-decoration: none;
  font-family: 'Sharp Serif', serif;
}

.button:hover {
  background-color: #4a6a2e;
  border-color: #4a6a2e;
  transform: translateY(-1px);
}

/* Easy-to-use font classes */
.font-gt-america { font-family: 'GT America', sans-serif; }
.font-gt-pressura { font-family: 'GT Pressura', sans-serif; }
.font-gt-standard { font-family: 'GT Standard', sans-serif; }
.font-gt-ultra { font-family: 'GT Ultra', sans-serif; }
.font-gt-flaire { font-family: 'GT Flaire', sans-serif; }
.font-gt-pantheon { font-family: 'GT Pantheon', sans-serif; }
.font-gt-planar { font-family: 'GT Planar', sans-serif; }
.font-gt-alpina { font-family: 'GT Alpina', sans-serif; }
.font-gt-maru { font-family: 'GT Maru', sans-serif; }
.font-gt-sectra { font-family: 'GT Sectra', sans-serif; }
.font-gt-walsheim { font-family: 'GT Walsheim', sans-serif; }
.font-gt-super { font-family: 'GT Super', sans-serif; }
.font-gt-zirkon { font-family: 'GT Zirkon', sans-serif; }
.font-gt-flexa { font-family: 'GT Flexa', sans-serif; }
.font-gt-eesti { font-family: 'GT Eesti', sans-serif; } 
.font-gt-haptik { font-family: 'GT Haptik', sans-serif; }
.font-gt-cinetype { font-family: 'GT Cinetype', sans-serif; }
.font-pp-lettra { font-family: 'PP Lettra', monospace; }
.font-pp-playground { font-family: 'PP Playground', sans-serif; }
.font-sharp-serif { font-family: 'Sharp Serif', serif; }

/* Font weight utilities */
.font-light { font-weight: 200; }
.font-regular { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-bold { font-weight: 700; }

/* Turnstile Widget Styling */
.cf-turnstile {
  margin: 20px 0;
  display: flex;
  justify-content: center;
}

/* Form Styling */
.contact-form {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: var(--decorative-text-color-primary);
}

.form-group input,
.form-group select {
  width: 100%;
  padding: 12px;
  border: 2px solid var(--dividing-lines);
  border-radius: 6px;
  font-size: 16px;
  font-family: 'Sharp Serif', serif;
  background-color: white;
  transition: border-color 0.2s ease;
}

.form-group input:focus,
.form-group select:focus {
  outline: none;
  border-color: var(--button-primary);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 15px;
}

.form-row .form-group {
  margin-bottom: 0;
}

.submit-button {
  background-color: var(--button-primary);
  color: white;
  border: none;
  padding: 14px 28px;
  font-size: 18px;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: 'Sharp Serif', serif;
  width: 100%;
  margin-top: 20px;
}

.submit-button:hover:not(:disabled) {
  background-color: #4a6a2e;
  transform: translateY(-2px);
}

.submit-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.status-message {
  padding: 15px;
  border-radius: 6px;
  margin: 20px 0;
  text-align: center;
  font-weight: 500;
}

.success-message {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.error-message {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.required-note {
  text-align: center;
  color: var(--decorative-text-color-secondary);
  font-size: 14px;
  margin-top: 15px;
  font-style: italic;
}
