*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f7f1e8;color:#241f1c;font-family:'Space Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:#33658a}
input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit}
input:focus,textarea:focus,select:focus{outline:2px solid #33658a;outline-offset:1px}
::placeholder{color:rgba(36,31,28,.38)}

@keyframes glFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.page-anim{animation:glFade .4s ease both}

/* ---------- Nav dropdowns ---------- */
.nav-drop{position:relative;display:inline-flex;align-items:center;gap:6px}
.nav-drop-caret{font-size:10px;line-height:1;color:rgba(36,31,28,.55);transition:transform .18s ease}
.nav-drop:hover .nav-drop-caret,.nav-drop:focus-within .nav-drop-caret{transform:rotate(180deg)}
.nav-drop-menu{position:absolute;top:100%;left:-14px;padding-top:14px;min-width:216px;z-index:60;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;pointer-events:auto}
.nav-drop-menu-inner{display:flex;flex-direction:column;background:#fdfaf5;border:1px solid rgba(36,31,28,.14);border-radius:12px;box-shadow:0 14px 34px -14px rgba(36,31,28,.3);padding:8px;animation:glFade .18s ease both}
.nav-drop-menu-inner a{display:block;padding:10px 12px;border-radius:8px;color:rgba(36,31,28,.82);font:400 14.5px/1.3 'Space Grotesk',sans-serif}
.nav-drop-menu-inner a:hover{background:rgba(51,101,138,.09);color:#33658a;font-weight:500}
.nav-link[aria-current="page"]{color:#33658a;font-weight:500}

/* ---------- Buttons ---------- */
.btn{display:inline-block;padding:15px 28px;border-radius:999px;font:600 14.5px/1 'Space Grotesk',sans-serif;border:none;cursor:pointer}
.btn-sm{padding:11px 20px;font-weight:500}
.btn-blue{background:#33658a;color:#fdfaf5}
.btn-blue:hover{background:#2a5474;color:#fdfaf5}
.btn-gold{background:#f6ae2d;color:#241f1c}
.btn-gold:hover{background:#ffbe4f;color:#241f1c}
.btn-green{background:#10ad61;color:#fdfaf5}
.btn-green:hover{background:#0d9153;color:#fdfaf5}
.btn-outline{background:transparent;border:1px solid rgba(36,31,28,.28);color:#241f1c}

/* ---------- Cards ---------- */
.card-hover{transition:transform .15s ease,box-shadow .15s ease}
.card-hover:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(36,31,28,.1);color:#241f1c}
.step-card:hover{border-color:var(--step-hover-color, rgba(51,101,138,.5))}

/* ---------- FAQ (native details/summary) ---------- */
.faq-item{border-bottom:1px solid rgba(36,31,28,.15)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;cursor:pointer;font:500 clamp(15px,1.5vw,17px)/1.4 'Space Grotesk',sans-serif}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font:400 20px/1 'JetBrains Mono',monospace;color:#33658a;flex:none}
.faq-item[open] summary::after{content:"\2013"}
.faq-item .faq-body{margin:0;padding:0 0 22px;max-width:70ch;font:400 15.5px/1.65 'Space Grotesk',sans-serif;color:rgba(36,31,28,.68)}
.faq-item .faq-body ul{margin:0;padding-left:20px}

/* ---------- Contact form ---------- */
.field label{display:block}
.field span.field-label{display:block;font:500 11.5px/1 'JetBrains Mono',monospace;letter-spacing:.1em;color:rgba(36,31,28,.55);margin-bottom:8px}
.field input,.field textarea,.field select{width:100%;padding:13px 14px;background:#fdfaf5;border:1px solid rgba(36,31,28,.24);font:400 14.5px/1.2 'Space Grotesk',sans-serif}
.field textarea{font:400 14.5px/1.55 'Space Grotesk',sans-serif;resize:vertical}
.form-error{padding:13px 15px;border:1px solid #ff6617;background:rgba(255,102,23,.08);font:400 13.5px/1.5 'Space Grotesk',sans-serif;color:#241f1c}
[hidden]{display:none!important}
