:root{
    --ink:#1B1E15; --olive-d:#404630; --olive-m:#545A3B; --sage:#A8B37A; --orange:#CC7A33; --paper:#F3F0E6;
    --disp:'Space Grotesk',sans-serif; --body:'Archivo',sans-serif; --mono:'Space Mono',monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:var(--body);background:var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
  a{color:var(--orange);text-decoration:none;transition:color .2s;}
  a:hover{color:var(--sage);}
  ::selection{background:var(--orange);color:var(--ink);}
  img{max-width:100%;display:block;}
  .wrap{max-width:1320px;margin:0 auto;padding-left:clamp(20px,5vw,80px);padding-right:clamp(20px,5vw,80px);}
  .gridbg{background-image:linear-gradient(rgba(243,240,230,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(243,240,230,.045) 1px,transparent 1px);background-size:clamp(48px,6vw,84px) clamp(48px,6vw,84px);}
  .gridbg-dark{background-image:linear-gradient(rgba(27,30,21,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(27,30,21,.05) 1px,transparent 1px);background-size:clamp(48px,6vw,84px) clamp(48px,6vw,84px);}
  @keyframes arrowMove{0%{transform:translateX(0)}50%{transform:translateX(.3em)}100%{transform:translateX(0)}}
  @keyframes dashFlow{to{stroke-dashoffset:-32;}}
  @keyframes drift{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}
  .reveals-on .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
  .reveals-on .reveal.in{opacity:1;transform:none;}
  .site-header{position:sticky;top:0;z-index:50;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent;}
  .site-header.scrolled{background:rgba(27,30,21,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(168,179,122,.22);}
  .navlink{font-family:var(--body);font-size:.95rem;color:var(--paper);opacity:.82;transition:opacity .2s,color .2s;}
  .navlink:hover{opacity:1;color:var(--sage);}
  .btn{font-family:var(--disp);font-weight:600;letter-spacing:-.01em;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:.7em;transition:transform .2s,background .2s,color .2s;text-align:left;line-height:1.1;}
  .btn:hover{transform:translateY(-2px);}
  .btn .ar{display:inline-block;transition:transform .25s;}
  .btn:hover .ar{transform:translateX(.3em);}
  .btn-primary{background:var(--orange);color:var(--ink);}
  .btn-primary:hover{background:#d98a45;}
  .btn-ghost{background:transparent;color:var(--paper);border:1.5px solid var(--sage);}
  .btn-ghost:hover{background:rgba(168,179,122,.12);}
  .hair{height:1px;background:rgba(168,179,122,.28);border:none;}
  .hair-dark{height:1px;background:rgba(27,30,21,.18);border:none;}
  details.faq{border-bottom:1px solid rgba(27,30,21,.18);}
  details.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(20px,2.4vw,30px) 0;font-family:var(--disp);font-weight:600;font-size:clamp(1.15rem,1.7vw,1.5rem);letter-spacing:-.02em;color:var(--ink);}
  details.faq summary::-webkit-details-marker{display:none;}
  details.faq .plus{flex-shrink:0;width:26px;height:26px;position:relative;transition:transform .3s;}
  details.faq .plus::before,details.faq .plus::after{content:"";position:absolute;background:var(--orange);}
  details.faq .plus::before{left:0;top:50%;width:100%;height:2px;transform:translateY(-50%);}
  details.faq .plus::after{top:0;left:50%;height:100%;width:2px;transform:translateX(-50%);transition:transform .3s,opacity .3s;}
  details.faq[open] .plus::after{transform:translateX(-50%) rotate(90deg);opacity:0;}
  details.faq .ans{padding:0 0 clamp(22px,2.6vw,32px);max-width:840px;font-size:clamp(1rem,1.1vw,1.15rem);line-height:1.6;color:var(--olive-m);}
  .field label{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive-m);margin-bottom:10px;}
  .field input,.field select,.field textarea{width:100%;font-family:var(--body);font-size:1.02rem;color:var(--ink);background:transparent;border:none;border-bottom:1.5px solid rgba(27,30,21,.28);padding:12px 2px;transition:border-color .2s;}
  .field input:focus,.field select,.field textarea:focus{outline:none;border-bottom-color:var(--orange);}
  .field textarea{resize:vertical;min-height:82px;line-height:1.5;}
  .field select{cursor:pointer;}
  .mob-cta{display:none;}
  .desk-nav{display:flex;}
  .burger{display:none;}
  @media(max-width:860px){
    .desk-nav{display:none;}
    .burger{display:inline-flex;}
    .main-nav{position:fixed;inset:0;top:0;background:rgba(27,30,21,.97);backdrop-filter:blur(8px);flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:0 8vw;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);z-index:60;}
    .main-nav.open{transform:translateX(0);}
    .main-nav .navlink{font-size:1.6rem;font-family:var(--disp);opacity:1;padding:10px 0;}
    .mob-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.7,.2,1);padding:12px 16px;background:rgba(27,30,21,.92);backdrop-filter:blur(10px);border-top:1px solid rgba(168,179,122,.25);}
    .mob-cta.show{transform:translateY(0);}
  }
  .navclose{display:none;}
  @media(max-width:860px){.navclose{display:block;}}

/* Portfolio adaptation: responsive application fields and keyboard navigation */
@media(max-width:640px){#application-form{grid-template-columns:1fr!important}#application-form .field{grid-column:1/-1}}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveals-on .reveal{opacity:1;transform:none}}
