@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=clash-display@400,500,600,700&f[]=general-sans@400,500,600,700&display=swap');

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; background:#f4f3ee; }
::selection{ background:#db4e22; color:#fff; }

@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes bob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
@keyframes clipUp{ from{ transform:translateY(108%); } to{ transform:translateY(0); } }
@keyframes marq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:translateY(0); } }
@keyframes shine{ 0%{ background-position:125% 0; } 55%,100%{ background-position:-45% 0; } }
@keyframes drift{ 0%,100%{ transform:translateY(0) rotate(-0.6deg); } 50%{ transform:translateY(-3px) rotate(0.7deg); } }
@keyframes cubeSpin{ from{ transform:rotateX(-22deg) rotateY(0); } to{ transform:rotateX(-22deg) rotateY(360deg); } }

.accentShine{ display:inline-block; padding:0.04em 0.12em 0.24em; margin:0 -0.12em -0.2em; line-height:1.06; background:linear-gradient(100deg,#8f9f1c 0%,#94a51e 40%,#eaf78c 50%,#94a51e 60%,#8f9f1c 100%); background-size:235% 120%; background-position:0 0; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:#94a51e; animation:shine 5s ease-in-out infinite, drift 6.5s ease-in-out infinite; will-change:transform; }

.cube3d{ position:absolute; top:150px; right:48px; width:160px; height:160px; perspective:900px; z-index:1; pointer-events:none; }
.cube3d-float{ width:160px; height:160px; animation:bob 6s ease-in-out infinite; }
.cube3d-spin{ position:relative; width:160px; height:160px; transform-style:preserve-3d; animation:cubeSpin 16s linear infinite; }
.cube3d-face{ position:absolute; width:160px; height:160px; box-shadow:inset 0 0 44px rgba(0,0,0,0.28); border:1px solid rgba(255,255,255,0.07); }
@media (max-width:900px){ .cube3d{ display:none; } }

[data-reveal]{ animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) both; }
[data-reveal-delay="0.05"],[data-reveal-delay="0.06"]{ animation-delay:.08s; }
[data-reveal-delay="0.08"],[data-reveal-delay="0.1"]{ animation-delay:.14s; }
[data-reveal-delay="0.12"],[data-reveal-delay="0.15"],[data-reveal-delay="0.16"]{ animation-delay:.2s; }
@media (prefers-reduced-motion: reduce){ [data-reveal],h1 span span{ animation:none !important; } }

details.faq summary{ list-style:none; cursor:pointer; }
details.faq summary::-webkit-details-marker{ display:none; }
details.faq summary .chev{ transition:transform .35s cubic-bezier(.2,.7,.2,1); }
details.faq[open] summary .chev{ transform:rotate(45deg); }

.fld{ width:100%; font-family:'General Sans','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:16px; color:#141414; background:#fbfaf6; border:1px solid rgba(20,20,20,0.18); padding:15px 16px; outline:none; transition:border-color .25s ease, box-shadow .25s ease; }
.fld::placeholder{ color:#9b958a; }
.fld:focus{ border-color:#db4e22; box-shadow:0 0 0 3px rgba(219,78,34,0.14); }
textarea.fld{ resize:vertical; min-height:130px; }

@media (max-width:760px){
  nav{ flex-wrap:wrap !important; gap:8px 14px !important; padding:12px 18px !important; }
  nav > div{ gap:13px !important; flex-wrap:wrap !important; }
  nav img{ height:24px !important; }
  nav a{ font-size:13px !important; }
  header, section, footer{ padding-left:20px !important; padding-right:20px !important; }
  [style*="grid-template-columns"]{ grid-template-columns:1fr !important; }
  [data-parallax]{ display:none !important; }
  footer [style*="gap:60px"]{ gap:26px !important; }
}
