/* Shared styles for the inner pages (work-with-aaron, contact, signin, learn).
   The "forest night" look from index.html / about.html; rules in docs/design-system.md.
   index.html and about.html still carry their own inline copy of the same tokens. */
:root{
  --black:#14170F;
  --black-3:#1F241A;
  --moss:#5C6B45;
  --gold:#B8955A;
  --cream:#EDE6D6;
  --cream-dim:#A8A08E;
  --hairline:rgba(237,230,214,.16);
  --line-strong:rgba(237,230,214,.38);
  --clay:#D08A6B;
  --display:'Cinzel','Trajan Pro',Georgia,serif;
  --body:'EB Garamond',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);font-size:20px;line-height:1.7;color:var(--cream);background-color:var(--black);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;}
main{flex:1 0 auto;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
::selection{background:var(--moss);color:var(--cream);}
.wrap{max-width:1180px;margin:0 auto;padding:0 36px;width:100%;}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 28px;width:100%;}

/* type */
.eyebrow{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.209em;color:var(--gold);}
.h-section{font-family:var(--display);font-weight:400;font-size:34px;line-height:1.25;letter-spacing:.066em;color:var(--cream);}
.h-card{font-family:var(--display);font-weight:500;font-size:20px;line-height:1.35;letter-spacing:.066em;color:var(--cream);}
.label{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.187em;color:var(--gold);margin-bottom:22px;}
.prose{font-size:21px;line-height:1.85;max-width:68ch;}
.prose p{margin-bottom:20px;}
.note{font-size:16px;line-height:1.6;color:var(--cream-dim);}

/* page header (clears the fixed nav) */
.page-head{padding:156px 0 56px;text-align:center;position:relative;}
.page-head .eyebrow{margin-bottom:18px;}
.page-head h1{font-family:var(--display);font-weight:400;font-size:44px;line-height:1.2;letter-spacing:.066em;color:var(--cream);margin-bottom:22px;}
.page-head .sub{font-size:22px;line-height:1.7;color:var(--cream);max-width:52ch;margin:0 auto;}
.page-head.left{text-align:left;padding-bottom:20px;}
.page-head.left h1{font-size:38px;margin-bottom:12px;}

/* buttons */
.btn{font-family:var(--display);font-weight:500;font-size:13.5px;letter-spacing:.121em;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 34px;border:1px solid var(--cream);cursor:pointer;background:none;color:var(--cream);transition:background-color .3s ease,color .3s ease,border-color .3s ease;}
.btn-fill{background:var(--moss);border-color:var(--moss);color:var(--cream);}
.btn-fill:hover{background:transparent;border-color:var(--gold);color:var(--gold);}
.btn-line{background:transparent;border-color:var(--gold);color:var(--gold);}
.btn-line:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}
.btn-sm{padding:13px 26px;font-size:12.5px;}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:default;pointer-events:none;}

/* panels and forms */
.panel{background:var(--black-3);border:1px solid var(--hairline);padding:36px 32px;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--display);font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--cream);margin-bottom:8px;}
.field input,.field textarea{width:100%;font-family:var(--body);font-size:19px;color:var(--cream);background:rgba(20,23,15,.6);border:1px solid var(--line-strong);border-radius:0;padding:14px 16px;transition:border-color .25s ease,background-color .25s ease;}
.field input::placeholder,.field textarea::placeholder{color:rgba(237,230,214,.5);}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:rgba(20,23,15,.85);}
.field textarea{min-height:140px;resize:vertical;line-height:1.55;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
form .btn{width:100%;}
.form-note{font-size:16px;line-height:1.55;color:var(--cream-dim);margin-top:16px;}
.form-status{font-size:17px;line-height:1.6;margin-top:16px;display:none;}
.form-status.ok{display:block;color:var(--cream);}
.form-status.err{display:block;color:var(--clay);}
.form-status a{text-decoration:underline;}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:border-color .4s ease;border-bottom:1px solid transparent;}
nav::before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(20,23,15,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .4s ease;}
nav.scrolled{border-bottom-color:var(--hairline);}
nav.scrolled::before{opacity:1;}
.nav-inner{max-width:1280px;margin:0 auto;padding:20px 36px;display:flex;align-items:center;justify-content:space-between;transition:padding .3s ease;}
nav.scrolled .nav-inner{padding-top:12px;padding-bottom:12px;}
.brand{display:flex;align-items:center;gap:14px;}
.brand img{width:46px;height:46px;}
.brand span{font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:.132em;color:var(--cream);white-space:nowrap;}
.brand .bar{color:var(--gold);margin:0 .15em;}
.brand .brand-text{display:flex;align-items:baseline;gap:9px;}
.brand .brand-bis{font-size:21px;font-weight:500;letter-spacing:.08em;line-height:1;}
.brand .brand-sub{font-family:var(--body);font-size:21px;font-weight:400;letter-spacing:.03em;line-height:1;color:var(--cream);}
.nav-links{display:flex;align-items:center;gap:38px;font-family:var(--display);font-weight:500;font-size:12.5px;letter-spacing:.132em;color:var(--cream);white-space:nowrap;}
.nav-links a:not(.btn){position:relative;padding:6px 0;opacity:.88;transition:opacity .2s ease;}
.nav-links a:not(.btn):hover{opacity:1;}
.nav-links a:not(.btn)::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .3s ease;}
.nav-links a:not(.btn):hover::after,.nav-links a.current::after{right:0;}
.nav-links a.current{opacity:1;}
.nav-links .drawer-brand{display:none;}
.nav-toggle{display:none;background:none;border:none;color:var(--cream);font-size:28px;line-height:1;cursor:pointer;padding:6px;}
.nav-scrim{display:none;}

/* footer */
footer{background:var(--black);border-top:1px solid var(--hairline);padding:72px 0 54px;text-align:center;margin-top:80px;}
footer .brand-foot{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:34px;}
footer .brand-foot img{width:70px;height:70px;opacity:.95;}
footer .brand-foot span{font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:.165em;color:var(--cream);}
footer .foot-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 38px;margin-bottom:34px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.132em;color:var(--cream-dim);}
footer .foot-links a:hover{color:var(--cream);}
footer .social{display:flex;justify-content:center;gap:16px;margin-bottom:34px;}
footer .social a{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--hairline);border-radius:50%;color:var(--cream);font-size:21px;transition:background-color .3s,border-color .3s,color .3s;}
footer .social a:hover{background:var(--cream);border-color:var(--cream);color:var(--black);}
footer .copy{font-size:15px;font-style:italic;color:rgba(237,230,214,.5);}

/* reveal */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.rise{animation:rise 1s ease both;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease;}
.reveal.visible{opacity:1;transform:none;}
.stagger>*{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease;}
.stagger.visible>*{opacity:1;transform:none;}
.stagger.visible>*:nth-child(1){transition-delay:.05s;}
.stagger.visible>*:nth-child(2){transition-delay:.15s;}
.stagger.visible>*:nth-child(3){transition-delay:.25s;}
.stagger.visible>*:nth-child(4){transition-delay:.35s;}
.stagger.visible>*:nth-child(5){transition-delay:.45s;}
.stagger.visible>*:nth-child(6){transition-delay:.55s;}

/* responsive */
@media (max-width:1020px){.nav-links{gap:26px;}}
@media (max-width:960px){
  .nav-toggle{display:block;position:relative;z-index:120;}
  .nav-links{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:82%;max-width:340px;background:var(--black);border-left:1px solid var(--hairline);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:30px 30px 32px;transform:translateX(100%);transition:transform .4s ease;z-index:110;font-size:14px;}
  .nav-links.open{transform:translateX(0);}
  .nav-links a{width:100%;}
  .nav-links .drawer-brand{display:flex;flex-direction:column;align-items:center;gap:16px;padding:36px 0 34px;margin-bottom:6px;border-bottom:1px solid var(--hairline);}
  .nav-links .drawer-brand img{width:92px;height:92px;}
  .nav-links .drawer-brand span{font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:.14em;color:var(--cream);}
  .nav-links a:not(.btn):not(.drawer-brand){padding:18px 0;border-bottom:1px solid var(--hairline);opacity:1;}
  .nav-links a:not(.btn)::after{display:none;}
  .nav-links a.btn{margin-top:30px;}
  .nav-scrim{display:block;position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .4s ease;z-index:99;}
  .nav-scrim.open{opacity:.6;pointer-events:auto;}
}
@media (max-width:760px){
  body{font-size:19px;}
  .wrap,.wrap-narrow{padding:0 22px;}
  .nav-inner{padding:14px 20px;}
  .brand img{width:40px;height:40px;}
  .brand .brand-text{gap:10px;}
  .brand .brand-bis{font-size:16px;letter-spacing:.06em;}
  .brand .brand-sub{font-size:16px;letter-spacing:.02em;}
  .page-head{padding:124px 0 40px;}
  .page-head h1{font-size:30px;}
  .page-head .sub{font-size:19px;}
  .h-section{font-size:26px;}
  .panel{padding:28px 22px;}
  footer{padding:56px 0 44px;margin-top:56px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .rise{animation:none;}
  .reveal,.stagger>*{opacity:1;transform:none;transition:none;}
}
