@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#171c1b;--panel:#202a27;--ink:#f3f2e9;--muted:#a6b5af;--teal:#68d9b0;--line:#37433d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:relative;z-index:2}.brand{font-family:Georgia,serif;font-size:28px}.brand span{font:11px sans-serif;vertical-align:top;margin:4px}nav{display:flex;gap:5px;border:1px solid var(--line);border-radius:40px;padding:7px}nav a{font-size:13px;padding:10px 18px;border-radius:30px}nav a:hover,nav a.active{background:var(--teal);color:var(--bg)}.header-cta{font-size:13px;border-bottom:1px solid var(--teal);padding-bottom:6px}.hero{min-height:700px;padding:48px 5% 32px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 48%,#23544866,transparent 54%)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:10px;color:var(--muted)}.dot{height:6px;width:6px;border-radius:50%;background:var(--teal)}h1,h2,h3,p{margin:0}h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(68px,8.5vw,132px);font-weight:500;line-height:.97;letter-spacing:-7px;margin:36px 0 44px;position:relative;z-index:1}h1>span:not(.period){color:transparent;-webkit-text-stroke:1px var(--teal)}.period{color:var(--teal)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;margin-top:56px}.pill{display:inline-flex;align-items:center;gap:40px;background:var(--teal);color:#14231d;padding:19px 25px;border-radius:40px;font-size:14px;font-weight:700}.pill:hover{background:#a4f1d4}.pill span{font-size:23px}.hero-bottom p{font-size:14px;line-height:1.8;color:var(--muted)}.scroll{border:1px solid var(--line);border-radius:50%;padding:16px 22px}.orbit{position:absolute;width:490px;height:490px;right:3%;top:95px;transform:rotate(-12deg)}.orbit-ring{position:absolute;inset:0;border-radius:50%;border:1px solid #68d9b055;transform:rotateX(25deg)}.orbit-ring.second{inset:32px;transform:rotateY(40deg);border-style:dashed}.core{position:absolute;inset:82px;border-radius:42px;background:linear-gradient(145deg,#68d9b0,#2c6954 60%,#15251f);box-shadow:inset 2px 2px 2px #b2ffe0aa,25px 35px 70px #0009;display:flex;flex-direction:column;justify-content:center;padding:35px;transform:rotate(12deg);font-family:'Space Grotesk',sans-serif;font-size:31px;line-height:1.3;letter-spacing:-1px;color:#d7f3e8}.core i{font-size:65px;line-height:1;font-style:normal;margin-top:20px}.orbit-label{position:absolute;font-size:9px;letter-spacing:2px;color:var(--teal)}.label-a{left:5%;top:15%}.label-b{right:4%;bottom:12%}.ticker{padding:22px 5%;border-block:1px solid var(--line);display:flex;justify-content:space-between;font-size:14px;letter-spacing:3px;color:#c1d1c7;gap:20px}.ticker span{color:var(--teal)}.section{padding:110px 6%}.about,.expertise,.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(40px,4.7vw,68px);font-weight:400;letter-spacing:-3px;line-height:1.08;margin-top:22px}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--teal)}.about-copy{padding-top:30px}.about-copy p{font-size:15px;color:var(--muted);line-height:1.9;margin-bottom:20px}.about-copy .lead{font-size:25px;color:var(--ink);line-height:1.5}.facts{display:flex;gap:40px;border-top:1px solid var(--line);padding-top:30px;margin-top:35px}.facts strong{font-size:31px;font-weight:500;display:block}.facts span{font-size:11px;color:var(--muted);display:block;margin-top:10px}.projects{background:#1d2521}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-heading p{font-size:14px;line-height:1.8;color:var(--muted)}.project{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;padding:45px 0;border-top:1px solid var(--line);align-items:center}.project:nth-child(even) .project-visual{order:2}.project-visual{background:#34473b;min-height:300px;padding:30px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px}.project:nth-child(2) .project-visual{background:#304346}.project:nth-child(3) .project-visual{background:#474936}.project:nth-child(4) .project-visual{background:#3c3e49}.diagram{width:100%;border:1px solid #ffffff25;background:#1b2421;box-shadow:0 20px 40px #0004;transform:rotate(-3deg);padding:22px;border-radius:10px}.diagram-top{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:12px}.diagram-top span{color:var(--teal)}.nodes{display:flex;gap:7px;padding:25px 0;align-items:center}.node{padding:14px 6px;border:1px solid #52695c;border-radius:5px;font-size:10px;text-align:center;flex:1;background:#27382e}.nodes i{color:var(--teal);font-style:normal}.diagram-footer{font-size:10px;letter-spacing:1px;color:var(--muted)}.project-index{font-size:11px;letter-spacing:2px;color:var(--muted)}.project h3{font-family:'Space Grotesk';font-size:32px;line-height:1.15;letter-spacing:-1px;margin:15px 0}.project p{font-size:14px;line-height:1.8;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.tags span{border:1px solid var(--line);border-radius:25px;font-size:10px;padding:7px 10px;color:#c1d1c7}.text-button{padding:10px 0;background:none;border:0;border-bottom:1px solid var(--teal);color:var(--ink);font-size:13px}.text-button span{margin-left:30px;color:var(--teal)}.expertise-list article{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:27px 0}.expertise-list article>span{font-size:11px;color:var(--teal)}.expertise-list h3{font-size:22px;font-weight:500;margin-bottom:12px}.expertise-list p{font-size:14px;line-height:1.8;color:var(--muted)}.expertise-list b{font-size:22px;font-weight:400;color:var(--teal)}.faq{padding-top:20px}details{border-bottom:1px solid var(--line);padding:24px 0}summary{cursor:pointer;font-size:17px}details p{font-size:14px;color:var(--muted);line-height:1.9;margin-top:16px}footer{padding:75px 6% 30px;background:#0f1713}footer h2{font-size:clamp(48px,8vw,110px);margin:30px 0 70px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:25px;font-size:12px;color:var(--muted)}dialog{width:min(740px,92vw);max-height:85vh;background:#202b25;color:var(--ink);border:1px solid #52695c;border-radius:14px;padding:48px}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.close{position:absolute;right:16px;top:10px;background:none;border:0;color:white;font-size:30px}dialog h2{font-size:36px;margin:18px 0}dialog p{color:var(--muted);line-height:1.8;font-size:14px}dialog ol{padding-left:22px}dialog li{padding:12px 0 12px 8px;border-bottom:1px solid var(--line);line-height:1.6;font-size:14px}dialog li::marker{color:var(--teal)}:focus-visible{outline:2px solid var(--teal);outline-offset:5px}@media(min-width:1500px){main,header{max-width:1600px;margin:auto}}@media(max-width:1000px){.orbit{right:-110px;opacity:.65}.hero-title{max-width:80%}h1{font-size:90px}.section{padding:80px 5%}.about,.expertise,.faq{gap:5%}.facts{gap:20px}.project-visual{padding:20px}.project h3{font-size:28px}}@media(max-width:700px){header{height:85px;padding:15px 5%;flex-wrap:wrap}.brand{font-size:24px}nav{order:3;margin:15px auto 0;width:100%;justify-content:center;padding:4px}nav a{font-size:11px;padding:8px 12px}.header-cta{font-size:11px}.hero{padding-top:65px;min-height:800px}.eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:clamp(48px,12vw,82px);letter-spacing:-3px;margin-top:28px}.hero-title{max-width:100%}.orbit{top:300px;right:calc(50% - 170px);width:340px;height:340px;opacity:1}.core{inset:57px;font-size:23px;padding:26px}.core i{font-size:40px}.hero-bottom{margin-top:340px;gap:20px;flex-wrap:wrap}.hero-bottom p{font-size:12px}.scroll{display:none}.pill{font-size:12px;padding:14px 20px;gap:20px}.ticker{font-size:9px;letter-spacing:1px;gap:10px;line-height:1.8}.ticker span:last-child{display:none}.section{padding:65px 6%}.about,.expertise,.faq{grid-template-columns:1fr;gap:25px}h2{letter-spacing:-2px}.about-copy{padding-top:0}.about-copy .lead{font-size:22px}.facts{justify-content:space-between;gap:10px}.facts strong{font-size:26px}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:25px}.project{grid-template-columns:1fr;gap:25px;padding:30px 0}.project:nth-child(even) .project-visual{order:0}.project-visual{min-height:260px}.project h3{font-size:30px}.footer-bottom{align-items:start;gap:20px;flex-wrap:wrap}.footer-bottom p{order:3;width:100%}dialog{padding:40px 24px}.faq{padding-top:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand span{display:block;font:10px "DM Sans",sans-serif;letter-spacing:3px;margin:4px 0 0;text-transform:uppercase}.profile-link{display:inline-block;margin-top:20px;color:var(--teal);border-bottom:1px solid var(--teal)}.contact-intro{color:var(--muted);margin-bottom:20px}.contact-link{margin-bottom:45px}footer h2{margin-bottom:35px}
.contact-section{background:#1d2521}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:8%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;font-size:12px;color:var(--muted);margin-bottom:22px}form input,form textarea{display:block;width:100%;background:#161e19;color:var(--ink);border:1px solid #47574c;border-radius:5px;padding:15px;font:14px "DM Sans",sans-serif;margin-top:9px}form textarea{resize:vertical}form .pill{border:0}.form-note,#contact-feedback{font-size:12px;line-height:1.8;color:var(--muted);margin-top:15px}.contact-details>div{padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.contact-details span{display:block;font-size:10px;letter-spacing:2px;color:var(--teal);margin-bottom:12px}.contact-details a,.contact-details p{font-size:17px;line-height:1.8;overflow-wrap:anywhere}.contact-details small{color:var(--muted);font-size:12px}@media(max-width:700px){.contact-grid,.form-row{grid-template-columns:1fr}.contact-details{margin-top:35px}.form-row{gap:0}nav a{padding:8px 9px}}

.reference-faq{background:#1e1e1e;padding:100px 6%;grid-template-columns:1fr 1fr;gap:5%;align-items:start}.reference-faq h2{font-family:"DM Sans",sans-serif;font-size:clamp(39px,4.6vw,76px);font-weight:700;line-height:1.08;letter-spacing:-1.5px;color:#218c78;-webkit-text-stroke:1.5px #f4fff9;text-shadow:0 0 35px #168b7450;margin:0 0 44px}.faq-query{padding:32px;border:1px solid #218e7b;border-radius:15px;background:#1c342f}.faq-query h3{font-size:24px;font-weight:700;line-height:1.3;margin-bottom:23px}.faq-query p{font-size:15px;line-height:1.9;color:#fff;margin-bottom:25px}.faq-query .pill{background:#218e7b;color:white;justify-content:center;padding:14px 32px;border-radius:35px}.faq-accordion{display:flex;flex-direction:column;gap:17px}.reference-faq .faq-item{padding:0;border:1px solid #218e7b;border-radius:3px;background:#1c433b;overflow:hidden}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:24px;font-size:17px;line-height:1.5;font-weight:700;color:white;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-toggle{position:relative;flex-shrink:0;width:20px;height:20px}.faq-toggle:before,.faq-toggle:after{content:"";position:absolute;background:#fff;border-radius:2px;left:1px;top:9px;width:18px;height:2px}.faq-toggle:after{transform:rotate(90deg)}.faq-item[open] .faq-toggle:after{display:none}.reference-faq .faq-item p{margin:0;padding:20px 24px 25px;border-top:1px solid #218e7b;color:#fff;font-size:15px;line-height:1.9}.faq-item summary:hover{background:#245347}.faq-item summary:focus-visible{outline-offset:-4px}@media(max-width:700px){.reference-faq{grid-template-columns:1fr;padding:65px 6%;gap:30px}.reference-faq h2{font-size:clamp(37px,9vw,60px);margin-bottom:28px}.faq-query{padding:24px}.faq-query h3{font-size:22px}.faq-item summary{font-size:15px;padding:20px}.reference-faq .faq-item p{padding:18px 20px;font-size:14px}}

.skills-section{background:#1e1e1e}.skills-heading{text-align:center;margin-bottom:65px}.skills-heading h2{font-family:"DM Sans",sans-serif;font-weight:700;font-size:clamp(42px,5vw,76px);letter-spacing:-1px;color:#218c78;-webkit-text-stroke:1.5px #f4fff9;text-shadow:0 0 35px #168b7450;margin:0 0 28px}.skills-heading p{max-width:850px;margin:auto;color:#b7bfbb;line-height:1.8;font-size:17px}.skill-group{padding:0;border-bottom:1px solid #2b443b}.skill-group summary{display:flex;align-items:center;gap:22px;list-style:none;padding:29px 6px;cursor:pointer}.skill-group summary::-webkit-details-marker{display:none}.skill-number{font-size:17px;color:#299d86;font-weight:700}.skill-group h3{font-size:clamp(21px,2.7vw,38px);font-weight:700;line-height:1.3;flex:1}.skill-count{font-size:13px;color:#a5aaa7;white-space:nowrap}.skill-group .faq-toggle{border:1px solid #315347;border-radius:50%;width:30px;height:30px}.skill-group .faq-toggle:before,.skill-group .faq-toggle:after{background:#69d9b1;width:12px;top:13px;left:8px}.skill-group[open] .faq-toggle:after{display:none}.skill-content{padding:0 45px 30px}.skill-content p{color:#b7bfbb;font-size:15px;line-height:1.8;margin:0 0 20px}.skill-tags{display:flex;flex-wrap:wrap;gap:10px}.skill-tags span{padding:10px 17px;border:1px solid #315b4c;border-radius:30px;background:#1c342b;color:#d3eee1;font-size:13px}@media(max-width:700px){.skills-heading{margin-bottom:35px}.skills-heading p{font-size:14px}.skill-group summary{gap:12px;padding:24px 0}.skill-number{font-size:13px}.skill-count{display:none}.skill-content{padding:0 0 25px}.skill-tags span{font-size:12px;padding:9px 12px}}

#project-list{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;scrollbar-width:thin;scrollbar-color:#398e73 #18251e;padding:3px 2px 24px;overscroll-behavior-x:contain}#project-list .project{display:flex;flex-direction:column;flex:0 0 calc((100% - 28px)/2);min-width:0;align-items:stretch;gap:0;padding:0;border:1px solid #3a4d41;background:#17221b;border-radius:10px;overflow:hidden;scroll-snap-align:start}#project-list .project-visual{order:0;min-height:260px;border-radius:0;padding:30px}#project-list .project>div:last-child{padding:27px;display:flex;flex-direction:column;flex:1}#project-list .project h3{font-size:29px;min-height:67px}#project-list .project .text-button{align-self:flex-start;margin-top:auto}#project-list .project .tags{margin-bottom:25px}.project-controls{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:20px}.project-controls p{font-size:12px;color:var(--muted)}.project-controls p span{color:var(--teal);margin-left:10px}.project-controls>div{display:flex;gap:12px}.project-controls button{border:1px solid #438b71;background:#1c3e2e;color:#b6efd4;border-radius:50%;width:48px;height:48px;font-size:23px}.project-controls button:hover:not(:disabled){background:var(--teal);color:#15251d}.project-controls button:disabled{opacity:.3;cursor:default}@media(min-width:1500px){#project-list .project{flex-basis:calc((100% - 56px)/3)}}@media(max-width:700px){#project-list{gap:16px}#project-list .project{flex-basis:90%}#project-list .project-visual{min-height:230px;padding:20px}#project-list .project>div:last-child{padding:22px}#project-list .project h3{font-size:25px;min-height:58px}.project-controls p{font-size:11px}}
.project-technologies{margin-top:20px!important}.project-technologies strong{color:var(--ink)}
.stack-note{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:8px}

.technical-section{background:#17221c}.technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.technical-grid article{padding:27px;border:1px solid #355143;border-radius:10px;background:#1b2c23}.technical-grid article>span{font-size:11px;letter-spacing:2px;color:var(--teal)}.technical-grid h3{font-size:21px;margin:15px 0 12px;font-weight:500}.technical-grid p{font-size:14px;line-height:1.8;color:var(--muted)}.technical-note{color:var(--muted);font-size:12px;line-height:1.8;margin-top:25px}@media(max-width:700px){.technical-grid{grid-template-columns:1fr}.technical-grid article{padding:23px}}
