:root{--black:#000;--dark:#111;--panel:#171717;--line:hsla(0,0%,100%,0.12);--text:#fff;--muted:#a0a0a0;--accent:#ffbd39;--accent-2:#f59e0b;--container:1180px;--shadow:0 28px 60px rgba(0,0,0,0.35);--radius:24px}html{scroll-behavior:smooth}body{margin:0;background:-webkit-radial-gradient(top left,circle,rgba(255,189,57,.13),transparent 28%),-webkit-radial-gradient(top right,circle,rgba(245,158,11,.1),transparent 24%),var(--black);background:radial-gradient(circle at top left,rgba(255,189,57,.13),transparent 28%),radial-gradient(circle at top right,rgba(245,158,11,.1),transparent 24%),var(--black);color:var(--text);font-family:Poppins,Segoe UI,sans-serif}*{-webkit-box-sizing:border-box;box-sizing:border-box}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(calc(100% - 2rem),var(--container));margin:0 auto}.ftco-section{padding:1rem 0}.page-section{padding-top:1rem}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(14px);background:rgba(0,0,0,.72);border-bottom:1px solid var(--line)}.about__grid,.blog-grid,.contact__details,.contact__grid,.counter-wrap,.hero__actions,.hero__grid,.pagination,.pagination__pages,.post-meta,.projects__grid,.resume__grid,.services__grid,.site-footer__inner,.site-header__inner,.site-nav,.skills__chips,.skills__grid{display:flex;grid-gap:1rem;gap:1rem}.site-footer__inner,.site-header__inner{align-items:center;justify-content:space-between;padding:1rem 0}.brand{font-size:1.2rem;font-weight:700}.brand,.menu-toggle{letter-spacing:.08em;text-transform:uppercase}.menu-toggle{display:none;align-items:center;grid-gap:.45rem;gap:.45rem;padding:0;border:0;background:transparent;color:var(--muted);font:inherit}.menu-toggle__icon{font-size:1.3rem;line-height:1}.site-nav{align-items:center;flex-wrap:wrap}.site-nav a{color:var(--muted);font-size:.95rem}.site-nav a:hover{color:var(--accent)}.button,.header-cta,.pagination__button,.pagination__page{border-radius:999px;padding:.85rem 1.25rem;font-weight:600;border:1px solid transparent;-webkit-transition:.18s ease;transition:.18s ease}.button--primary,.header-cta,.pagination__page.active{background:var(--accent);color:#111}.site-nav .header-cta{color:#000!important}.button--inline,.button--secondary,.pagination__button,.pagination__page{background:hsla(0,0%,100%,.03);border-color:var(--line);color:var(--text)}.button--linklike{cursor:pointer}.about__grid,.contact__grid,.hero__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;grid-gap:2rem;gap:2rem}.hero__copy h1,.section-heading h2{margin:0}.hero{min-height:100vh;display:flex;align-items:center;padding-top:1rem}.blog-card__date span,.date,.project-card span,.promo-card__overlay span,.section-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.hero__copy h1{font-size:clamp(3rem,8vw,5.5rem);line-height:1;margin-bottom:.75rem}.hero__copy h1 span,.hero__copy h2{color:var(--accent)}.blog-card__body p,.contact__details p,.hero__copy p,.post-content p,.project-card p,.resume-card li,.section-heading p,.service-card p{color:var(--muted);line-height:1.8}.hero__copy p,.section-heading p{max-width:520px}.hero__copy p{margin-top:24px}.section-heading p{margin:24px auto 0}.contact__details,.counter-wrap,.hero__actions,.pagination__pages,.post-meta,.skills__chips,.skills__grid{flex-wrap:wrap}.contact__heading{grid-column:1/-1;margin-bottom:1rem}.hero__actions{grid-gap:16px;gap:16px;margin-top:24px}.hero__media{position:relative}.hero__glow{position:absolute;inset:8% 10%;border-radius:50%;background:-webkit-radial-gradient(circle,rgba(255,189,57,.28),transparent 65%);background:radial-gradient(circle,rgba(255,189,57,.28),transparent 65%);-webkit-filter:blur(24px);filter:blur(24px)}.about__photo img,.hero__media img{position:relative;z-index:1;margin:0 auto;max-height:720px;object-fit:contain}.big{display:block;font-size:clamp(3rem,8vw,8rem);font-weight:700;line-height:.9;color:hsla(0,0%,100%,.04);margin-bottom:-1rem}.section-heading--center{text-align:center;max-width:760px;margin:0 auto 3rem}.section-heading h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}.about-info{padding:0;list-style:none;margin:1.5rem 0}.about-info li{display:flex;justify-content:space-between;grid-gap:1rem;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.about-info span{color:var(--muted)}.blog-card,.enquiry-form,.post-card,.project-card,.resume-card,.service-card,.stat-box{background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.04)),to(hsla(0,0%,100%,.02)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02));background:linear-gradient(180deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02));border:1px solid var(--line);border-radius:var(--radius);-webkit-box-shadow:var(--shadow);box-shadow:var(--shadow)}.counter-wrap{margin:2rem 0}.stat-box{flex:1 1 150px;padding:1rem}.stat-box strong{display:block;font-size:1.6rem}.blog-grid,.projects__grid,.resume__grid,.services__grid{flex-wrap:wrap}.services__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem}.projects__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem}.resume-summary{max-width:520px;margin:0 auto 2rem;color:var(--text);text-align:center;font-size:1.05rem;line-height:1.7}.resume__grid--small{margin-top:2rem;margin-bottom:5rem}.project-card,.resume-card,.service-card{flex:1 1 320px;padding:1.5rem}.project-card{overflow:hidden}.service-card{-webkit-transition:border-color .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease;transition:border-color .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease}.project-card:hover,.service-card:hover{-webkit-transform:translateY(-6px);transform:translateY(-6px);border-color:#f5b942;-webkit-box-shadow:0 10px 25px rgba(0,0,0,.35);box-shadow:0 10px 25px rgba(0,0,0,.35)}.resume-card ul{margin:1rem 0 0;padding-left:1.2rem}.resume-card li{max-width:420px;line-height:1.7}.position{display:block;color:var(--muted);margin-bottom:.75rem}.blog-card__title,.project-card h3,.resume-card h3,.service-card h3{font-size:1.35rem;margin:.6rem 0}.project-card--case{padding:0;-webkit-transition:border-color .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease;transition:border-color .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease}.project-card__image{display:block;aspect-ratio:16/10}.project-card__image img{width:100%;height:100%;object-fit:cover}.project-card__body{padding:1.35rem}.project-card__category{display:inline-block;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.project-card__title-link{color:var(--text);-webkit-transition:color .18s ease;transition:color .18s ease}.project-card__title-link:hover{color:var(--accent)}.project-card__tags{display:flex;flex-wrap:wrap;grid-gap:.6rem;gap:.6rem;margin-top:1rem}.project-card__actions,.project-case-actions{display:flex;flex-wrap:wrap;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.project-card__tag{padding:.55rem .8rem;border-radius:999px;border:1px solid var(--line);background:hsla(0,0%,100%,.03);font-size:.88rem;color:var(--muted)}.project-card__button{display:inline-flex;margin-top:0}.service-card__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:.9rem;border-radius:14px;background:rgba(245,185,66,.08);color:#f5b942}.service-card__icon svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:20px;font-weight:600}.service-card p{max-width:420px;font-size:15px;line-height:1.7;opacity:.85}.skill-chip{padding:.8rem 1rem;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.03)}.skills__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem}.skill-card{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.04)),to(hsla(0,0%,100%,.02)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02));background:linear-gradient(180deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02));-webkit-box-shadow:var(--shadow);box-shadow:var(--shadow);-webkit-transition:border-color .3s ease,-webkit-transform .3s ease,-webkit-box-shadow .3s ease;transition:border-color .3s ease,-webkit-transform .3s ease,-webkit-box-shadow .3s ease;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,-webkit-transform .3s ease,-webkit-box-shadow .3s ease}.skill-card:hover{-webkit-transform:translateY(-6px);transform:translateY(-6px);border-color:#f5b942;-webkit-box-shadow:0 10px 25px rgba(0,0,0,.35);box-shadow:0 10px 25px rgba(0,0,0,.35)}.skill-card h3{display:flex;align-items:center;grid-gap:.65rem;gap:.65rem;margin:0 0 1rem;font-size:1.2rem;font-weight:600;letter-spacing:.3px}.skill-card__title-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:rgba(245,185,66,.08);color:#f5b942}.skill-card__title-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.skill-card__items{display:flex;flex-wrap:wrap;grid-gap:.75rem;gap:.75rem}.skill-item{display:inline-flex;align-items:center;grid-gap:.45rem;gap:.45rem;justify-content:center;min-width:110px;padding:.7rem .9rem;border-radius:999px;border:1px solid var(--line);background:hsla(0,0%,100%,.03);color:var(--text);-webkit-box-shadow:0 0 0 rgba(245,185,66,0);box-shadow:0 0 0 rgba(245,185,66,0);-webkit-transition:color .18s ease,border-color .18s ease,background .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease;transition:color .18s ease,border-color .18s ease,background .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease}.skill-item:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#f5b942;border-color:#f5b942;background:rgba(245,185,66,.08);-webkit-box-shadow:0 0 12px rgba(245,185,66,.25);box-shadow:0 0 12px rgba(245,185,66,.25)}.skill-item__icon{font-size:.95rem;line-height:1}.blog-card{overflow:hidden;flex:1 1 320px}.blog-card__image{position:relative;display:block;aspect-ratio:4/3}.blog-card__image img,.post-card__image{width:100%;height:100%;object-fit:cover}.blog-card__date{position:absolute;left:1rem;bottom:1rem;padding:.75rem 1rem;background:rgba(0,0,0,.74);border-radius:999px}.blog-card__body{padding:1.25rem}.blog-card__link{color:var(--accent);font-weight:600}.section-cta{text-align:center;margin-top:2rem}.services__cta{max-width:620px;margin:2.25rem auto 0}.services__cta p{margin:0 0 1rem;color:var(--muted);line-height:1.7}.enquiry-form{padding:1.5rem;max-width:680px;width:100%;justify-self:end}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.enquiry-form label{display:block;margin-bottom:1rem}.enquiry-form span{display:block;color:var(--muted);margin-bottom:.5rem}.enquiry-form input,.enquiry-form textarea{width:100%;border-radius:14px;border:1px solid var(--line);background:hsla(0,0%,100%,.03);color:var(--text);padding:.8rem .95rem;font:inherit}.enquiry-form textarea{min-height:170px}.form-status{margin:1rem 0 0}.form-status.success{color:#7df5a6}.form-status.error{color:#ff8a8a}.pagination{justify-content:center;align-items:center;margin-top:2rem}.pagination__button:disabled{opacity:.45;cursor:not-allowed}.post-shell{max-width:920px}.project-shell{max-width:1040px}.project-case-card{border:1px solid var(--line);border-radius:var(--radius);background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.04)),to(hsla(0,0%,100%,.02)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02));background:linear-gradient(180deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02));-webkit-box-shadow:var(--shadow);box-shadow:var(--shadow);overflow:hidden}.project-case-hero{aspect-ratio:16/8}.project-case-hero img{width:100%;height:100%;object-fit:cover}.project-case-header,.project-case-section{padding:1.5rem}.project-case-header h1,.project-case-section h2{margin:.5rem 0 1rem}.project-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;padding:0 1.5rem}.project-case-grid .project-case-section{padding:1.35rem;border:1px solid var(--line);border-radius:20px;background:hsla(0,0%,100%,.02)}.project-case-list{margin:0;padding-left:1.2rem;line-height:1.8;color:var(--muted)}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.project-gallery__item{aspect-ratio:4/3;overflow:hidden;border-radius:18px;border:1px solid var(--line)}.project-gallery__item img{width:100%;height:100%;object-fit:cover}.post-card{padding:1.5rem}.button--inline{display:inline-flex;margin-bottom:1rem}.post-card__image{aspect-ratio:16/9;border-radius:20px;overflow:hidden;margin:1.5rem 0}.post-meta{color:var(--muted)}.post-content h3{font-size:1.7rem}.post-content blockquote{margin:2rem 0;padding:1.5rem;border-left:4px solid var(--accent);background:hsla(0,0%,100%,.03);border-radius:0 18px 18px 0}.post-content cite{display:block;margin-top:.75rem;color:var(--accent)}.post-list{display:grid;grid-gap:1rem;gap:1rem;margin:2rem 0}.post-list__item{padding:1.25rem;border:1px solid var(--line);border-radius:20px}.promo-card{margin:2rem 0;border-radius:24px;overflow:hidden;background-size:cover;background-position:50%}.promo-card__overlay{padding:2rem;background:-webkit-linear-gradient(315deg,rgba(0,0,0,.9),rgba(0,0,0,.55));background:linear-gradient(135deg,rgba(0,0,0,.9),rgba(0,0,0,.55))}.promo-card__overlay ul{display:grid;grid-gap:.75rem;gap:.75rem;padding-left:1.2rem}.site-footer{border-top:1px solid var(--line)}.site-footer__inner{color:var(--muted)}@media (max-width:900px){.about__grid,.contact__grid,.form-grid,.hero__grid,.project-case-grid,.project-gallery,.projects__grid,.services__grid,.skills__grid{grid-template-columns:1fr}.enquiry-form{max-width:100%;justify-self:stretch}.site-header{position:sticky}.site-footer__inner,.site-header__inner{flex-wrap:wrap;align-items:center}.menu-toggle{display:inline-flex;margin-left:auto}.site-nav{display:none;width:100%;flex-direction:column;align-items:flex-start;grid-gap:1rem;gap:1rem;padding-top:1rem;border-top:1px solid var(--line)}.site-nav.is-open{display:flex}.header-cta,.site-nav a{width:100%}.hero{min-height:auto;padding-top:1.5rem}.hero__grid{grid-gap:0;gap:0}.hero__media{order:1;min-height:470px}.hero__glow{inset:16% 10%}.hero__media img{max-height:520px}.hero__copy{order:2;position:relative;z-index:2;max-width:320px;margin:-8rem auto 0;padding:10px;background:rgba(28,20,6,.34);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.12);-webkit-box-shadow:0 18px 40px rgba(0,0,0,.28);box-shadow:0 18px 40px rgba(0,0,0,.28);border-radius:24px;text-align:center}.hero__copy h1{font-size:clamp(2.7rem,14vw,4.8rem)}.hero__copy h2{font-size:1.1rem;line-height:1.45;margin-top:.9rem}.hero__actions{justify-content:center}}@media (max-width:600px){.ftco-section{padding:1rem 0}.container{width:min(calc(100% - 1.25rem),var(--container))}.button,.header-cta,.pagination__button{width:100%;text-align:center;justify-content:center}.pagination{flex-direction:column}.site-header__inner{padding:1rem 0}.brand{font-size:.95rem}.hero{padding-top:1rem}.hero__media{min-height:420px}.hero__media img{max-height:430px}.hero__copy{max-width:300px;margin-top:-6.5rem;padding:10px}.hero__copy p{font-size:.95rem}.hero__copy h1{font-size:clamp(2.5rem,13vw,4rem);line-height:.98}}