/* Aiden Vale — Personal site (autobiography + services). AQ DNA, category: personal.
   Every px value on the Fibonacci scale: 0,1,2,3,8,13,21,34,55,89,144,233,377,610,987. */
*{box-sizing:border-box;margin:0}
body{font-family:Inter,system-ui,sans-serif;background:#0b0b0d;color:#f2f2f2;overflow-x:hidden}
a{color:inherit}
.k{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:#888}
h1,h2,h3{font-family:Archivo,sans-serif;letter-spacing:-.02em}
.btn{display:inline-block;background:#fff;color:#000;border:0;border-radius:89px;padding:13px 34px;
 font:600 13px Inter;cursor:pointer;text-decoration:none;transition:transform .25s,opacity .25s}
.btn:hover{transform:scale(1.04)}
.btn.ghost{background:none;color:#fff;border:1px solid #333}
.btn.ghost:hover{border-color:#fff}
.wrap{max-width:987px;margin:0 auto;padding:0 5vw}
section{padding:13vh 0}
.card{background:#131316;border:1px solid #232328;border-radius:2px;overflow:hidden;
 transition:transform .3s,border-color .3s}
.card:hover{transform:translateY(-3px);border-color:#3a3a3f}
.chip{border:1px solid #2a2a2e;background:none;color:#aaa;border-radius:89px;padding:8px 21px;
 font:600 13px Inter;cursor:pointer;transition:.2s}
.chip.on,.chip:hover{background:#fff;color:#000;border-color:#fff}
input,select,textarea{background:#131316;border:1px solid #2a2a2e;color:#f2f2f2;border-radius:13px;
 padding:13px 21px;font:400 13px Inter;outline:none;width:100%}
input:focus,select:focus,textarea:focus{border-color:#fff}
.ph{aspect-ratio:4/3;background:#101013;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.row{display:flex;gap:13px;flex-wrap:wrap;align-items:center}
.topbar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;
 padding:13px 5vw;background:rgba(11,11,13,.85);backdrop-filter:blur(13px);border-bottom:1px solid #1c1c20}
.topbar b{font-family:Archivo;letter-spacing:.05em}
.topbar b span{color:#666}
.topbar nav{display:flex;gap:21px;font-size:13px;color:#999}
.topbar nav a{text-decoration:none}.topbar nav a:hover{color:#fff}
@media(max-width:610px){.topbar nav{display:none}}
/* hero — portrait + timeline intro */
.hero{padding:13vh 5vw 8vh;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
@media(max-width:987px){.hero{grid-template-columns:1fr}}
.hero h1{font-size:clamp(34px,6vw,89px);font-weight:900;line-height:.95}
.hero .lede{color:#999;margin:21px 0 34px;max-width:377px}
.portrait{aspect-ratio:1;background:radial-gradient(circle at 40% 35%,#2a2a2e,#0b0b0d 70%);
 border:1px solid #232328;border-radius:2px;display:grid;place-items:center}
.portrait span{font-family:Archivo;font-weight:900;font-size:144px;color:#3a3a3f}
/* timeline (autobiography) */
.tl{position:relative;margin-top:34px;padding-left:34px;border-left:1px solid #232328}
.tl .ev{position:relative;padding:0 0 34px}
.tl .ev::before{content:"";position:absolute;left:-34px;top:8px;width:8px;height:8px;
 margin-left:-3px;border-radius:50%;background:#c8c8cc}
.tl .ev .era{font-family:'JetBrains Mono';font-size:13px;letter-spacing:.2em;color:#888}
.tl .ev h3{font-size:21px;margin:8px 0}
.tl .ev p{color:#999;max-width:610px;font-size:13px;line-height:1.7}
/* chapter grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(233px,1fr));gap:21px}
.ch .pad{padding:21px}
.ch h3{font-size:21px}
.ch .meta{display:flex;justify-content:space-between;font-family:'JetBrains Mono';font-size:13px;color:#888;margin-top:8px}
/* services */
.svc{border-top:1px solid #232328;padding:21px 0;display:grid;grid-template-columns:1fr auto;gap:13px;align-items:center}
.svc:last-child{border-bottom:1px solid #232328}
.svc h3{font-size:clamp(21px,3vw,34px)}
.svc p{color:#999;font-size:13px;max-width:610px;margin-top:8px}
.svc .pr{font-family:Archivo;font-size:21px;white-space:nowrap}
/* detail page */
.detail{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start}
@media(max-width:987px){.detail{grid-template-columns:1fr}}
.detail .ph{border-radius:2px;border:1px solid #232328}
.spec{width:100%;border-collapse:collapse;margin:21px 0}
.spec td{padding:13px 0;border-bottom:1px solid #1e1e22;font-size:13px}
.spec td:first-child{font-family:'JetBrains Mono';font-size:13px;letter-spacing:.2em;
 text-transform:uppercase;color:#888}
.spec td:last-child{text-align:right}
/* forms */
form.stack{display:grid;gap:13px;max-width:377px}
.ok{color:#7a7;font-size:13px}
.err{color:#a66;font-size:13px}
/* testimonials + faq + cta */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(233px,1fr));gap:21px}
.quote{padding:34px}
.quote p{color:#ccc;font-size:13px;line-height:1.7}
.quote .who{font-family:'JetBrains Mono';font-size:13px;color:#888;margin-top:21px;letter-spacing:.2em;text-transform:uppercase}
.faq{border-top:1px solid #232328}
.fq{border-bottom:1px solid #232328}
.fq summary{cursor:pointer;padding:21px 0;font-family:Archivo;font-size:21px;list-style:none;display:flex;justify-content:space-between}
.fq summary::after{content:"+";font-family:'JetBrains Mono';color:#555}
.fq[open] summary::after{content:"–"}
.fq p{color:#999;font-size:13px;padding:0 0 21px;max-width:610px;line-height:1.7}
.cta{text-align:center}
/* developed footer */
footer{border-top:1px solid #1c1c20;padding:55px 5vw 34px;color:#666;font-size:13px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px;max-width:987px;margin:0 auto}
@media(max-width:610px){.fgrid{grid-template-columns:1fr 1fr}}
.fgrid h4{font-family:'JetBrains Mono';font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#888;margin:0 0 13px}
.fgrid>div{min-width:0}
.fgrid a{display:block;color:#999;text-decoration:none;font-size:13px;padding:8px 0;overflow-wrap:anywhere}
.fgrid a:hover{color:#fff}
.fgrid .brand{font-family:Archivo;font-size:21px;color:#f2f2f2}
.fgrid .tag{color:#666;font-size:13px;margin-top:8px;max-width:233px;line-height:1.7}
.fbar{max-width:987px;margin:34px auto 0;padding-top:21px;border-top:1px solid #1c1c20;
 display:flex;justify-content:space-between;flex-wrap:wrap;gap:13px}