/* AI for Designers web look. Drop into any page, wrap content in <div class="afd">.
   Fonts: add this to <head>
   <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,700&family=Instrument+Serif:ital@0;1&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap">
   and host BiroScript.ttf next to this file. */
@font-face{font-family:'AFD Biro';src:url('BiroScript.ttf');font-display:swap}

.afd{
  --ink:#0D1B2A; --blue:#3341CE; --lav:#DEE6FF; --lav2:#EEF2FF; --beige:#F5F0E6; --paper:#F7F6F2;
  --neon:#DCFD4E; --soft:#C3CBF2; --navy2:#4F5C8A; --line:rgba(13,27,42,.14);
  --display:'Bricolage Grotesque',Helvetica,Arial,sans-serif;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'DM Sans',Helvetica,Arial,sans-serif;
  --hand:'AFD Biro','Caveat',cursive;
  --gut:clamp(20px,4vw,56px);
  font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:clip}
.afd *{box-sizing:border-box}
.afd img{display:block;max-width:100%}
.afd a{color:inherit;text-decoration:none}
.afd .wrap{max-width:1180px;margin:0 auto;padding-inline:var(--gut)}

/* Headlines: bold grotesque + ONE serif italic phrase */
.afd h1,.afd h2,.afd h3{font-family:var(--display);font-weight:700;letter-spacing:-.045em;margin:0;color:var(--ink)}
.afd h1{font-size:clamp(44px,6.2vw,92px);line-height:.95}
.afd h2{font-size:clamp(34px,4.4vw,60px);line-height:1}
.afd h3{font-size:clamp(20px,1.8vw,24px);letter-spacing:-.025em;line-height:1.15}
.afd h1 em,.afd h2 em,.afd h3 em{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.015em;color:var(--blue)}
.afd .dark h1 em,.afd .dark h2 em{color:var(--neon)}
.afd p{margin:0;color:rgba(13,27,42,.72);line-height:1.6}

/* Small parts */
.afd .label{font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--navy2)}
.afd .biro{font:400 clamp(20px,2vw,26px)/1.2 var(--hand);color:var(--blue);display:inline-block;transform:rotate(-2deg)}
.afd .sec{padding-block:clamp(70px,9vw,130px);position:relative}
.afd .sh{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:clamp(30px,4vw,56px)}
.afd .sh b{font:400 italic 22px var(--serif);color:var(--blue)}
.afd .sh .label{flex:1}

/* Buttons: square, ink or neon */
.afd .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:#fff;border:0;border-radius:2px;font:600 16px var(--sans);padding:18px 26px;cursor:pointer;transition:background .3s}
.afd .btn:hover{background:var(--blue)}
.afd .btn span{transition:transform .3s}
.afd .btn:hover span{transform:translateX(5px)}
.afd .btn.neon{background:var(--neon);color:var(--ink)}
.afd .btn.neon:hover{background:#fff}
.afd .tag{display:inline-block;font:700 10.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;background:var(--neon);padding:5px 9px}

/* Inputs */
.afd input[type=text],.afd input[type=email]{font:400 16px var(--sans);color:var(--ink);background:#fff;border:1px solid rgba(13,27,42,.25);border-radius:2px;padding:17px 16px;outline:none;width:100%}
.afd input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(51,65,206,.15)}

/* Rule lists instead of cards: top ink line, thin dividers */
.afd .cols{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.afd .cols>*{padding:28px 24px 32px;transition:background .45s}
.afd .cols>*+*{border-left:1px solid var(--line)}
.afd .cols>*:hover{background:var(--ink)}
.afd .cols>*:hover h3{color:#fff}
.afd .cols>*:hover p{color:var(--soft)}

/* Neon glow: only in the first section of a page */
.afd .glow{position:absolute;border-radius:50%;pointer-events:none;width:740px;height:740px;right:-200px;top:-180px;
  background:radial-gradient(circle,rgba(220,253,78,1) 0%,rgba(220,253,78,.75) 22%,rgba(220,253,78,.35) 45%,rgba(220,253,78,.08) 62%,rgba(220,253,78,0) 72%);}

/* Motion */
.afd .rv{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.afd .rv.in{opacity:1;transform:none}
@keyframes afd-drift{0%,100%{translate:0 0}50%{translate:-30px 24px}}
@keyframes afd-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes afd-marq{to{transform:translateX(-50%)}}
@media(max-width:900px){.afd .cols{grid-template-columns:1fr}.afd .cols>*+*{border-left:0;border-top:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){.afd *{animation:none!important;transition:none!important}.afd .rv{opacity:1;transform:none}}
