@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#10151c;--panel:#18212b;--ink:#f5f7fa;--muted:#b4bdc7;--accent:#8ec7ed;--line:#2b3743;--radius:20px;color-scheme:dark;font-family:'DM Sans','Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3{font-family:Manrope,'Segoe UI',sans-serif;line-height:1.08;margin:0;font-weight:800;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,6.2vw,6.4rem)}h2{font-size:clamp(2.3rem,4.2vw,4rem)}h3{font-size:1.5rem}p{margin:0 0 1.3rem;color:var(--muted)}.section{max-width:1400px;padding:100px 64px;margin:auto}.eyebrow{color:var(--accent);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}.skip{position:absolute;top:-100px;background:var(--accent);color:var(--bg);padding:12px;z-index:9}.skip:focus{top:10px}.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:23px max(32px,calc((100vw - 1272px)/2));background:#10151ced;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.wordmark{font-size:24px;font-weight:800;letter-spacing:-.05em}.wordmark span{color:var(--accent)}nav{display:flex;align-items:center;gap:30px;font-size:15px}nav a:hover,.text-link:hover{color:var(--accent)}.nav-cta{border:1px solid var(--line);border-radius:30px;padding:10px 18px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center;min-height:790px;padding-top:65px;padding-bottom:75px;position:relative;background:radial-gradient(ellipse at 95% 35%,#24415855,transparent 60%)}h1 span{color:var(--accent)}.lead{font-size:20px;max-width:620px;margin-top:30px;line-height:1.65}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;border:0;border-radius:100px;padding:14px 24px;background:var(--accent);color:#102231;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#b0daf6;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border:1px solid #5e768b}.text-link{display:inline-block;border-bottom:1px solid #647d91;padding:8px 0;font-weight:600}.entry-price{font-size:15px;margin-top:24px}.entry-price strong{color:var(--ink)}.hero-portrait{position:relative;transform:rotate(2deg);border:1px solid #55758c;border-radius:140px 140px 25px 25px;overflow:hidden;box-shadow:0 30px 80px #0007}.hero-portrait>img{width:100%;height:560px;object-fit:cover;object-position:50% 23%}.portrait-label{position:absolute;bottom:0;left:0;right:0;padding:70px 30px 28px;background:linear-gradient(transparent,#0b1016e8)}.portrait-label strong,.portrait-label span{display:block}.portrait-label strong{font-size:25px}.portrait-label span{font-size:14px;color:#d5dde3}.service-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:20px 38px;padding:27px 24px;border-block:1px solid var(--line);color:var(--muted);font-size:15px}.section-intro{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:60px}.section-intro>p{max-width:360px;margin:0}.project{display:grid;grid-template-columns:1.35fr 1fr;gap:75px;align-items:center;margin-bottom:105px}.project:last-child{margin-bottom:0}.project.reverse .project-copy{grid-row:1;grid-column:1}.project.reverse .project-visual{grid-column:2}.project.reverse{grid-template-columns:1fr 1.35fr}.project-visual{background:#1a2530;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 65px #0003}.view-tabs{display:flex;gap:8px;padding:14px;background:#1a2530;border-bottom:1px solid var(--line)}.view-tabs button{border:0;background:transparent;color:var(--muted);padding:8px 18px;border-radius:25px;font-size:14px;min-height:40px}.view-tabs button[aria-pressed=true]{background:var(--accent);color:#102231;font-weight:700}.screen{height:380px;display:flex;align-items:center;justify-content:center;background:#101922;padding:18px}.screen img{width:100%;height:100%;object-fit:contain}.screen.mobile img{width:auto;max-width:100%;height:100%}.project-copy h3{font-size:clamp(2rem,3.2vw,3.2rem);margin-bottom:22px}.project-copy>small{display:block;color:var(--muted);font-size:13px;margin-top:14px}.tags{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}.tags li{font-size:13px;border:1px solid var(--line);border-radius:20px;padding:6px 12px;color:#c6d0d9}.services{border-block:1px solid var(--line);background:linear-gradient(115deg,#1d2b39,#10151c)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:60px}.service-grid span{color:var(--accent);font-size:15px}.service-grid h3{margin:18px 0;font-size:22px;letter-spacing:-.03em}.service-grid p{font-size:16px;margin:0}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-card{display:flex;flex-direction:column;background:var(--panel);padding:30px;border:1px solid var(--line);border-radius:var(--radius)}.price-card.starter{border-color:var(--accent);background:linear-gradient(150deg,#24394b,#18212b)}.price-card .eyebrow{font-size:12px}.price{font-family:Manrope,sans-serif;font-size:40px;letter-spacing:-.05em;font-weight:800;color:var(--ink);margin:24px 0 20px}.price span{font-size:17px;letter-spacing:0;color:var(--muted);font-weight:500}.price.quote{font-size:32px;line-height:1.3}.price-card>p:not(.eyebrow):not(.price){font-size:16px;min-height:78px}.price-card ul{padding-left:19px;color:var(--muted);font-size:15px;line-height:2;margin:0 0 32px}.price-card .button{margin-top:auto;font-size:14px}.price-card small{font-size:12px;text-align:center;color:var(--muted);margin-top:14px}.pricing-note{font-size:14px;max-width:900px;margin-top:25px}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line)}.about p:not(.eyebrow){margin-top:30px}.process{list-style:none;padding:0;margin:0}.process li{display:flex;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.process span{color:var(--accent)}.process h3{font-size:22px;margin-bottom:10px}.process p{font-size:16px;margin:0!important}.faq{max-width:1100px;padding-top:40px}.faq h2{margin-bottom:40px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:19px;font-weight:600}.faq details p{padding-top:18px;margin:0;max-width:850px;font-size:16px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line);background:radial-gradient(ellipse at 0% 100%,#223b5060,transparent 70%)}.contact h2{margin-bottom:30px}.contact-link{display:block;font-size:20px;color:var(--accent);overflow-wrap:anywhere;margin:25px 0 10px}form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:32px}label{display:block;font-size:14px;font-weight:600;margin:0 0 7px}input,select,textarea{background:#101922;color:var(--ink);border:1px solid #455668;border-radius:9px;padding:12px;width:100%;margin-bottom:20px;min-height:48px}textarea{resize:vertical}form .button{width:100%}.form-note{font-size:13px;margin:14px 0 0}#form-status{font-size:14px;color:var(--accent);margin:12px 0 0}footer{max-width:1400px;margin:auto;padding:35px 64px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font-size:14px;margin:0}
@media(max-width:1050px){.section{padding:75px 32px}.hero{gap:35px;min-height:auto}.hero-portrait>img{height:490px}.project,.project.reverse{gap:40px;grid-template-columns:1.2fr 1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.price-card{padding:22px}.price-card .button{font-size:13px;padding:12px}.about,.contact{gap:45px}.screen{height:310px}footer{padding:35px 32px}}
@media(max-width:760px){body{font-size:16px}.section{padding:65px 22px}.nav{padding:18px 22px}.wordmark{font-size:20px}nav{gap:16px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:13px;padding:8px 12px}.hero{grid-template-columns:1fr;padding-top:45px;gap:38px}.hero-copy .eyebrow{font-size:12px}h1{font-size:clamp(3rem,11.3vw,5rem)}.lead{font-size:18px}.hero-portrait{max-width:440px;width:88%;margin:0 auto}.hero-portrait>img{height:440px}.actions{gap:15px}.button{font-size:15px}.service-strip{gap:13px 23px;font-size:13px}.section-intro{display:block;margin-bottom:36px}.section-intro>p{margin-top:25px;max-width:none}.project,.project.reverse{display:flex;flex-direction:column;gap:30px;align-items:stretch;margin-bottom:70px}.project-visual{width:100%}.project-copy h3{font-size:35px}.project-copy .eyebrow{font-size:12px}.screen{height:300px;padding:12px}.screen.mobile{height:440px}.pricing-grid,.about,.contact{grid-template-columns:1fr;gap:25px}.price-card{padding:30px}.price-card .button{font-size:15px}.price-card>p:not(.eyebrow):not(.price){min-height:0}.service-grid{gap:35px 20px}.service-grid h3{font-size:20px}.service-grid p{font-size:15px}.about{gap:40px}.contact{gap:40px}.faq summary{font-size:17px}form{padding:23px}footer{display:block;padding:32px 22px}footer p{margin-top:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;transform:none!important}}

/* Cinematic light, restrained surfaces and deliberate type hierarchy. */
body{background:radial-gradient(ellipse at 82% 8%,#18384d55,transparent 32%),#0b1017}.nav{background:#0b1017df}.hero{min-height:780px;background:radial-gradient(ellipse at 90% 40%,#3686b527,transparent 60%)}.hero h1{font-size:clamp(3.5rem,6.4vw,6.6rem);letter-spacing:-.06em}.hero h1 span{background:linear-gradient(115deg,#e0f1ff,#78b8e0 65%,#5599c6);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-portrait{border-radius:180px 180px 28px 28px;box-shadow:0 0 80px #519dd31a,0 40px 90px #0008}.hero-portrait:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 45px #1118;border-radius:inherit}.hero-portrait>img{filter:saturate(.8)}.button{box-shadow:0 8px 32px #7cbbe01c}.project-visual{background:linear-gradient(140deg,#284355,#15202b);border-color:#466072}.services{background:radial-gradient(ellipse at 90% 10%,#274a6460,transparent 60%),#101821}.addons{margin-top:48px;padding:38px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(120deg,#192a39,#111922);display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.addons h3{font-size:30px;margin-bottom:18px}.addons p{font-size:15px}.addons dl{margin:0}.addons dl>div{display:flex;justify-content:space-between;gap:25px;padding:19px 0;border-bottom:1px solid #334555}.addons dl>div:first-child{padding-top:0}.addons dl>div:last-child{border:0}.addons dt{font-weight:600;font-size:16px}.addons dt small{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:5px}.addons dd{margin:0;white-space:nowrap;color:var(--accent);font-size:15px;font-weight:700}.price{font-size:36px}.section{scroll-margin-top:10px}.project-visual:hover{border-color:#81badb}.portrait-label{z-index:1}.contact{background:radial-gradient(ellipse at 0% 70%,#2b5b7840,transparent 70%)}
@media(max-width:760px){.hero h1{font-size:clamp(3.25rem,12vw,5rem)}.hero{min-height:auto}.addons{padding:25px;grid-template-columns:1fr;gap:20px}.addons dl>div{gap:15px}.addons dt{font-size:14px}.addons dd{font-size:13px}.hero-portrait{width:92%}.price{font-size:38px}}

/* Luxury gold direction */
:root{--bg:#090a0c;--panel:#151516;--ink:#f5f0e7;--muted:#bcb5aa;--accent:#d4b47b;--line:#3a3226}body{background:linear-gradient(#090a0ce8,#090a0cf2),url('portfolio-assets/development-grid.svg') center top/1600px auto repeat-y,#090a0c}.nav{background:#090a0cee}.hero{background:radial-gradient(ellipse at 85% 48%,#caa56930,transparent 58%);grid-template-columns:1.1fr .9fr;gap:35px;padding-bottom:45px}.hero h1 span{background:linear-gradient(115deg,#fff0ca,#d4b47b 65%,#8f6d35);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-portrait{border:0;transform:none;overflow:visible;border-radius:0;box-shadow:none;background:transparent;min-height:620px;display:flex;align-items:end}.hero-portrait>img{height:620px;object-fit:contain;filter:drop-shadow(0 0 45px #c596431e);width:100%;position:relative;z-index:1}.hero-portrait:after{inset:12% 10% 9%;border:1px solid #ad864b33;border-radius:50%;box-shadow:0 0 70px #c99c431c;z-index:0}.portrait-label{left:15%;right:0;bottom:0;background:linear-gradient(transparent,#090a0c);padding:35px 20px 15px}.hero-proof{display:flex;flex-wrap:wrap;gap:10px 20px;color:#cfbc98;font-size:12px;margin-top:25px}.hero-proof span:before{content:'✓ ';color:var(--accent)}.button{background:linear-gradient(110deg,#edd3a0,#c8a467);color:#1b160f;box-shadow:0 8px 35px #b58a3218}.button:hover{background:#f0dab1}.view-tabs button[aria-pressed=true]{color:#1b160f}.services,.addons{background:linear-gradient(120deg,#252016,#121212)}.project-visual{background:#191714;border-color:#54452e}.screen,input,select,textarea{background:#101010}.view-tabs{background:#201c16}.price-card.starter{background:linear-gradient(145deg,#33291c,#151516);border-color:#bfa16a}.contact{background:radial-gradient(ellipse at 0% 70%,#9f762529,transparent 70%)}.promotion{padding-top:55px;padding-bottom:65px;border-bottom:1px solid var(--line)}.promotion h2{font-size:clamp(2.1rem,3.6vw,3.3rem)}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin:45px 0 20px}.benefits span{font-size:12px;letter-spacing:.1em;color:var(--accent)}.benefits h3{font-size:24px;line-height:1.25;margin:14px 0}.benefits p{font-size:15px}.campaign{border-block:1px solid #6b5434;background:radial-gradient(ellipse at 95% 0,#ba8a3638,transparent 65%),#15130f;display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:55px;padding-bottom:55px}.campaign h2{font-size:clamp(2rem,3.5vw,3.3rem)}.campaign p:not(.eyebrow){max-width:660px;margin:25px 0 0}.campaign .button{flex-shrink:0;font-size:14px}.contact-options{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-options a{padding:17px 0;border-bottom:1px solid var(--line);min-width:0}.contact-options span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.contact-options strong{font-size:14px;color:var(--accent);overflow-wrap:anywhere}.legacy-contact{display:none}.real-photo{width:78px;height:78px;object-fit:cover;object-position:50% 20%;border-radius:50%;border:1px solid #bca16b;margin-bottom:20px}.addons dl>div{border-color:var(--line)}input,textarea,select{border-color:#5b4a31}.project-visual:hover{border-color:#c8a56f}.button.secondary{border-color:#8e764f;background:transparent;color:var(--ink)}
@media(max-width:1050px){.hero-portrait,.hero-portrait>img{height:520px;min-height:520px}.campaign{display:block}.campaign .button{margin-top:30px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:10px}.hero-portrait{width:100%;min-height:460px}.hero-portrait>img{height:460px}.portrait-label{left:8%;padding-top:25px}.hero-proof{gap:8px 15px}.benefits{grid-template-columns:1fr;gap:20px;margin-top:30px}.benefits article{padding-bottom:16px;border-bottom:1px solid var(--line)}.benefits h3{font-size:23px}.contact-options{gap:15px}.campaign{padding-top:40px;padding-bottom:40px}.campaign .button{font-size:13px;width:100%}.promotion{padding-top:40px}}
body{background:linear-gradient(#090a0cbe,#090a0cdd),url('portfolio-assets/development-grid.svg') center top/1600px auto repeat-y,#090a0c}.hero{background:radial-gradient(ellipse at 85% 48%,#caa56930,transparent 58%)}
@media(max-width:760px){.contact-options a:nth-child(3){grid-column:1/-1}.contact-options a:nth-child(4){grid-column:1/-1}}

/* Personal developer portfolio: identity, work, then services. */
.hero h1{font-size:clamp(3.2rem,5.6vw,5.7rem);line-height:1.06;letter-spacing:-.055em}.hero{min-height:740px}.hero-portrait>img{height:620px}.project,.project.reverse{grid-template-columns:1.7fr 1fr;gap:50px}.project.reverse{grid-template-columns:1fr 1.7fr}.screen{height:420px;padding:16px}.project-copy h3{font-size:clamp(2rem,2.9vw,3rem)}.work{padding-top:75px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:85px;border-block:1px solid var(--line);background:radial-gradient(ellipse at 0 0,#99763a1f,transparent 70%)}.approach>div>p:not(.eyebrow){margin-top:25px;max-width:540px}.approach-points article{position:relative;padding:0 0 25px 45px;margin-bottom:25px;border-bottom:1px solid var(--line)}.approach-points article:last-child{margin-bottom:0}.approach-points span{position:absolute;left:0;top:0;color:var(--accent);font-size:13px}.approach-points h3{font-size:23px;margin-bottom:14px}.approach-points p{font-size:15px;margin:0}.service-strip{letter-spacing:.03em}.real-photo{width:100px;height:100px}
@media(max-width:1050px){.screen{height:340px}.approach{gap:45px}.hero h1{font-size:clamp(3rem,5.7vw,5rem)}}
@media(max-width:760px){.hero h1{font-size:clamp(2.8rem,10.4vw,4.5rem)}.hero{min-height:0}.hero-portrait>img{height:460px}.approach{grid-template-columns:1fr;gap:35px}.screen{height:280px}.screen.mobile{height:440px}.project,.project.reverse{gap:25px}.section-intro h2{font-size:2.6rem}.work{padding-top:55px}}

.enquiry-actions{display:grid;gap:12px}.enquiry-actions .button{font-size:14px}.hero-copy h1{max-width:740px}
.hero h1 .hero-name{display:block;font-size:.6em;letter-spacing:-.04em;margin-bottom:20px;background:none;color:var(--ink);-webkit-text-fill-color:var(--ink)}@media(max-width:760px){.hero h1 .hero-name{font-size:.62em;white-space:nowrap}}
.mobile-menu{display:none}.mobile-menu summary{cursor:pointer;list-style:none;font-size:13px;padding:9px 12px;border:1px solid var(--line);border-radius:20px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu>div{position:absolute;right:18px;top:74px;min-width:210px;padding:15px;background:#171511;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 40px #0009}.mobile-menu a{display:block;padding:10px 14px;font-size:15px}.mobile-menu a:hover{color:var(--accent)}
@media(max-width:760px){.mobile-menu{display:block}.nav{gap:12px}.nav .nav-cta{display:none}.nav nav{display:none}.hero h1 .hero-name{white-space:normal}.screen.mobile{min-height:420px}}
.mobile-menu:not([open])>div{display:none}.mobile-menu[open]>div{display:block;max-width:calc(100vw - 36px)}

.real-photo{width:150px;height:150px;object-fit:cover;object-position:center;border-radius:22px}@media(max-width:760px){.real-photo{width:125px;height:125px}}

.case-study{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.case-study summary{cursor:pointer;font-size:15px;font-weight:600;color:var(--accent)}.case-study dl{margin:20px 0 0}.case-study dt{font-weight:600;font-size:13px;color:var(--ink);margin-top:16px}.case-study dd{margin:5px 0 0;font-size:14px;color:var(--muted);line-height:1.65}.preview-open{width:100%;border:0;border-top:1px solid var(--line);padding:12px 20px;color:var(--accent);background:#1b1813;font-size:13px;text-align:left}.preview-open:hover{background:#30271a}#image-viewer{width:min(1250px,94vw);max-height:92dvh;padding:20px;background:#121110;color:var(--ink);border:1px solid #8e754a;border-radius:16px}#image-viewer::backdrop{background:#000d;backdrop-filter:blur(8px)}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.viewer-toolbar h2{font-size:20px;letter-spacing:-.02em}.viewer-toolbar button{border:1px solid var(--line);background:#282117;color:var(--ink);border-radius:20px;padding:8px 16px;font-size:14px}.viewer-content{max-height:70dvh;overflow:auto;display:flex;justify-content:center;background:#070707}.viewer-content img{max-width:100%;height:auto;object-fit:contain;align-self:start}#image-viewer p{font-size:12px;margin:12px 0 0}body.viewer-open{overflow:hidden}@media(max-width:760px){#image-viewer{padding:14px}.viewer-toolbar h2{font-size:16px}.viewer-toolbar button{padding:8px 12px}.viewer-content{max-height:72dvh}}

.project-case{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.project-case h4{font-size:16px;color:var(--accent);margin:0 0 16px}.project-case dl{margin:0}.project-case dt{font-weight:600;font-size:14px;margin-top:14px}.project-case dd{margin:5px 0 0;color:var(--muted);font-size:15px;line-height:1.65}.project-copy,.hero-copy,form{min-width:0}.contact-options a{overflow-wrap:anywhere}button,a.button,select,input,.mobile-menu summary{min-height:44px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}#prepared-brief{width:100%;font-size:16px;line-height:1.6}#prepared-label{margin-top:18px}@media(max-width:760px){.section{scroll-margin-top:100px}input,select,textarea{font-size:16px}.hero .actions .button{width:100%;white-space:normal;text-align:center}.contact-options strong{font-size:16px}.view-tabs button,.gallery-controls button,.viewer-toolbar button{min-height:44px}.mad-enquiry-dock{max-width:calc(100vw - 100px);font-size:13px}.project-case dd{font-size:16px}}
