
@font-face{
  font-family:'Stolzl';
  src:url('../fonts/stolzl/stolzl_thin.otf') format('opentype');
  font-weight:100;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Stolzl';
  src:url('../fonts/stolzl/stolzl_light.otf') format('opentype');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Stolzl';
  src:url('../fonts/stolzl/stolzl_regular.otf') format('opentype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Stolzl';
  src:url('../fonts/stolzl/stolzl_medium.otf') format('opentype');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Stolzl';
  src:url('../fonts/stolzl/stolzl_bold.otf') format('opentype');
  font-weight:700;font-style:normal;font-display:swap;
}

@font-face {
  font-family: 'Satoshi-Variable';
  src: url('../fonts/Satoshi-Variable.woff2') format('woff2'),
       url('../fonts/Satoshi-Variable.woff') format('woff'),
       url('../fonts/Satoshi-Variable.ttf') format('truetype');
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'Satoshi-VariableItalic';
  src: url('../fonts/Satoshi-VariableItalic.woff2') format('woff2'),
       url('../fonts/Satoshi-VariableItalic.woff') format('woff'),
       url('../fonts/Satoshi-VariableItalic.ttf') format('truetype');
  font-weight: 300 900;
  font-display: swap;
  font-style: italic;
}

*,*::before,*::after{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
img,svg{display:block;max-width:100%}
input,button,textarea,select{font:inherit}
body{margin:0;min-height:100vh;text-rendering:optimizeLegibility}

:root{
  --bg:#e3e0da;
  --text:#000000;
  --muted:#222831;
  --border:#e2e8f0;
  --surface:#f8fafc;
  --accent-start:#99835d;
  --accent-end:#99835d;
  --accent-text:#000000;
  --radius:14px;
  --container:1120px;
  --header-h:72px;

  --shadow-sm:0 1px 2px rgba(16,24,40,.06);
  --shadow-md:0 6px 16px rgba(16,24,40,.08);

  --step--1: clamp(.9rem, .85rem + .1vw, 1rem);
  --step-0:  clamp(1rem, .9rem + .3vw, 1.125rem);
  --step-1:  clamp(1.25rem, 1rem + 1.2vw, 1.5rem);
  --step-2:  clamp(1.5rem, 1.2rem + 2vw, 2rem);
  --step-3:  clamp(2rem, 1.4rem + 3vw, 2.75rem);
  --step-4:  clamp(2.8rem, 2rem + 5vw, 4rem);
}

body{
  font-family:'Satoshi-Variable', ui-sans-serif, system-ui, -apple-system, "Segoe UI",
    Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji", sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  font-size:var(--step-0);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Satoshi-Variable', sans-serif;
  line-height:1.18;
  margin:0 0 .5em;
  letter-spacing:-0.015em;
}
h1{font-size:var(--step-4); font-weight:800}
h2{font-size:var(--step-3); font-weight:800}
h3{font-size:var(--step-2); font-weight:700}
h4{font-size:var(--step-1); font-weight:600}
h5{font-size:var(--step-0); font-weight:500; letter-spacing:0}
h6{font-size:var(--step--1); font-weight:400; letter-spacing:.01em}

p{margin:0 0 1rem}
a{color:inherit;text-decoration:none}
a:focus-visible,
button:focus-visible{outline:2px solid var(--accent-start);outline-offset:2px}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.brand{
  display:flex;
  align-items:center;
  font-weight:700;
  position: relative;
  z-index: 100;
}

.brand__text{
  font-family:'Stolzl', sans-serif;
  letter-spacing:.06em;
  display: inline-block;
}

.brand__name{
  font-weight:600;
  font-size:1.35rem;
  display: inline-flex;
  align-items: center;
  position: relative;
  transition: letter-spacing 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.brand__letter{
  display: inline-block;
  transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform-origin: center center;
  position: relative;
  will-change: transform, opacity, filter;
}

.brand__letter--q {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.brand__name[data-collapsed="true"] .brand__letter--s{
  transform: translateX(200%) scale(0.8) rotate(180deg);
  opacity: 0;
  filter: blur(4px);
  transition-delay: 0s;
}

.brand__name[data-collapsed="true"] .brand__letter--o{
  transform: translateX(150%) scale(0.7) rotate(-120deg);
  opacity: 0;
  filter: blur(3px);
  transition-delay: 0.05s;
}

.brand__name[data-collapsed="true"] .brand__letter--t{
  transform: translateX(100%) scale(0.6) rotate(90deg);
  opacity: 0;
  filter: blur(3px);
  transition-delay: 0.1s;
}

.brand__name[data-collapsed="true"] .brand__letter--h{
  transform: translateX(50%) scale(0.5) rotate(-90deg);
  opacity: 0;
  filter: blur(2px);
  transition-delay: 0.15s;
}

.brand__name[data-collapsed="true"] .brand__letter--i{
  transform: translateX(0%) scale(0.4) rotate(180deg);
  opacity: 0;
  filter: blur(2px);
  transition-delay: 0.2s;
}

.brand__name[data-collapsed="true"] .brand__letter--q{
  transform: translateX(-250%) scale(1.15) rotate(30deg);
  opacity: 1;
  filter: blur(0);
  transition-delay: 0.25s;
}

@keyframes pulse-glow {
  0%, 100% {
    filter: brightness(1) drop-shadow(0 0 0px rgba(153, 131, 93, 0));
  }
  50% {
    filter: brightness(1.1) drop-shadow(0 0 8px rgba(153, 131, 93, 0.3));
  }
}

.brand__name[data-collapsed="true"] .brand__letter--q {
  animation: pulse-glow 2s ease-in-out infinite;
}

.brand__name[data-collapsed="false"] .brand__letter{
  transform: translateX(0) scale(1) rotate(0deg);
  opacity: 1;
  filter: blur(0);
}

.brand__name[data-collapsed="false"] .brand__letter--s{
  transition-delay: 0.25s;
}

.brand__name[data-collapsed="false"] .brand__letter--o{
  transition-delay: 0.2s;
}

.brand__name[data-collapsed="false"] .brand__letter--t{
  transition-delay: 0.15s;
}

.brand__name[data-collapsed="false"] .brand__letter--h{
  transition-delay: 0.1s;
}

.brand__name[data-collapsed="false"] .brand__letter--i{
  transition-delay: 0.05s;
}

.brand__name[data-collapsed="false"] .brand__letter--q{
  transition-delay: 0s;
}

.brand__name[data-collapsed="true"]{
  letter-spacing: 0;
}

.brand__name[data-collapsed="false"]{
  letter-spacing: .06em;
}

.container{
  max-width:var(--container);
  margin-inline:auto;
  padding-inline: clamp(24px, 4vw, 40px);
}
.section{padding:40px 0}
.section--content{padding:48px 0}
.section--cta{padding:56px 0}

.skip-link{
  position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{position:static;width:auto;height:auto;padding:.5rem 1rem;background:var(--surface);border-radius:8px}

.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(227,224,218,.55);
  -webkit-backdrop-filter:saturate(1.2) blur(18px);
  backdrop-filter:saturate(1.2) blur(18px);
  transition:background-color .3s ease;
  will-change:background-color;
}
.site-header[data-scrolled="true"]{
  background:rgba(227,224,218,.75);
}

.nav-grid{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:16px;
  height:var(--header-h);
}

.main-nav{justify-self:center}
.nav__list{display:flex;gap:24px;list-style:none;padding:0;margin:0}
.nav__link{
  position:relative;padding:.3rem .2rem;
  font-weight:600;
  color:var(--muted);
  letter-spacing:.005em;
  font-size:clamp(1rem, .9rem + .2vw, 1.125rem);
}
.nav__link::after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;
  background:linear-gradient(90deg,var(--accent-start),var(--accent-end));
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease;border-radius:2px;
}
.nav__link:hover,.nav__link:focus{color:var(--text)}
.nav__link:hover::after,.nav__link:focus::after{transform:scaleX(1)}

.nav__link.is-active::after,
.nav__link[aria-current="page"]::after{transform:scaleX(1)}


.nav-toggle{
	display:none;
	justify-self:end;
	align-items:center;justify-content:center;
	width:42px;height:42px;border:none;background:transparent;border-radius:10px;
	cursor:pointer;line-height:0;
	flex-direction:column;
	margin-right: -12px;
}

.nav-toggle .bar{
  display:block;width:22px;height:2px;background:var(--text);
  margin:3px 0;border-radius:1px;
  transition:transform .25s ease,opacity .2s ease;
}

.nav-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-5px) rotate(-45deg)}


.site-menu{
  position:fixed;z-index:50;top:var(--header-h);left:0;right:0;bottom:0;
  background:var(--bg);
  -webkit-backdrop-filter:saturate(1.2) blur(8px);
  backdrop-filter:saturate(1.2) blur(8px);
  padding:24px 24px 48px;
  display:flex;flex-direction:column;gap:8px;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease;
}
.menu-open .site-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.site-menu__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.site-menu__link{display:block;padding:.4rem 0;font-weight:700;letter-spacing:.01em;font-size:clamp(1.25rem,1.1rem + 1.5vw,1.75rem)}


@media (min-width:769px){
  .site-menu{
    left:auto;width:min(420px,86vw);
    transform:translateX(16px);
  }
  .menu-open .site-menu{transform:translateX(0)}
}

body.menu-open{overflow:hidden}

.hero{padding:96px 0 48px;background:var(--bg);}
.hero__grid{display:grid;grid-template-columns:1fr;justify-items:center;}
.hero__text {
  max-width: clamp(48ch, 90vw, 70ch);
  margin-inline:auto;
  text-align:center;
  padding-inline: clamp(4px, 1vw, 12px);
}
.hero__title {
  text-align:center;
  margin-inline:0;
  margin-bottom:.3em;
}
.hero__subtitle{
	text-align:center;
	margin-inline:auto;
	max-width:45ch;
	font-weight:500;
	font-size:var(--step-1);
}
.hero__cta{display:flex;gap:.6rem;justify-content:center;}

.accent{
  background:linear-gradient(90deg,var(--accent-start),var(--accent-end));
  -webkit-background-clip:text;background-clip:text;color:transparent
}

.btn{
  --pad-y:.55rem; --pad-x:1rem;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:var(--pad-y) var(--pad-x);
  border-radius:999px;
  border:1.5px solid var(--accent-start);
  background:transparent;
  color:#000;
  text-decoration:none;
  font-weight:600;
  font-size:clamp(.92rem, .88rem + .05vw, 1rem);
  box-shadow:none;
  cursor:pointer;
  letter-spacing:.01em;
}
.btn:hover{background:rgba(153,131,93,.08)}
.btn:active{transform:translateY(0)}

.btn-accent{
  background:transparent;
  border-color:var(--accent-start);
  color:var(--accent-text);
}
.btn-accent:hover{background:rgba(153,131,93,.1)}

.btn-ghost{
  background:transparent;
  border-color:var(--accent-start);
  color:#000;
}
.btn-ghost:hover{background:rgba(153,131,93,.06)}

.logos{padding:24px 0;background:var(--bg)}
.logos__marquee{position:relative;overflow:hidden}
.logos__track {
  display: flex;
  justify-content: center;
  gap: 56px;
  align-items: center;
  padding: 18px 28px;
  animation: none;
}

.logos__track img {
  height: 24px;
  width: auto;
  opacity: 0.9;
  filter: grayscale(100%) contrast(1.1);
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.logos__track img:hover {
  filter: none;
  opacity: 1;
}
@keyframes scroll-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.logos__track{animation:none}}

#logos-title {
  text-align: center;
  margin-bottom: .5rem;
  font-size: 1.0rem;
  color: var(--text);
  font-weight: 600;
}

.section__title{
  font-size:var(--step-2);margin-bottom:.4rem;font-weight:800;letter-spacing:-.01em;
}
.lead{color:var(--muted);font-size:var(--step-0);max-width:65ch;font-weight:450}
.list-check{list-style:none;padding:0}
.list-check li{padding-left:28px;position:relative;margin:.6rem 0}
.list-check li::before{
  content:"✓";position:absolute;left:0;top:0.1rem;color:var(--accent-start);font-weight:700
}
.list-bullets{padding-left:1.1rem}
.list-ordered{padding-left:1.4rem}

.section--content,
.section--cta{
  background:var(--bg);
  position:relative;
}

.card{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);
  padding:1rem;box-shadow:var(--shadow-sm)
}
.label{display:block;font-weight:600;margin-bottom:.35rem}
.input{
  width:100%;border:1px solid var(--border);border-radius:12px;padding:.7rem .85rem;
  background:var(--surface);font-weight:400
}
.textarea{resize:vertical}
.actions{margin-top:.8rem}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

@media (max-width:768px){.grid-2{grid-template-columns:1fr}}

.output{
  background:var(--surface);border:1px dashed var(--border);border-radius:12px;
  padding:1rem;margin-top:1rem;white-space:pre-wrap
}

.q-letter {
  font-family: 'Stolzl', sans-serif;
  font-weight: 700;
  letter-spacing: .06em;
}

.page-header{padding:72px 0 24px}
.page-title{font-size:var(--step-3);font-weight:800;letter-spacing:-.015em}

.flash{display:grid;gap:8px;margin-bottom:1rem}
.flash__item{padding:.6rem .8rem;border-radius:10px}
.flash__item--error{background:#fff5f5;border:1px solid #fecaca;color:#7f1d1d}

.site-footer{
	background:var(--bg);
	padding-bottom:32px;
}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:16px}
.footer-grid small{font-weight:300;color:var(--muted)}

@media (max-width:768px){
  .nav-grid{grid-template-columns:auto 1fr auto}
  .main-nav{display:none}
  .nav-toggle{display:inline-flex}
}

/* Contact Form Styles */
.honeypot {
  position: absolute;
  left: -5000px;
}

.page-header--compact {
  padding: 48px 0 16px;
}

@media (max-width: 768px) {
  .page-header--compact {
    padding: 32px 0 8px;
  }
}

.page-title--compact {
  font-size: var(--step-2);
  margin-bottom: 0.25em;
}

.lead--compact {
  margin-bottom: 0;
  font-size: var(--step--1);
}

.section--contact {
  padding: 24px 0 48px;
}

@media (max-width: 768px) {
  .section--contact {
    padding: 16px 0 32px;
  }
}

.container--narrow {
	max-width: 680px;
}

.contact-form {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

@media (max-width: 640px) {
  .form-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

.form-group {
  margin-bottom: 16px;
}

.form-row .form-group {
  margin-bottom: 0;
}

.label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 0.95rem;
  color: var(--text);
}

.input {
  width: 100%;
  border: 1.5px solid rgba(153, 131, 93, 0.3);
  border-radius: 10px;
  padding: 10px 14px;
  background: rgba(248, 250, 252, 0.5);
  font-weight: 400;
  font-size: 1rem;
  transition: all 0.2s ease;
}

.input:focus {
  outline: none;
  border-color: var(--accent-start);
  background: rgba(248, 250, 252, 0.8);
}

.textarea {
  resize: vertical;
  min-height: 120px;
  font-family: inherit;
}

@media (max-width: 640px) {
  .textarea {
    min-height: 100px;
  }
}

.form-hint {
  color: var(--muted);
  font-size: 0.85rem;
  margin-top: 4px;
  opacity: 0.8;
}

.form-actions {
  margin-top: 20px;
}

.btn--full-mobile {
  width: 100%;
}

@media (min-width: 641px) {
  .btn--full-mobile {
    width: auto;
  }
}

.privacy-note {
  margin-top: 32px;
  padding: 16px;
  background: rgba(153, 131, 93, 0.08);
  border-radius: 10px;
  border: 1px solid rgba(153, 131, 93, 0.15);
}

.privacy-text {
  font-size: 0.875rem;
  color: var(--text);
  margin: 0;
  line-height: 1.5;
  opacity: 0.85;
}

.privacy-text strong {
  color: var(--accent-start);
  font-weight: 600;
}

/* Thank You Page Styles - ALL NEW */
.thank-you-section {
  padding: 80px 0;
  min-height: calc(100vh - var(--header-h) - 100px);
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .thank-you-section {
    padding: 48px 0;
    min-height: calc(100vh - var(--header-h) - 80px);
  }
}

.thank-you-content {
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}

.thank-you-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
  background: rgba(153, 131, 93, 0.1);
  border-radius: 50%;
}

.thank-you-icon svg {
  width: 40px;
  height: 40px;
}

.thank-you-title {
  font-size: var(--step-2);
  margin-bottom: 8px;
  color: var(--text);
}

.thank-you-subtitle {
  font-size: var(--step-0);
  color: var(--accent-start);
  font-weight: 600;
  margin-bottom: 16px;
}

.thank-you-text {
  color: var(--muted);
  font-size: var(--step--1);
  max-width: 400px;
  margin: 0 auto 24px;
  line-height: 1.6;
}

.thank-you-actions {
  margin-top: 32px;
}
