/* ==========================================================================
   Dr. Md. Shaiful Islam — site styles
   Ported 1:1 from the Figma Make design (ai-scale-38309357.figma.site)
   ========================================================================== */
@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap";

/* ---------- Base reset (kept in a layer so the design rules below always win) ---------- */
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}

/* ---------- Tokens ---------- */
:root{--ink:#111716;--muted:#66706d;--paper:#f5f3ed;--white:#fffdf8;--line:#11171624;--night:#0b1716;--night-soft:#132321;--accent:#c8ff57;--accent-dark:#6d9f0f;--gold:#b89962;--ease:cubic-bezier(.22, 1, .36, 1);--container:min(1240px, calc(100vw - 48px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--white);color:var(--ink);margin:0;font-family:Manrope,sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}
::selection{background:var(--accent);color:var(--night)}

/* ---------- Cursor + scroll progress ---------- */
.cursor-dot,.cursor-ring,.cursor-glow,.scroll-progress{pointer-events:none;z-index:100;position:fixed}
.cursor-dot{background:var(--accent);opacity:0;border:1px solid #0b171673;border-radius:50%;width:6px;height:6px;transition:opacity .18s;top:0;left:0}
.cursor-ring{opacity:0;height:40px;transition:height .22s var(--ease), width .22s var(--ease), margin .22s var(--ease), opacity .18s ease, background .22s var(--ease), border-color .22s var(--ease);border:1px solid #11171675;border-radius:50%;width:40px;top:0;left:0}
.cursor-ring.is-interactive{border-color:var(--accent-dark);background:#c8ff572e;width:54px;height:54px;margin:-7px 0 0 -7px}
.cursor-ring.is-pressed{background:#c8ff5752;width:30px;height:30px;margin:5px 0 0 5px}
.cursor-glow{opacity:0;z-index:1;background:radial-gradient(circle,#c8ff5717,#c8ff5700 68%);border-radius:50%;width:300px;height:300px;transition:opacity .35s;top:0;left:0}
.cursor-dot.is-visible,.cursor-ring.is-visible{opacity:1}
.cursor-glow.is-visible{opacity:.7}
.scroll-progress{background:linear-gradient(90deg, var(--accent-dark), var(--accent));transform-origin:0;z-index:101;width:100%;height:2px;top:0;left:0;transform:scaleX(0)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body,a,button{cursor:none}input,textarea{cursor:text}}

a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img{max-width:100%;display:block}
.container{width:var(--container);margin-inline:auto}

/* ---------- Header ---------- */
.site-header{z-index:50;background:0 0;padding-top:12px;position:fixed;top:0;left:0;right:0}
.site-header.is-scrolled{background:0 0}
.nav-shell{height:70px;transition:transform .28s var(--ease);width:var(--container);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}
.site-header.is-scrolled .nav-shell{transform:translateY(-4px)}
.brand{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);letter-spacing:-.02em;transition:background .28s var(--ease), box-shadow .28s var(--ease), transform .22s var(--ease);background:#fffdf8d1;border:1px solid #1117161a;border-radius:999px;align-items:center;gap:11px;padding:7px 16px 7px 8px;font-size:16px;font-weight:700;display:flex;box-shadow:0 8px 28px #1117160f}
.brand:hover{transform:translateY(-2px)}
.site-header.is-scrolled .brand{background:#fffdf8f7;box-shadow:0 12px 38px #1117161f}
.brand-mark{background:var(--night);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}
.nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background .28s var(--ease), box-shadow .28s var(--ease);background:#0b1716f0;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:2px;padding:5px;display:flex;box-shadow:0 10px 34px #0b171624}
.site-header.is-scrolled .nav{background:#0b1716fa;box-shadow:0 16px 44px #0b171638}
.nav-link{color:#ffffffb3;transition:background .22s var(--ease), color .22s var(--ease);border-radius:999px;padding:11px 15px;font-size:14px;font-weight:600;position:relative}
.nav-link:after{background:var(--accent);content:"";transform-origin:100%;height:2px;transition:transform .3s var(--ease);width:calc(100% - 32px);position:absolute;bottom:6px;left:16px;transform:scaleX(0)}
.nav-link:hover:after,.nav-link.active:after{transform-origin:0;transform:scaleX(1)}
.nav-link.active:after{background:var(--night)}
.nav-link.active{background:var(--accent);color:var(--ink)}
.nav-link:hover{color:var(--white);background:#ffffff1a}
.nav-link.active:hover{background:var(--accent);color:var(--ink)}
.menu-button{background:0 0;border:0;width:44px;height:44px;padding:12px;display:none}
.menu-button span{background:var(--ink);height:1px;transition:.25s var(--ease);width:100%;margin:6px 0;display:block}
.site-header.menu-open .menu-button span:first-child{transform:translateY(3.5px)rotate(45deg)}
.site-header.menu-open .menu-button span:last-child{transform:translateY(-3.5px)rotate(-45deg)}
.page-transition{animation:page-in .48s var(--ease) both}
@keyframes page-in{0%{opacity:0;transform:translateY(12px)}}

/* ---------- Hero ---------- */
.hero{background:radial-gradient(circle at 78% 22%, #c8ff5733, transparent 28%), linear-gradient(118deg, #f8f6ef 0%, var(--paper) 58%, #e9ede3 100%);isolation:isolate;min-height:100svh;position:relative;overflow:hidden}
.hero:before{content:"";opacity:.55;transform-origin:0;animation:hero-grid-in 1.1s var(--ease) both;background-image:linear-gradient(#1117160e 1px,#0000 1px),linear-gradient(90deg,#1117160e 1px,#0000 1px);background-size:68px 68px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 75%);mask-image:linear-gradient(90deg,#000,#0000 75%)}
.hero:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#b899622e,#b8996200 68%);border-radius:50%;width:42vw;height:42vw;animation:9s ease-in-out 1.2s infinite alternate hero-ambient;position:absolute;top:44%;left:29%}
@keyframes hero-grid-in{0%{opacity:0;transform:scale(1.06)}}
@keyframes hero-ambient{to{opacity:.65;transform:translate(22px,-14px)scale(1.06)}}
.hero-light{filter:blur(4px);opacity:0;animation:light-in 1.2s var(--ease) .1s forwards;border-radius:50%;position:absolute}
.hero-light-one{background:#c8ff576b;width:34vw;height:34vw;top:12vh;right:-8vw}
.hero-light-two{background:#b899622e;width:40vw;height:40vw;bottom:-18vw;left:25vw}
@keyframes light-in{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
.hero-grid{z-index:2;grid-template-columns:repeat(12,1fr);align-items:center;gap:clamp(20px,3vw,48px);min-height:100svh;padding-top:86px;display:grid;position:relative}
.hero-copy{z-index:3;grid-column:1/8;padding-block:34px 72px;position:relative}
.hero-kicker,.eyebrow{color:var(--accent-dark);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 22px;font-size:11px;font-weight:700;display:flex}
.hero-kicker:before,.eyebrow:before{content:"";background:currentColor;width:28px;height:1px}
.hero h1{letter-spacing:-.065em;text-wrap:balance;max-width:920px;margin:0;font-size:clamp(50px,6vw,98px);font-weight:500;line-height:.91}
.hero h1 span{animation:headline-in .85s var(--ease) both;display:block;overflow:hidden}
.hero h1 span:nth-child(2){animation-delay:90ms}
.hero h1 span:nth-child(3){animation-delay:.18s}
@keyframes headline-in{0%{clip-path:inset(0 0 100%);opacity:0;transform:translateY(45px)}to{clip-path:inset(0);opacity:1;transform:none}}
em{color:var(--accent-dark);font-family:Playfair Display,serif;font-weight:500}
.hero-description{animation:copy-in .7s var(--ease) .42s both;color:#45504e;max-width:650px;margin:30px 0 0;font-size:clamp(15px,1.25vw,18px)}
@keyframes copy-in{0%{opacity:0;transform:translateY(18px)}}
.hero-actions{animation:copy-in .7s var(--ease) .56s both;flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}
.primary-button,.secondary-button{border:1px solid var(--night);min-height:52px;transition:.22s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:28px;padding:0 24px;font-size:13px;font-weight:700;display:inline-flex}
.primary-button{background:var(--night);color:var(--white);box-shadow:0 12px 30px #0b171624}
.secondary-button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf87a}
.primary-button:hover,.secondary-button:hover{background:var(--accent);color:var(--night);transform:translateY(-3px)}
.icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;height:17px;transition:transform .22s var(--ease);width:17px}
.social-icon{fill:currentColor;width:17px;height:17px}
a:hover .icon,button:hover .icon{transform:translate(3px,-3px)}
.icon-right{transform:rotate(45deg)}
.hero-visual{z-index:1;grid-column:8/13;align-self:stretch;height:auto;min-height:0;position:relative}
.hero-visual:before{animation:hero-frame-in .9s var(--ease) .18s both;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);content:"";background:linear-gradient(155deg,#fffdf8ad,#fffdf82e);border:1px solid #1117161a;border-radius:48% 48% 24px 24px;position:absolute;inset:5% -3% 5% 3%;box-shadow:0 36px 90px #1117161a}
.hero-visual:after{content:"";pointer-events:none;border:1px solid #b8996257;border-radius:50%;width:86%;height:74%;position:absolute;top:11%;left:54%;transform:translate(-50%)}
@keyframes hero-frame-in{0%{opacity:0;transform:translateY(14px)scale(.97)}}
.portrait-halo{background:var(--accent);border-radius:50%;width:31vw;max-width:520px;height:31vw;max-height:520px;animation:7s ease-in-out 1.2s infinite alternate halo-drift;position:absolute;top:10%;bottom:auto;left:54%;transform:translate(-50%)}
@keyframes halo-drift{to{transform:translate(-50%)translateY(-10px)scale(1.025)}}
.hero-image-mask{animation:portrait-in 1s var(--ease) .24s both;width:112%;height:116%;position:absolute;top:-16%;bottom:auto;left:57%;transform:translate(-50%)}
.hero-image-mask img{object-fit:contain;object-position:bottom center;transform-origin:bottom;height:100%;transition:transform .7s var(--ease);margin-inline:auto;transform:scale(1.03)}
.hero-visual:hover .hero-image-mask img{transform:scale(1.055)translateY(-3px)}
@keyframes portrait-in{0%{clip-path:inset(100% 0 0);opacity:0;transform:translate(-50%)scale(1.08)}to{clip-path:inset(0);opacity:1;transform:translate(-50%)scale(1)}}
.hero-note{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:3;background:#fffdf8db;border:1px solid #1117161f;border-radius:18px;padding:14px 18px;animation:5s ease-in-out infinite float;position:absolute;box-shadow:0 20px 60px #1117161f}
.hero-note span{font-size:22px;font-weight:700}
.hero-note p{color:var(--muted);margin:0;font-size:11px}
.note-one{top:19%;left:auto;right:0}
@keyframes float{50%{transform:translateY(-10px)}}
.scroll-cue{letter-spacing:.15em;text-transform:uppercase;transform-origin:0;z-index:4;align-items:center;gap:13px;font-size:9px;display:flex;position:absolute;bottom:28px;left:24px;transform:rotate(-90deg)}
.scroll-cue i{animation:scroll-pulse 1.8s var(--ease) infinite;background:var(--ink);transform-origin:0;width:38px;height:1px}
@keyframes scroll-pulse{0%,to{opacity:.35;transform:scaleX(.45)}50%{opacity:1;transform:scaleX(1)}}
.role-marquee{background:var(--accent);white-space:nowrap;padding:18px 0;overflow:hidden}
.role-marquee>div{animation:36s linear infinite marquee;display:inline-flex}
.role-marquee span{letter-spacing:.03em;font-size:12px;font-weight:700}
.role-marquee span:after{content:"◆";vertical-align:middle;margin:0 28px;font-size:7px}
@keyframes marquee{to{transform:translate(-50%)}}

/* ---------- Sections ---------- */
.section{padding:clamp(88px,10vw,150px) 0;position:relative}
.section-ivory{background:var(--paper)}
.story-grid{grid-template-columns:5fr 7fr;gap:clamp(50px,8vw,120px);display:grid}
.portrait-wrap{align-self:start;position:sticky;top:120px}
.portrait-frame{background:var(--paper);border-radius:180px 180px 24px 24px;min-height:620px;position:relative;overflow:hidden}
.portrait-frame:before{background:var(--accent);content:"";border-radius:50%;width:105%;height:75%;position:absolute;top:18%;left:50%;transform:translate(-50%)}
.portrait-frame img{object-fit:contain;object-position:bottom;height:94%;transition:transform .65s var(--ease);width:108%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}
.portrait-frame:hover img{transform:translate(-50%)scale(1.025)}
.experience-seal{background:var(--night);color:var(--white);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:138px;height:138px;display:flex;position:absolute;bottom:-48px;right:-30px}
.experience-seal strong{color:var(--accent);font-size:31px}
.experience-seal span{width:70px;font-size:9px;line-height:1.35}
.story-copy h2,.section-heading h2,.profile-heading h2,.contact-copy h2{letter-spacing:-.055em;margin:0 0 38px;font-size:clamp(40px,5vw,72px);font-weight:500;line-height:1.02}
.story-copy>.reveal>p:not(.eyebrow),.profile-heading>p:not(.eyebrow){color:var(--muted);margin:0 0 22px;font-size:16px}
.minor-title{border-top:1px solid var(--line);margin:48px 0 0;padding-top:28px;font-size:14px}
.expertise-list{margin:12px 0 28px;padding:0;list-style:none}
.expertise-list li{border-bottom:1px solid var(--line);transition:color .22s var(--ease), padding .22s var(--ease);padding:15px 0;font-size:14px}
.expertise-list li:hover{color:var(--accent-dark);padding-left:10px}
.text-link,.profile-entry a{text-decoration:underline;-webkit-text-decoration-color:var(--accent-dark);text-decoration-color:var(--accent-dark);text-underline-offset:5px;align-items:center;gap:12px;margin-top:14px;font-size:12px;font-weight:700;display:inline-flex}
.dark-section{background:var(--night);color:var(--white)}
.eyebrow.light{color:var(--accent)}
.split-heading{justify-content:space-between;align-items:end;display:flex}
.split-heading>p{color:var(--muted);max-width:340px}
.round-link{text-transform:uppercase;height:110px;transition:.25s var(--ease);border:1px solid #ffffff40;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:110px;font-size:9px;display:flex}
.round-link:hover{background:var(--accent);color:var(--night);transform:translateY(-5px)}
.experience-preview{border-top:1px solid #ffffff2e;margin-top:42px}
.preview-row{transition:background .25s var(--ease), padding .25s var(--ease), border-color .25s var(--ease);border-bottom:1px solid #ffffff29;grid-template-columns:1fr 240px 75px;align-items:center;gap:30px;padding:26px 0;display:grid}
.preview-row:hover{background:#ffffff09;border-color:#c8ff5759;padding-inline:12px}
.preview-row h3{margin:0;font-size:19px;font-weight:500}
.preview-row p,.preview-date{color:#ffffff8c;margin:3px 0 0;font-size:12px}
.current-dot{color:var(--accent);text-transform:uppercase;align-items:center;gap:7px;font-size:9px;display:flex}
.current-dot:before{background:var(--accent);content:"";border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 5px #c8ff571f}
.section-heading{margin-bottom:54px}
.section-heading.reveal,.story-copy>.reveal:first-child{clip-path:none;opacity:1;will-change:auto;transform:none}
.education-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}
.education-item{border-bottom:1px solid var(--line);min-height:310px;padding:34px 50px 34px 0;position:relative}
.education-item:nth-child(odd){border-right:1px solid var(--line)}
.education-item:nth-child(2n){padding-left:50px}
.education-item .tag,.tag{background:var(--accent);text-transform:uppercase;border-radius:999px;margin:0 0 18px;padding:5px 11px;font-size:9px;font-weight:700;display:inline-block}
.education-item h3{margin:10px 0;font-size:clamp(19px,2vw,27px);font-weight:500;line-height:1.25}
.education-item p{color:var(--muted);margin:4px 0;font-size:13px}
.education-item .education-detail{color:var(--ink);margin-top:20px}
.education-item .date{color:var(--accent-dark);font-size:11px;font-weight:700;position:absolute;bottom:30px}

/* ---------- Inner page intro ---------- */
.page-intro{background:var(--night);color:var(--white);min-height:62svh;padding:190px 0 100px;position:relative;overflow:hidden}
.page-intro:after{content:"";border:1px solid #ffffff1c;border-radius:50%;width:52vw;height:52vw;position:absolute;top:-25vw;right:-17vw}
.intro-glow{background:radial-gradient(circle,#c8ff5747,#0000 65%);width:50vw;height:50vw;position:absolute;top:-20vw;right:-10vw}
.display-title{animation:headline-in .85s var(--ease) both;letter-spacing:-.075em;z-index:2;margin:38px 0;font-size:clamp(64px,11vw,168px);font-weight:500;line-height:.86;position:relative}
.intro-copy{color:#ffffffa3;z-index:2;max-width:540px;margin-left:50%;position:relative}

/* ---------- About ---------- */
.cert-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}
.cert-card{background:var(--paper);min-height:250px;transition:.25s var(--ease);border:1px solid #0000;padding:28px}
.cert-card:hover{background:var(--accent);border-color:#11171629;transform:translateY(-8px);box-shadow:0 24px 60px #1117161c}
.cert-card h3{margin:34px 0 12px;font-size:19px;font-weight:500;line-height:1.35}
.cert-card p{color:var(--muted);font-size:11px}
.skills-wrap{border-top:1px solid var(--line);margin-top:110px;padding-top:70px}
.skills-wrap.reveal,.contact-copy.reveal,.contact-form-wrap.reveal{clip-path:none;opacity:1;will-change:auto;transform:none}
.skills-cloud{flex-wrap:wrap;gap:10px;display:flex}
.skills-cloud span{border:1px solid var(--line);transition:.22s var(--ease);border-radius:999px;padding:10px 17px;font-size:12px}
.skills-cloud span:hover{background:var(--night);color:var(--accent);transform:translateY(-3px)}

/* ---------- Experience timeline ---------- */
.timeline-section{background:var(--paper)}
.timeline-item{grid-template-columns:70px 1fr;display:grid}
.timeline-rail{flex-direction:column;align-items:center;display:flex;position:relative}
.timeline-rail span{background:var(--accent);border:4px solid var(--night);z-index:2;border-radius:50%;align-items:center;width:18px;height:18px;display:flex;position:sticky;top:124px}
.timeline-rail i{background:linear-gradient(var(--accent-dark), var(--line));width:1px;height:100%;position:absolute;top:18px}
.timeline-item:last-child .timeline-rail i{display:none}
.experience-card{background:var(--white);border:1px solid var(--line);transition:.28s var(--ease);border-radius:22px;margin-bottom:28px;padding:clamp(28px,5vw,62px)}
.experience-card:hover{border-color:#6d9f0f4d;transform:translateY(-5px);box-shadow:0 30px 80px #11171617}
.experience-card h2,.cert-card h3,.qna-card h3{transition:transform .24s var(--ease)}
.experience-card:hover h2,.cert-card:hover h3,.qna-card:hover h3{transform:translate(5px)}
.experience-card-head{justify-content:space-between;align-items:start;gap:30px;display:flex}
.experience-card h2{letter-spacing:-.045em;margin:10px 0;font-size:clamp(28px,3.8vw,50px);font-weight:500;line-height:1.05}
.company{color:var(--accent-dark);margin:0;font-weight:700}
.location{color:var(--muted);margin:2px 0;font-size:12px}
.duration{border:1px solid var(--line);border-radius:999px;flex:none;padding:8px 13px;font-size:10px}
.job-description{border-top:1px solid var(--line);color:#3e4846;margin:34px 0 0;padding-top:28px;font-size:15px}
.responsibilities{gap:8px;margin:26px 0 0;padding:0;list-style:none;display:grid}
.responsibilities li{color:var(--muted);padding-left:20px;font-size:13px;position:relative}
.responsibilities li:before{background:var(--accent-dark);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:0}
.info-box{background:var(--paper);border-left:3px solid var(--accent-dark);margin:28px 0 0;padding:18px 20px;font-size:12px}

/* ---------- Hajj & Umrah ---------- */
.hajj-section{background:#f1eee4;padding-top:clamp(56px,6vw,82px);overflow:hidden}
.pattern-layer{background-image:repeating-linear-gradient(45deg,#0000 0 28px,#b8996214 29px 30px),repeating-linear-gradient(-45deg,#0000 0 28px,#b8996214 29px 30px);width:540px;height:420px;position:absolute;top:0;right:-100px;transform:rotate(8deg)}
.hajj-layout{grid-template-columns:3fr 8fr;gap:clamp(36px,5vw,64px);display:grid;position:relative}
.hajj-aside{align-self:start;position:sticky;top:120px}
.hajj-aside h2{font-family:Playfair Display,serif;font-size:46px;font-style:italic;font-weight:500;line-height:1}
.large-count{color:var(--gold);letter-spacing:-.08em;margin:60px 0 0;font-size:100px;line-height:1}
.hajj-aside>span{letter-spacing:.15em;text-transform:uppercase;font-size:11px}
.comment-form,.contact-form-wrap{background:var(--night);color:var(--white);border-radius:22px;gap:14px;padding:clamp(26px,4vw,48px);display:grid}
.comment-form{border:1px solid #b8996233;grid-template-columns:minmax(0,1fr) auto;gap:26px 24px;padding:clamp(24px,3vw,36px);box-shadow:0 24px 70px #0b17161f}
.comment-form-field{gap:7px;display:grid}
.comment-form-message{grid-column:1/-1}
.comment-form label,.contact-form label{color:#ffffff94;letter-spacing:.1em;text-transform:uppercase;font-size:10px}
.comment-form textarea{resize:vertical;min-height:112px}
input,textarea{color:inherit;transition:border .22s var(--ease), box-shadow .22s var(--ease);background:0 0;border:0;border-bottom:1px solid #ffffff3d;border-radius:0;outline:none;width:100%;padding:11px 0}
input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
.comment-form .primary-button{border-color:var(--accent);grid-area:1/2;align-self:end;min-width:190px}
.discussion-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin:48px 0 0;padding-bottom:22px;display:flex}
.discussion-heading h2{letter-spacing:-.035em;margin:0;font-family:Playfair Display,serif;font-size:clamp(34px,4vw,54px);font-style:italic;font-weight:500}
.discussion-heading .eyebrow{margin-bottom:8px}
.discussion-heading span{color:var(--muted);font-size:11px}
.category-nav{scrollbar-width:thin;gap:8px;margin:24px 0 54px;padding-bottom:8px;display:flex;overflow-x:auto}
.category-nav a{color:#344340;max-width:310px;transition:background .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease), transform .22s var(--ease);background:#fffdf8b8;border:1px solid #b8996257;border-radius:999px;flex:none;padding:10px 16px;font-size:12px;line-height:1.5}
.category-nav a:hover{background:var(--night);border-color:var(--night);color:var(--white);transform:translateY(-2px)}
.qna-group{scroll-margin-top:110px}
.qna-group+.qna-group{margin-top:110px}
.qna-group-heading{border-bottom:1px solid #b899626b;margin-bottom:26px;padding-bottom:24px}
.qna-group-heading>span{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:700;display:block}
.qna-group-heading h2{color:var(--night);letter-spacing:-.025em;margin:0;font-size:clamp(27px,3vw,40px);font-weight:600;line-height:1.35}
.qna-list{gap:18px;display:grid}
.qna-card{transition:border-color .24s var(--ease), box-shadow .24s var(--ease), transform .24s var(--ease);background:#fffdf8e6;border:1px solid #1117161a;border-radius:20px;overflow:hidden;box-shadow:0 16px 44px #1117160b}
.qna-card:hover{border-color:#b8996285;transform:translateY(-4px);box-shadow:0 24px 64px #11171617}
.qna-card article{padding:clamp(24px,4vw,42px)}
.qna-author{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr auto;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:20px;display:grid}
.qna-author .avatar{background:var(--night);color:var(--accent);border:1px solid #b899628c;width:44px;height:44px}
.qna-author span{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700;display:block}
.qna-author h3{color:var(--night);margin:2px 0 0;font-size:15px}
.qna-author time{color:var(--muted);font-size:10px}
.qna-category{transition:background .22s var(--ease), border-color .22s var(--ease);background:#f0eadc;border:1px solid #b8996242;border-radius:12px;align-items:flex-start;gap:8px;margin-bottom:28px;padding:10px 13px;display:flex}
.qna-card:hover .qna-category{background:#ebe3d2;border-color:#b899627a}
.qna-category span{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;flex:none;padding-top:2px;font-size:10px;font-weight:700}
.qna-category p{color:#48524f;margin:0;font-size:12px;line-height:1.65}
.qna-question,.qna-answer{grid-template-columns:66px 1fr;gap:14px;display:grid}
.qna-answer{border-top:1px solid var(--line);margin-top:26px;padding-top:26px}
.qna-label{background:var(--night);color:var(--accent);border-radius:999px;justify-content:center;align-self:start;align-items:center;min-height:32px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}
.qna-answer .qna-label{background:var(--gold);color:var(--white)}
.qna-question p,.qna-answer p{color:#283330;margin:0;font-size:16px;line-height:1.95}
.qna-question p{color:var(--night);font-size:18px;font-weight:600}
.comment-card{transition:background .22s var(--ease), padding .22s var(--ease);grid-template-columns:48px 1fr;gap:22px;padding:32px 0;display:grid}
.comment-card:hover{background:#fffdf88c;padding-inline:12px}
.comment-card+.comment-card{border-top:1px solid var(--line)}
.avatar{background:var(--gold);color:var(--white);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;display:flex}
.comment-meta{align-items:center;gap:15px;display:flex}
.comment-meta h3{margin:0;font-size:14px}
.comment-meta span{color:var(--muted);font-size:10px}
.comment-card p{color:#3f4947;margin:10px 0 0;font-size:15px}
.pagination{flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-top:42px;display:flex}
.pagination a,.pagination strong,.pagination span{border:1px solid var(--line);justify-content:center;align-items:center;min-width:38px;height:38px;padding:0 10px;font-size:11px;display:flex}
.pagination strong,.pagination a:hover{background:var(--night);color:var(--accent)}

/* ---------- Profile ---------- */
.profile-nav{background:var(--white);border-bottom:1px solid var(--line);z-index:20;position:sticky;top:78px}
.profile-nav .container{gap:26px;padding-block:15px;display:flex;overflow-x:auto}
.profile-nav a{letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:10px;font-weight:700}
.profile-grid{grid-template-columns:5fr 7fr;gap:clamp(48px,6vw,80px);display:grid}
.profile-section{padding-block:clamp(72px,7vw,108px)}
.profile-education-section{padding-top:clamp(72px,7vw,108px);padding-bottom:0}
.profile-education-section>.section{padding-top:clamp(48px,5vw,72px)}
.profile-heading{align-self:start;position:sticky;top:150px}
.profile-heading.reveal{clip-path:none;opacity:1;will-change:auto;transform:none}
.profile-heading h2{font-size:clamp(38px,4.3vw,64px)}
.profile-entry{border-top:1px solid var(--line);transition:border-color .22s var(--ease), padding .22s var(--ease);padding:30px 0}
.profile-entry:hover{border-color:var(--accent-dark);padding-left:12px}
.profile-entry:last-child{border-bottom:1px solid var(--line)}
.profile-entry h3{margin:0 0 7px;font-size:20px;font-weight:600;line-height:1.35}
.profile-entry p{color:var(--muted);margin:5px 0;font-size:13px}
.profile-entry .entry-meta{color:var(--accent-dark);font-size:11px;font-weight:700}

/* ---------- Contact ---------- */
.contact-layout{grid-template-columns:5fr 7fr;gap:9vw;display:grid}
.contact-copy{align-self:start}
.contact-lede{color:var(--muted);font-size:17px}
.contact-list{border-top:1px solid var(--line);margin-top:48px}
.contact-list>*{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr;gap:15px;padding:22px 0;display:grid}
.contact-list span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.contact-list strong{font-size:12px;font-weight:600}
.contact-form-wrap .eyebrow{color:var(--accent)}
.contact-form{grid-template-columns:1fr 1fr;gap:28px 22px;display:grid}
.contact-form>div{transition:transform .22s var(--ease)}
.contact-form>div:focus-within{transform:translateY(-2px)}
.full-field{grid-column:1/-1}
.contact-form .primary-button{border-color:var(--accent);justify-self:start;margin-top:10px}
.form-error{color:#ffad9f;grid-column:1/-1;font-size:12px}
/* Laravel flash messages (not in the Figma file — styled to match .form-error) */
.form-success{color:var(--accent);grid-column:1/-1;font-size:12px}
.form-errors{color:#ffad9f;grid-column:1/-1;font-size:12px;list-style:none;margin:0;padding:0}

/* ---------- Footer ---------- */
.site-footer{background:var(--night);color:var(--white);padding:110px 0 28px;position:relative;overflow:hidden}
.footer-orbit{border:1px solid #c8ff5733;border-radius:50%;width:500px;height:500px;position:absolute;top:-250px;right:-150px}
.footer-grid{grid-template-columns:7fr 5fr;gap:8vw;display:grid;position:relative}
.footer-grid h2{letter-spacing:-.06em;margin:0;font-size:clamp(48px,7vw,96px);font-weight:500;line-height:.96}
.footer-details{flex-direction:column;gap:16px;display:flex}
.footer-details>strong{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-top:8px;font-size:10px}
.footer-details p{color:#ffffff8c;font-size:11px}
.footer-details a{border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;padding-bottom:12px;font-size:13px;display:flex}
.footer-links{flex-wrap:wrap;gap:8px 18px;display:flex}
.footer-links a{color:#ffffffb3;border:0;padding:0;font-size:11px}
.footer-bottom{color:#ffffff73;letter-spacing:.09em;text-transform:uppercase;border-top:1px solid #ffffff2e;justify-content:space-between;margin-top:90px;padding-top:24px;font-size:9px;display:flex}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transition:opacity .65s var(--ease) var(--delay), transform .65s var(--ease) var(--delay), clip-path .7s var(--ease) var(--delay);will-change:opacity, transform}
.reveal-up{transform:translateY(28px)}
.reveal-left{transform:translate(-30px)}
.reveal-right{transform:translate(30px)}
.reveal-scale{clip-path:inset(7% round 24px);transform:scale(.965)}
.reveal-mask{clip-path:inset(0 0 100%);transform:translateY(20px)}
.reveal.is-visible{clip-path:inset(0);opacity:1;transform:none}
.primary-button:active,.secondary-button:active,.round-link:active{transform:translateY(0)scale(.98)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}

/* ---------- Responsive ---------- */
@media (width<=1024px){:root{--container:min(100% - 40px, 940px)}.hero-copy{grid-column:1/8}.hero-visual{grid-column:8/13}.note-one{top:20%;left:auto;right:-2%}.story-grid,.profile-grid,.contact-layout{gap:48px}.portrait-frame{min-height:500px}.cert-grid{grid-template-columns:repeat(2,1fr)}.hajj-layout{grid-template-columns:2fr 5fr;gap:45px}}
@media (width<=780px){:root{--container:calc(100% - 32px)}.site-header{padding-top:10px}.nav-shell{width:calc(100% - 20px);height:62px;padding:0}.site-header.is-scrolled .nav-shell{transform:translateY(-3px)}.brand{gap:9px;font-size:14px}.brand-mark{width:34px;height:34px}.menu-button{background:var(--night);z-index:3;border-radius:50%;width:48px;height:48px;padding:13px;display:block}.menu-button span{background:var(--accent)}.site-header .nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;pointer-events:none;transition:.3s var(--ease);background:#0b1716fa;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;align-items:stretch;gap:0;padding:72px 18px 20px;display:flex;position:fixed;top:10px;left:10px;right:10px;transform:translateY(-20px);box-shadow:0 22px 70px #11171629}.nav.open{opacity:1;pointer-events:auto;transform:none}.nav-link{color:#ffffffc7;border-bottom:1px solid #ffffff1f;border-radius:0;padding:15px 0;font-size:18px}.nav-link.active{color:var(--ink);border-radius:10px;padding-inline:12px}.nav-link:after{display:none}.hero{min-height:auto}.hero-grid{min-height:auto;padding-top:66px;display:block}.hero-copy{z-index:2;padding:58px 0 44px;position:relative}.hero h1{font-size:clamp(47px,14vw,74px)}.hero-visual{opacity:.2;z-index:0;width:88%;height:520px;min-height:auto;position:absolute;top:66px;right:-34%}.hero:after{opacity:.45;width:90vw;height:90vw;animation:none;top:24%;left:10%}.hero-visual:before,.hero-visual:after{display:none}.portrait-halo{width:78vw;max-width:420px;height:78vw;max-height:420px}.hero-image-mask{width:135%;height:106%;top:-5%;left:55%}.portrait-halo,.hero-note{animation:none}.hero-image-mask img,.hero-visual:hover .hero-image-mask img{transform:scale(1.12)}.role-marquee>div{animation-duration:48s}.reveal-left,.reveal-right{transform:translateY(22px)}.note-one,.scroll-cue{display:none}.story-grid,.profile-grid,.contact-layout,.footer-grid,.hajj-layout{grid-template-columns:1fr}.portrait-wrap,.profile-heading,.hajj-aside{position:relative;top:auto}.portrait-frame{min-height:520px}.experience-seal{right:10px}.split-heading{flex-direction:column;align-items:start}.split-heading>p{margin-top:-20px}.preview-row{grid-template-columns:1fr auto;gap:14px}.preview-date{grid-column:1}.current-dot{display:none}.education-grid{grid-template-columns:1fr}.education-item,.education-item:nth-child(2n){border-right:0;min-height:280px;padding-inline:0}.page-intro{min-height:540px;padding:150px 0 70px}.intro-copy{margin-left:18%}.timeline-item{grid-template-columns:32px 1fr}.timeline-rail{align-items:start}.timeline-rail span{width:14px;height:14px}.timeline-rail i{left:7px}.experience-card-head{flex-direction:column}.duration{white-space:normal}.hajj-aside .large-count{margin-top:25px;font-size:70px}.comment-form{grid-template-columns:1fr}.comment-form .primary-button{grid-area:auto/1}.discussion-heading{flex-direction:column;align-items:flex-start;gap:10px}.category-nav{margin-bottom:56px}.qna-group+.qna-group{margin-top:78px}.qna-question,.qna-answer{grid-template-columns:58px 1fr;gap:12px}.qna-question p{font-size:17px}.profile-nav{top:68px}.profile-section{padding-block:68px}.profile-education-section{padding-top:68px}.profile-education-section>.section{padding-top:42px}.footer-details{margin-top:30px}}
@media (width<=520px){.hero-actions{flex-direction:column;align-items:stretch}.primary-button,.secondary-button{justify-content:space-between}.hero-visual{height:510px}.hero-note{padding:10px 13px}.qna-author{grid-template-columns:40px 1fr}.qna-author time{grid-column:2}.qna-question,.qna-answer{grid-template-columns:1fr}.qna-label{justify-self:start}.qna-category{flex-direction:column}.story-copy h2,.section-heading h2,.profile-heading h2,.contact-copy h2{font-size:40px}.portrait-frame{min-height:430px}.cert-grid{grid-template-columns:1fr}.cert-card{min-height:210px}.comment-card{grid-template-columns:38px 1fr;gap:14px}.avatar{width:38px;height:38px}.comment-meta{flex-direction:column;align-items:start;gap:0}.contact-form{grid-template-columns:1fr}.contact-form>*{grid-column:1}.footer-bottom{flex-direction:column;gap:8px}}
@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{clip-path:none;opacity:1;will-change:auto;transform:none}}
