/*
Theme Name: Sabbir Rahman Portfolio
Author: Sabbir Rahman
Description: Fast, clean one-page portfolio theme.
Version: 1.0
*/
:root{--bg:#f3f0ea;--ink:#25241f;--mute:#625f55;--line:#d6d1c5;--accent:#7a6a3a;--panel:#e8e4da}
@media(prefers-color-scheme:dark){:root{--bg:#1d1c19;--ink:#ece8dd;--mute:#a8a699;--line:#3a3832;--accent:#b8a468;--panel:#27261f}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4.5rem}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.05rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08;margin:0}
h1{font-size:clamp(2.6rem,7vw,5.6rem)}h2{font-size:clamp(2rem,4.4vw,3.4rem)}h3{font-size:1.45rem}
p{margin:0;max-width:62ch}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.w{max-width:1180px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2.5rem)}
section{padding:clamp(4rem,9vw,7rem) 0;border-top:1px solid var(--line)}.m{color:var(--mute)}
header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--line);z-index:9}
.n{display:flex;align-items:center;justify-content:space-between;height:4rem;gap:1rem}
.n nav{display:flex;gap:1.6rem;align-items:center}.n a{text-decoration:none;font-size:.95rem}
.logo{font-family:Georgia,serif;font-size:1.35rem}
.b{display:inline-block;padding:.8rem 1.3rem;border:1px solid var(--ink);text-decoration:none;font-weight:500;transition:background .2s,color .2s}
.b.f{background:var(--ink);color:var(--bg)}.b:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.hero{border:0;padding-top:clamp(2.5rem,6vw,5rem)}
.hg{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,5vw,4.5rem);align-items:end}
.hg .lead{font-size:1.18rem;margin:1.6rem 0}.cta{display:flex;gap:.9rem;flex-wrap:wrap}
.ph{aspect-ratio:4/5;border:1px solid var(--line);background:var(--panel);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.stats{display:flex;gap:2.4rem;flex-wrap:wrap;margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.stats b{display:block;font:400 1.9rem Georgia,serif}.stats span{font-size:.88rem;color:var(--mute)}
.hd{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;flex-wrap:wrap;margin-bottom:3rem}
.g{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,6vw,5rem)}
.g>div{padding:1.5rem 0;border-top:1px solid var(--line)}.g h3{margin-bottom:.45rem}
.feat{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,3vw,3rem)}
.card{border:1px solid var(--line);padding:clamp(1.4rem,3vw,2.4rem);background:var(--panel)}
.card .r{font:400 2.6rem Georgia,serif;color:var(--accent)}.card h3{margin:.6rem 0}
.st{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);counter-reset:s}
.st li{counter-increment:s;padding:1.4rem 1.4rem 1.8rem 0;border-top:1px solid var(--line)}
.st li:before{content:counter(s);font:400 2.2rem Georgia,serif;color:var(--accent)}.st h3{margin:.2rem 0 .4rem}
.ab{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem)}.ab p+p{margin-top:1rem}
footer{border-top:1px solid var(--line);padding:2rem 0;font-size:.9rem;color:var(--mute)}
footer .w{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.i{animation:r .8s ease both}.i2{animation-delay:.12s}.i3{animation-delay:.24s}@keyframes r{from{opacity:0;transform:translateY(14px)}}
@media(max-width:820px){.n nav a:not(.b){display:none}.hg,.g,.feat,.ab{grid-template-columns:1fr}.st{grid-template-columns:1fr 1fr}.ph{max-width:420px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.i{animation:none}*{transition:none!important}}
