@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
:root{--orange:#FF5C00;--bright:#FF9000;--deep:#DD2C00;--ink:#1B1B1B;--muted:#4A4A4A;--paper:#F8F9FA;--dark:#1A1A1A;--card:#2A2A2A;--gradient:linear-gradient(90deg,#FF9000 0%,#FF5C00 50%,#DD2C00 100%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'Poppins',sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.8}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--bright);outline-offset:5px}::selection{background:#ff9000;color:#1b1b1b}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:white}.skip:focus{top:10px}.topbar{position:sticky;top:0;z-index:40;background:rgba(26,26,26,.96);color:white;border-bottom:1px solid #ffffff18;backdrop-filter:blur(20px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}.brand{font-size:20px;font-weight:700;letter-spacing:-.8px;white-space:nowrap}.brand span{color:var(--orange)}.brand small{display:block;font-size:8px;letter-spacing:2.4px;color:#ccc;font-weight:400;margin-top:-5px}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{font-size:12px;font-weight:500;padding:12px 0;position:relative}.nav-links a:not(.button):after{content:'';position:absolute;bottom:5px;left:0;width:0;height:2px;background:var(--orange);transition:width .25s}.nav-links a[aria-current=page]:after,.nav-links a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 24px;min-height:48px;line-height:1.5;border-radius:8px;font-size:12px;font-weight:600;border:1px solid transparent;color:#fff;background:var(--gradient);box-shadow:0 8px 24px #ff5c0020;transition:box-shadow .25s,transform .25s}.button:hover{box-shadow:0 12px 30px #ff5c0040;transform:translateY(-2px)}.nav-links .button{padding:12px 20px}.button.outline{background:transparent;color:inherit;border-color:#ffffff44;box-shadow:none}.button.outline.light{border-color:#1b1b1b30}.button.text{background:none;color:var(--ink);box-shadow:none;padding:0;border-radius:0}.menu-toggle{display:none;background:transparent;color:white;border:1px solid #ffffff40;border-radius:8px;padding:9px 13px;min-width:48px;min-height:44px}.hero{color:white;background:var(--dark);position:relative;overflow:hidden}.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;padding-top:65px;padding-bottom:80px;min-height:730px}.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}.orb{position:absolute;width:420px;height:420px;filter:blur(110px);background:#ff5c0020;top:5%;right:-60px;animation:drift 12s ease-in-out infinite alternate;pointer-events:none}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin:0 0 22px}.eyebrow:before{content:'';width:26px;height:2px;background:var(--orange)}.hero .eyebrow{color:#ddd}.hero h1{font-size:clamp(38px,4vw,58px);line-height:1.16;letter-spacing:-2.6px;margin:0 0 26px;font-weight:600}.accent{color:var(--orange)}.hero h1 .accent{color:var(--bright)}.intro{color:#c7c7c7;font-size:13px;line-height:1.9;max-width:480px}.hero-name{font-size:16px;color:#fff;margin:22px 0 0;font-weight:600}.hero-role{font-size:10px;color:#aaa;margin:4px 0 26px;letter-spacing:.1px}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.portrait-area{position:relative;padding:18px 18px 26px 0}.portrait-frame{position:relative;border-radius:120px 24px 24px 24px;overflow:hidden;border:1px solid #ffffff24;aspect-ratio:4/4.8;box-shadow:0 40px 70px #0006}.portrait-frame img{height:100%;width:100%;object-fit:cover;object-position:center;transition:transform .8s}.portrait-area:before{content:'';position:absolute;inset:0 0 42px 30px;border:1px solid #ff900077;border-radius:120px 24px 24px 24px;transform:rotate(5deg)}.portrait-label{position:absolute;right:0;bottom:5px;background:#2a2a2aec;border:1px solid #ffffff25;box-shadow:0 15px 40px #0004;border-radius:12px;padding:17px 24px;backdrop-filter:blur(12px);font-size:11px;display:flex;align-items:center;gap:14px}.portrait-label strong{display:block;font-size:13px}.portrait-label span.icon{color:var(--bright);font-size:25px}.float-box{position:absolute;right:-8px;top:50px;border:1px solid #ff900055;width:58px;height:58px;border-radius:15px;display:grid;place-items:center;color:var(--bright);background:#1a1a1a;animation:drift 5s ease-in-out infinite alternate;font-size:18px}.section{padding:96px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section h2,.page-heading h1{font-size:clamp(30px,3vw,42px);font-weight:600;line-height:1.25;letter-spacing:-1.5px;margin:0}.section-head p{max-width:355px;color:var(--muted);font-size:12px;margin:0}.section .eyebrow{color:var(--muted);margin-bottom:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid #e8e8e8;border-radius:16px;background:white;padding:33px;position:relative;transition:border-color .3s,box-shadow .3s;transform-style:preserve-3d}.service-card:hover{border-color:#ff5c0060;box-shadow:0 20px 45px #ff5c000d}.card-number{color:#a8a8a8;font-size:10px;letter-spacing:2px;float:right}.service-icon{color:var(--orange);width:48px;height:48px;background:#fff0e5;border-radius:13px;display:grid;place-items:center;font-size:20px;margin-bottom:30px}.service-card h3{font-size:18px;font-weight:600;letter-spacing:-.5px;line-height:1.45;margin:0 0 14px}.service-card p{font-size:12px;color:var(--muted);margin:0 0 23px}.arrow-link{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:20px}.arrow-link span{color:var(--orange);transition:transform .3s}.arrow-link:hover span{transform:translateX(5px)}.dark-section{background:var(--dark);color:white}.dark-section .eyebrow{color:#aaa}.dark-section .section-head p{color:#bdbdbd}.dark-section .button.text{color:white}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{min-width:0;position:relative;border-radius:15px;overflow:hidden;background:var(--card);border:1px solid #ffffff14;transition:border-color .3s,box-shadow .3s}.project-card:hover{border-color:#ff5c0066;box-shadow:0 15px 40px #0003}.project-preview{height:230px;position:relative;overflow:hidden;background:#f0f0f0;display:block;padding:0;width:100%;border:0}.project-preview img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s}.project-preview:hover img{transform:scale(1.045)}.project-preview:after{content:'↗';position:absolute;right:14px;bottom:14px;background:#1a1a1ae6;color:white;width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.project-preview.harvestlink img,.project-preview.construction img{object-fit:contain;background:#f8f9fa}.project-body{padding:25px}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#bdbdbd;font-size:9px;letter-spacing:1px;text-transform:uppercase;margin-bottom:11px}.status{color:#ffc08c;letter-spacing:0;border:1px solid #ff900033;border-radius:30px;padding:3px 8px;font-size:8px;white-space:nowrap}.project-body h3{font-size:19px;font-weight:500;letter-spacing:-.5px;margin:0 0 12px}.project-body p{color:#c3c3c3;font-size:11px;margin-bottom:20px}.capabilities{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.cap-list{display:flex;flex-direction:column}.cap-row{padding:24px 0;border-bottom:1px solid #ddd;display:grid;grid-template-columns:45px 1fr 25px;align-items:center;gap:15px}.cap-row small{color:var(--orange);font-size:10px}.cap-row h3{font-size:17px;font-weight:500;margin:0}.cap-row p{font-size:11px;color:var(--muted);margin:5px 0 0}.cta{padding:66px 0;background:var(--gradient);color:white}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-size:36px;letter-spacing:-1px;margin:0 0 8px;line-height:1.25;font-weight:600}.cta p{font-size:12px;margin:0}.cta .button{background:#1a1a1a;white-space:nowrap}.footer{padding:42px 0 24px;background:#1a1a1a;color:white}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:30px}.footer-top p{font-size:11px;color:#aaa;margin:12px 0}.footer a.email{font-size:14px;border-bottom:1px solid #ff5c00}.footer-bottom{border-top:1px solid #ffffff18;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#aaa}.footer-links{display:flex;gap:20px}.page-heading{background:var(--dark);color:#fff;padding:75px 0 80px;position:relative;overflow:hidden}.page-heading:after{content:'';position:absolute;right:-70px;top:-80px;width:360px;height:360px;border:1px solid #ff90002e;border-radius:50%;box-shadow:0 0 0 50px #ff900005,0 0 0 100px #ff900004;pointer-events:none}.page-heading h1{font-size:clamp(38px,4.5vw,60px);max-width:780px;position:relative;z-index:1}.page-heading p{font-size:13px;color:#bbb;max-width:660px;margin:22px 0 0}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.about-photo{border-radius:70px 16px 16px 16px;max-height:550px;width:100%;object-fit:cover}.prose p{font-size:13px;color:var(--muted)}.prose h2{margin-bottom:25px}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.timeline div{padding:22px;border-left:2px solid var(--orange);background:white;border-radius:0 10px 10px 0}.timeline strong{font-size:18px}.timeline p{font-size:11px;margin:6px 0 0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.process-item{border-top:1px solid #ffffff26;padding-top:22px}.process-item span{color:var(--bright);font-size:11px}.process-item h3{font-size:17px;font-weight:500}.process-item p{font-size:12px;color:#bbb}.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.chip{border:1px solid #ddd;padding:12px 20px;border-radius:8px;font-size:12px;background:white;transition:border-color .3s}.chip:hover{border-color:var(--orange)}.services-detail{display:grid;grid-template-columns:1fr 1fr;gap:28px}.services-detail .service-card{padding:38px}.services-detail ul{font-size:12px;color:var(--muted);display:grid;grid-template-columns:1fr 1fr;gap:9px 28px;padding-left:18px;margin:20px 0}.best-for{font-size:11px!important;border-top:1px solid #eee;padding-top:20px}.note{padding:16px 20px;background:#fff0e5;border:1px solid #ff5c0025;border-radius:10px;font-size:11px;color:var(--muted);margin-top:28px}.case-study{padding:50px 0;border-bottom:1px solid #ddd;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;scroll-margin-top:110px}.case-study:first-child{padding-top:0}.case-study:last-child{border-bottom:0;padding-bottom:0}.case-image{display:block;background:white;border:1px solid #ddd;border-radius:14px;overflow:hidden;padding:0;width:100%;height:330px;position:relative}.case-image img{width:100%;height:100%;object-fit:contain}.case-image.palate img{object-fit:cover;object-position:top}.case-image:after{content:'Open screenshot ↗';position:absolute;bottom:15px;right:15px;color:white;background:#1a1a1a;padding:7px 13px;font-size:10px;border-radius:6px}.case-info h2{font-size:29px}.case-info p{font-size:12px;color:var(--muted)}.case-info .status{color:#a53900;background:#fff0e5}.case-label{display:flex;gap:10px;align-items:center;margin-bottom:15px;font-size:10px;color:var(--muted);flex-wrap:wrap}.case-info dl{display:grid;grid-template-columns:70px 1fr;font-size:11px;gap:7px;margin:20px 0}.case-info dt{font-weight:600}.case-info dd{margin:0;color:var(--muted)}.feature-pills{display:flex;gap:7px;flex-wrap:wrap}.feature-pills span{font-size:9px;background:white;border:1px solid #ddd;padding:5px 10px;border-radius:6px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-bar button{background:transparent;border:1px solid #ffffff30;color:white;padding:10px 17px;border-radius:30px;font-size:11px}.filter-bar button[aria-pressed=true]{background:var(--orange);border-color:var(--orange)}[hidden]{display:none!important}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-card{border:1px solid #ffffff20;border-radius:12px;overflow:hidden;background:#2a2a2a}.gallery-card .project-body h3{font-size:17px}.gallery-card .project-preview{height:190px}.missing-media{padding:32px 25px;background:linear-gradient(140deg,#2a2a2a,#1a1a1a);min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#ccc;text-align:center;font-size:11px;border-bottom:1px solid #ffffff15}.missing-media b{font-size:30px;color:var(--orange);font-weight:400}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-copy h2{font-size:32px}.contact-copy p{font-size:13px;color:var(--muted)}.contact-email{display:inline-block;font-size:16px;color:var(--orange);overflow-wrap:anywhere;margin-top:24px}.contact-detail{margin-top:32px;border-top:1px solid #ddd;padding-top:25px;font-size:11px;color:var(--muted)}.form-card{padding:35px;border:1px solid #e6e6e6;background:white;border-radius:16px;box-shadow:0 20px 50px #00000006}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:11px;font-weight:500;display:block;margin:0 0 7px}input,select,textarea{width:100%;padding:13px 15px;background:#f8f9fa;border:1px solid #ddd;border-radius:7px;color:var(--ink);font-size:12px}textarea{resize:vertical;min-height:150px}.field{margin-bottom:22px}.form-card .button{width:100%}.form-card .button:disabled{opacity:.65;cursor:wait}.form-hint{font-size:10px;color:var(--muted);line-height:1.7}.form-status{font-size:12px;line-height:1.7;color:#a53900;margin-top:15px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.thank-card{max-width:720px;margin:auto;text-align:center;border:1px solid #ddd;padding:60px 45px;background:white;border-radius:20px}.thank-card .check{margin:0 auto 25px;width:65px;height:65px;background:#fff0e5;color:var(--orange);border-radius:50%;display:grid;place-items:center;font-size:27px}.thank-card h1{font-size:34px;line-height:1.3;letter-spacing:-1px}.thank-card p{font-size:13px;color:var(--muted)}.thank-card .actions{justify-content:center;margin-top:30px}.lightbox{border:1px solid #ffffff30;border-radius:15px;padding:0;background:#1a1a1a;color:white;width:min(1100px,calc(100% - 32px));max-height:92vh}.lightbox::backdrop{background:#000c;backdrop-filter:blur(6px)}.lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid #ffffff20;position:sticky;top:0;background:#1a1a1a;z-index:1}.lightbox-header h2{font-size:13px;margin:0}.lightbox-close{border:1px solid #ffffff40;background:transparent;color:white;width:44px;height:44px;border-radius:8px;font-size:20px}.lightbox img{width:100%;height:auto;background:white}.cursor{position:fixed;top:0;left:0;width:22px;height:22px;border:1px solid #ff9000;box-shadow:0 0 13px #ff5c0040;border-radius:50%;pointer-events:none;z-index:99;opacity:0;transition:width .2s,height .2s,border-color .2s}.cursor.hover{width:40px;height:40px;background:#ff900018}.trail{position:fixed;left:0;top:0;width:4px;height:4px;background:var(--orange);border-radius:50%;pointer-events:none;z-index:98;animation:trail .5s forwards}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s,transform .65s}.js-motion .reveal.visible{opacity:1;transform:none}.back-top{position:fixed;right:20px;bottom:20px;width:42px;height:42px;display:grid;place-items:center;background:#1a1a1a;color:white;border:1px solid #ffffff30;border-radius:9px;z-index:25;box-shadow:0 5px 15px #0002;font-size:18px}.divider-note{font-size:10px;color:#bbb;margin-top:28px}.empty-state{padding:30px;border:1px dashed #ffffff30;border-radius:10px;color:#bbb;font-size:12px}
@keyframes drift{from{transform:translateY(-9px) rotate(-4deg)}to{transform:translateY(10px) rotate(4deg)}}@keyframes trail{to{opacity:0;transform:scale(.1)}}
@media(min-width:1400px){.hero .wrap{min-height:780px}}
@media(max-width:1024px){.wrap{width:calc(100% - 48px)}.nav-links{gap:18px}.hero .wrap{gap:35px;min-height:680px}.hero h1{font-size:44px}.service-card{padding:25px}.project-preview{height:185px}.project-meta{flex-wrap:wrap}.capabilities,.about-grid,.contact-grid{gap:40px}.case-study{gap:30px}.services-detail ul{grid-template-columns:1fr}.nav-links .button{display:none}.hero-role{max-width:350px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav-inner{min-height:72px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;padding:18px 20px 25px;background:#1a1a1a;border-bottom:1px solid #ffffff20;flex-direction:column;align-items:stretch;gap:2px}.nav-links.open{display:flex}.nav-links a{padding:12px}.nav-links .button{display:flex;margin-top:10px}.hero .wrap{grid-template-columns:1fr;padding-top:45px;padding-bottom:65px;gap:42px;min-height:0}.hero h1{font-size:42px;letter-spacing:-1.8px;max-width:520px}.hero .intro{font-size:12px}.portrait-area{width:min(100%,420px);margin:auto;padding-right:18px}.portrait-frame{aspect-ratio:4/4.4}.float-box{right:0}.section{padding:65px 0}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:20px}.section-head .button{margin-top:24px}.service-grid,.project-grid,.gallery-grid,.process-grid{grid-template-columns:1fr}.service-card{padding:28px}.project-preview{height:250px}.project-body{padding:25px}.project-meta{flex-wrap:nowrap}.project-grid{gap:25px}.capabilities,.about-grid,.contact-grid,.services-detail,.case-study{grid-template-columns:1fr;gap:35px}.cta .wrap{flex-direction:column;align-items:start;gap:26px}.cta h2{font-size:31px}.footer-top,.footer-bottom{flex-direction:column;align-items:start;gap:18px}.page-heading{padding:55px 0 65px}.page-heading h1{font-size:40px;letter-spacing:-1.6px}.about-photo{max-height:470px;object-position:center}.timeline{grid-template-columns:1fr 1fr;gap:12px}.timeline div{padding:18px}.services-detail .service-card{padding:28px}.services-detail ul{grid-template-columns:1fr 1fr}.case-image{height:260px}.case-study{padding:38px 0}.form-card{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.thank-card{padding:40px 23px}.thank-card h1{font-size:29px}.cursor,.trail{display:none}.cap-row h3{font-size:15px}}
@media(max-width:380px){.hero h1{font-size:36px}.hero .actions{align-items:stretch}.hero .actions .button{width:100%}.services-detail ul{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.project-meta{flex-wrap:wrap}.footer-links{gap:12px;flex-wrap:wrap}.contact-email{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.cursor,.trail{display:none}.hero canvas{display:none}.float-box{transform:none}}

/* V3: visibly framed project screenshots, with stronger hover depth. */
.project-card,.gallery-card{overflow:visible;background:linear-gradient(145deg,#34302b,#222);border:1px solid #ff90005c;box-shadow:0 0 20px #ff5c0018,0 18px 35px #0003;transition:border-color .4s,box-shadow .4s}
.project-card:hover,.gallery-card:hover{border-color:#ff9000;box-shadow:0 0 28px #ff5c0033,0 22px 45px #0004}
.project-preview,.case-image{isolation:isolate;transform-origin:center;padding:10px;background:linear-gradient(135deg,#3a281c,#171717);border:1px solid #ff9000a8;border-radius:16px;box-shadow:0 0 0 1px #ff5c0025,0 0 22px #ff5c002b,0 12px 24px #0003;transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
.project-preview{width:calc(100% - 24px);margin:12px 12px 0}
.case-image{padding:12px}
.project-preview img,.case-image img{border-radius:9px;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.project-preview::before,.case-image::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:1;pointer-events:none;opacity:.65;border:1px solid #ffb65a;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,0%),#ff900040 0%,#ff5c0015 25%,transparent 62%);box-shadow:inset 0 0 22px #ff5c0033;transition:opacity .4s ease}
.project-preview::after,.case-image::after{z-index:2}
.project-preview:focus-visible,.case-image:focus-visible{box-shadow:0 0 0 2px #ff9000,0 0 40px #ff5c0059}
.project-preview:focus-visible::before,.case-image:focus-visible::before{opacity:1}
@media(hover:hover) and (pointer:fine){
 .project-preview:hover,.case-image:hover{position:relative;z-index:3;border-color:#ffbf6f;box-shadow:0 0 0 2px #ff9000c4,0 0 44px #ff5c0066,0 24px 48px #0005}
 .project-preview:hover::before,.case-image:hover::before{opacity:1}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .project-preview:hover,.case-image:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-7px)}
 .project-preview:hover img,.case-image:hover img{transform:scale(1.075)}
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
 .project-preview:hover,.case-image:hover,.project-preview:hover img,.case-image:hover img{transform:none}
}

/* V4: sculpted glass project cards, matching the visual concept. */
#selected-work{background:#080808;position:relative;overflow:hidden}
#selected-work .project-grid{padding:25px 10px 50px;gap:26px;position:relative;isolation:isolate}
#selected-work .project-grid::before{content:'';position:absolute;left:10%;right:10%;bottom:12px;height:65px;background:radial-gradient(ellipse,#ff5c0080,transparent 68%);filter:blur(22px);pointer-events:none;z-index:-1}
.project-card,.gallery-card{isolation:isolate;position:relative;background:linear-gradient(145deg,#ffffff0c,transparent 38%),linear-gradient(20deg,#ff5c0008,#141414d9 28%,#101010ed);border:1px solid #ffffff8c;border-radius:25px;box-shadow:inset 1px 1px 3px #ffffff40,inset -2px -2px 5px #ffffff12,6px 3px 0 -2px #ffffff18,0 25px 45px #0009;backdrop-filter:blur(14px);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s}
.project-card::before,.gallery-card::before{content:'';position:absolute;inset:-5px -6px -5px -3px;border:1px solid #ffffff45;border-radius:29px;z-index:-1;pointer-events:none;transition:border-color .4s}
.project-card::after,.gallery-card::after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--light-x,80%) var(--light-y,10%),#ff900042,transparent 46%);box-shadow:inset 0 0 40px #ff90001f;transition:opacity .4s}
.project-card .project-preview,.gallery-card .project-preview{width:calc(100% - 34px);margin:24px 17px 0;height:290px;padding:0;border:1px solid #ffffff50;border-radius:13px;box-shadow:0 8px 20px #0005;background:#fff;transform:none!important}
.project-card .project-preview::before,.gallery-card .project-preview::before{display:none}
.project-card .project-preview img,.gallery-card .project-preview img{border-radius:12px}
.project-card .project-body{padding:29px 26px 32px}
.project-card .project-body h3{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.7px}
.project-card:hover,.gallery-card:hover,.project-card:focus-within,.gallery-card:focus-within{border-color:#ffd5a0;box-shadow:inset 0 0 0 1px #ff9000,0 0 5px #ffcb7a,0 0 30px #ff5c005c,0 0 65px #ff5c0029,0 30px 50px #000a}
.project-card:hover::before,.gallery-card:hover::before,.project-card:focus-within::before,.gallery-card:focus-within::before{border-color:#ff9000b3}
.project-card:hover::after,.gallery-card:hover::after{opacity:1}
@media(min-width:900px) and (prefers-reduced-motion:no-preference){
 .project-grid .project-card.reveal.visible:nth-child(1){transform:perspective(1100px) rotateY(9deg) translateY(15px)}
 .project-grid .project-card.reveal.visible:nth-child(2){transform:perspective(1100px) scale(1.035) translateY(-12px);border-color:#ffd2a0;box-shadow:inset 0 0 0 1px #ff9000,0 0 5px #ffcf80,0 0 26px #ff5c0059,0 25px 45px #0009}
 .project-grid .project-card.reveal.visible:nth-child(2)::before{border-color:#ff9000b3}
 .project-grid .project-card.reveal.visible:nth-child(3){transform:perspective(1100px) rotateY(-9deg) translateY(15px)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .project-grid .project-card.reveal.visible:hover,.gallery-card:hover{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-14px) scale(1.035);z-index:5}
 .project-card:hover .project-preview img,.gallery-card:hover .project-preview img{transform:scale(1.075)}
}
@media(max-width:899px){
 .project-card .project-preview{height:240px}
 .project-card .project-body h3{font-size:21px}
 #selected-work .project-grid{padding:15px 5px 30px}
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
 .project-card:hover .project-preview img,.gallery-card:hover .project-preview img{transform:none}
}

/* Supplied commercial: native playback controls and original 16:9 proportions. */
.video-frame{margin:17px 17px 0;border:1px solid #ff900070;border-radius:13px;overflow:hidden;background:#000}
.video-frame video{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:contain;background:#000}
.video-card:hover{transform:none!important}
.video-card .project-body{padding:24px}
.video-error{color:#ffc08c!important;font-size:11px!important}

/* Hosted project inquiry form */
.ghl-form-card{padding:0;min-width:0;overflow:hidden}
.ghl-inquiry-form{display:block;width:100%;height:800px;border:0;border-radius:10px;background:white}
@media(max-width:760px){.ghl-form-card{padding:0}.ghl-inquiry-form{height:900px}}

/* Supplied WiseCore HQ screenshot */
.hq-preview{background:#100e0a}
.hq-preview img{object-fit:cover;object-position:top}

/* Footer layout based on the supplied reference */
.portfolio-footer{padding:42px 0 18px;background:var(--dark);color:#fff}
.footer-wrap{width:min(1500px,calc(100% - 80px))}
.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;padding-bottom:56px}
.footer-identity{min-width:0}
.footer-name{display:inline-block;font-size:28px;line-height:1.35;letter-spacing:-.7px;font-weight:600}
.footer-founder{font-size:12px;color:var(--bright);margin:8px 0 12px}
.footer-description{font-size:13px;line-height:1.85;color:#c9c9c9;margin:0}
.footer-contact-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:24px;padding-top:2px}
.footer-contact-links a{display:inline-flex;align-items:center;gap:5px;color:var(--bright);font-size:13px;min-height:32px}
.footer-contact-links a:hover{color:white}
.footer-meta{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-top:1px solid #ff5c0066;padding-top:20px;font-size:11px;color:#c9c9c9}
.footer-location{text-align:center}
.footer-thank-link{justify-self:end;text-decoration:underline;text-underline-offset:5px}
.footer-thank-link:hover{color:var(--bright)}
@media(max-width:1024px){.footer-meta{grid-template-columns:1fr auto}.footer-location{grid-column:1/-1;grid-row:2;text-align:left}.footer-thank-link{grid-column:2;grid-row:1}}
@media(max-width:760px){.footer-wrap{width:calc(100% - 40px)}.footer-main{flex-direction:column;gap:22px;padding-bottom:30px}.footer-name{font-size:25px}.footer-contact-links{justify-content:flex-start;gap:20px;padding-top:0}.footer-contact-links a{min-height:44px}.footer-meta{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:10px}.footer-location{text-align:left}.footer-thank-link{min-height:44px;display:inline-flex;align-items:center}}

/* Services consultation and compact floating visitor badge */
.service-consult{background:#2a2a2a;color:white;text-align:center;padding:76px 0 80px}
.service-consult h2{font-size:clamp(30px,3.5vw,46px);font-weight:700;line-height:1.25;letter-spacing:-1.5px;margin:0 0 28px}
.service-consult p{color:#c9c9c9;font-size:15px;line-height:1.8;margin:0 auto 34px;max-width:760px}
.service-consult .button{background:var(--orange);color:#1b1b1b;font-size:13px;padding:16px 26px;min-height:52px}
.visitor-badge{position:fixed;right:20px;bottom:80px;z-index:24;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 12px;border:1px solid #ff90005c;border-radius:30px;background:#202020f2;box-shadow:0 6px 22px #0003;color:#fff;font-size:10px;line-height:1.4;white-space:nowrap;pointer-events:none;animation:visitor-float 5s ease-in-out infinite;will-change:transform}
.visitor-dot{width:5px;height:5px;border-radius:50%;background:var(--bright);box-shadow:0 0 8px #ff900080}
[data-visitor-count]{font-variant-numeric:tabular-nums;font-weight:600;color:var(--bright)}
@keyframes visitor-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:760px){.service-consult{padding:56px 0 60px}.service-consult h2{letter-spacing:-1px;margin-bottom:22px}.service-consult p{font-size:12px;margin-bottom:28px}.visitor-badge{right:14px;font-size:10px;padding:6px 10px;min-height:32px}}
@media(prefers-reduced-motion:reduce){.visitor-badge{animation:none;will-change:auto}}

/* Contact: supplied Let's connect layout */
.contact-links-section{background:var(--dark);color:white}
.contact-links-section .contact-grid{grid-template-columns:1.2fr .85fr;align-items:start;gap:70px}
.connect-panel{min-width:0;border-top:1px solid #ff5c0080;padding-top:24px}
.connect-panel .eyebrow{color:#bfbfbf;font-size:10px;letter-spacing:2.2px;margin-bottom:25px}
.connect-panel h2{font-size:30px;line-height:1.3;letter-spacing:-1px;margin:0 0 28px}
.connect-intro{color:#c7c7c7;font-size:12px;line-height:1.9;margin:0 0 28px}
.connect-links{margin:0}
.connect-links dt{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--bright);margin-bottom:2px;font-weight:500}
.connect-links dd{margin:0 0 18px;font-size:12px;line-height:1.7}
.connect-links a{display:inline-block;overflow-wrap:anywhere}
.connect-links a:hover{color:var(--bright)}
.connect-links a span{display:inline-block;margin-left:3px;color:var(--bright)}
.connect-location{margin:30px 0 0;font-size:12px;line-height:1.9;color:#c7c7c7}
@media(max-width:1024px){.contact-links-section .contact-grid{gap:38px;grid-template-columns:1.15fr .85fr}}
@media(max-width:760px){.contact-links-section .contact-grid{grid-template-columns:1fr;gap:40px}.connect-panel h2{font-size:28px}.connect-links a{padding:7px 0;min-height:40px}.connect-links dt{margin-bottom:0}.connect-links dd{margin-bottom:14px}}

/* V13: flowing orange network across the dark page sections. */
.motion-surface{position:relative;isolation:isolate}
.ambient-network{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none;opacity:.75}
.ambient-network svg{width:100%;height:100%;display:block;min-height:100%;opacity:.7}
.network-glow{position:absolute;inset:-10%;background:radial-gradient(ellipse at 75% 45%,#FF5C0024,transparent 48%),radial-gradient(ellipse at 15% 80%,#FF900012,transparent 42%);animation:network-glow-drift 18s ease-in-out infinite alternate}
.network-strands{fill:none;stroke:#FF9000;stroke-width:.8;opacity:.24;animation:network-wave 14s ease-in-out infinite alternate;transform-origin:center}
.network-flow{fill:none;stroke:#FF9000;stroke-width:2;stroke-linecap:round;stroke-dasharray:1 26;opacity:.65}
.network-flow path{animation:network-current 24s linear infinite;animation-delay:var(--flow-delay,0s)}
.network-nodes{fill:#FF9000}
.network-node{animation:network-pulse 5s ease-in-out infinite;animation-delay:var(--node-delay,0s)}
.node-halo{fill:#FF5C00;opacity:.12}
.portfolio-footer .ambient-network{opacity:.38}
.page-heading:after{opacity:.3}
.motion-paused .ambient-network *{animation-play-state:paused}
@keyframes network-current{to{stroke-dashoffset:-540}}
@keyframes network-wave{from{transform:translateY(-9px)}to{transform:translateY(9px)}}
@keyframes network-glow-drift{from{transform:translate(-2%,-1%)}to{transform:translate(3%,2%)}}
@keyframes network-pulse{0%,100%{opacity:.35}50%{opacity:1}}

/* Contact: one white section, plain connection details and the GHL form. */
.contact-page .page-heading{padding:52px 0 30px}
.contact-page .page-heading h1{font-size:clamp(36px,4vw,52px)}
.contact-page .page-heading p{margin-top:18px}
.contact-links-section{background:#FFFFFF;color:var(--ink);padding:56px 0 64px}
.contact-links-section .contact-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:70px}
.contact-links-section .form-card{background:#FFFFFF;border:1px solid #e6e6e6;border-radius:16px;box-shadow:0 18px 48px #00000008}
.connect-panel{color:var(--ink);padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.connect-panel .eyebrow{color:var(--muted);margin-bottom:20px}
.connect-panel h2{font-size:32px;margin-bottom:22px}
.connect-intro{color:var(--muted);font-size:13px;margin-bottom:30px}
.connect-links dt{color:#a53900;font-weight:600;margin:0 0 3px;font-size:10px}
.connect-links dd{margin:0 0 20px;font-size:14px}
.connect-links a{display:inline-block;overflow-wrap:anywhere;padding:2px 0;background:transparent;border:0;border-radius:0;box-shadow:none;transition:color .2s}
.connect-links a:hover{color:#a53900;text-decoration:underline;text-underline-offset:4px}
.connect-links a span{color:#a53900;margin-left:5px}
.connect-location{color:var(--muted);border-top:1px solid #e8e8e8;padding-top:20px;margin:28px 0 0;font-size:12px}
.footer-wrap{width:min(1180px,calc(100% - 80px))}
@media(max-width:1024px){.contact-links-section .contact-grid{gap:38px}.connect-panel h2{font-size:28px}.footer-wrap{width:calc(100% - 48px)}}
@media(max-width:760px){.ambient-network{opacity:.5}.network-flow{stroke-dasharray:1 38}.contact-page .page-heading{padding:38px 0 24px}.contact-page .page-heading h1{font-size:38px}.contact-links-section{padding:38px 0 48px}.contact-links-section .contact-grid{grid-template-columns:1fr;gap:32px}.connect-panel{padding:0}.connect-links a{min-height:44px;display:inline-flex;align-items:center}.footer-wrap{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){.ambient-network *{animation:none!important}}

/* Portrait motion: bounded tilt, gentle zoom and an orange edge light. */
.about-portrait{border-radius:70px 16px 16px 16px;overflow:hidden;border:1px solid transparent;min-width:0;background:#1a1a1a}
.about-portrait .about-photo{display:block;border-radius:0}
.portrait-hover{--portrait-x:0deg;--portrait-y:0deg;--portrait-lift:0px;--portrait-light-x:50%;--portrait-light-y:50%;position:relative;isolation:isolate;transform:perspective(1100px) rotateX(var(--portrait-x)) rotateY(var(--portrait-y)) translateY(var(--portrait-lift));transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .5s,opacity .75s}
.portrait-hover img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.portrait-hover:after{content:'';position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--portrait-light-x) var(--portrait-light-y),#ff900014,transparent 55%);box-shadow:inset 0 0 0 1px #ff900066,inset 0 0 26px #ff5c0019;transition:opacity .45s}
@media(hover:hover) and (pointer:fine){.portrait-hover.is-portrait-hovering{--portrait-lift:-4px;border-color:#ff900080;box-shadow:0 24px 55px #0004,0 0 25px #ff5c0026}.portrait-hover.is-portrait-hovering img{transform:scale(1.025)}.portrait-hover.is-portrait-hovering:after{opacity:1}}
@media(prefers-reduced-motion:reduce){.portrait-hover,.portrait-hover img{transform:none!important;transition:none!important}.portrait-hover:after{transition:none!important}}

/* Selected Work: real project cards move through an angled glass carousel. */
.project-carousel{position:relative;padding:10px 0 0;outline:none}
.project-carousel .carousel-controls{display:none}
.project-carousel.is-carousel-ready .carousel-controls{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:2px 0 10px}
#selected-work .project-carousel.is-carousel-ready .project-grid{display:block;position:relative;height:var(--carousel-stage-height,650px);padding:0;margin:0;perspective:1450px;transform-style:preserve-3d;touch-action:pan-y}
#selected-work .project-carousel.is-carousel-ready .project-grid:before{left:24%;right:24%;bottom:12px;height:90px;filter:blur(24px);z-index:0;opacity:.8;background:radial-gradient(ellipse,#ff900090,#ff5c0036 38%,transparent 70%)}
.project-carousel.is-carousel-ready .carousel-card{--card-shift:0%;--card-yaw:-8deg;--card-roll:-1deg;--card-scale:1;position:absolute;left:50%;top:50%;width:min(45%,420px);margin:0;z-index:3;opacity:1;border-radius:25px;border-color:#ffc56e;background:linear-gradient(135deg,#ff900012,transparent 35%),linear-gradient(20deg,#ff5c0014,#151515ee 40%,#101010f5);transform:translate(-50%,-50%) translateX(calc(var(--card-shift) + var(--carousel-drag,0px))) rotateY(var(--card-yaw)) rotateZ(var(--card-roll)) scale(var(--card-scale));box-shadow:inset 0 0 0 1px #ff9000,0 0 6px #ffc76c,0 0 35px #ff90005c,0 0 75px #ff5c0038,0 34px 60px #000b;transition:transform .85s cubic-bezier(.22,.7,.18,1),opacity .65s,border-color .65s,box-shadow .65s;backface-visibility:hidden}
.project-carousel.is-carousel-ready .carousel-card[data-position=left]{--card-shift:-78%;--card-yaw:34deg;--card-roll:1.5deg;--card-scale:.87;z-index:2;opacity:.68;border-color:#ffffff80;box-shadow:inset 1px 1px 4px #ffffff30,6px 2px 0 -2px #ffffff24,0 25px 45px #000a}
.project-carousel.is-carousel-ready .carousel-card[data-position=right]{--card-shift:78%;--card-yaw:-34deg;--card-roll:-1.5deg;--card-scale:.87;z-index:2;opacity:.68;border-color:#ffffff80;box-shadow:inset 1px 1px 4px #ffffff30,6px 2px 0 -2px #ffffff24,0 25px 45px #000a}
.project-carousel.is-carousel-ready .carousel-card:before{border-color:#ff9000a8}
.project-carousel.is-carousel-ready .carousel-card:not(.is-active):before{border-color:#ffffff50}
.project-carousel.is-carousel-ready .carousel-card:after{opacity:1;background:radial-gradient(circle at var(--light-x,80%) var(--light-y,15%),#ffb02448,transparent 52%);box-shadow:inset 0 0 45px #ff900019}
.project-carousel.is-carousel-ready .carousel-card:not(.is-active):after{opacity:.18}
.project-carousel.is-carousel-ready .carousel-card .project-preview{height:255px;margin-top:18px;border-color:#ffffff40}
.project-carousel.is-carousel-ready .carousel-card .project-body{padding:25px 24px 30px}
.project-carousel.is-carousel-ready .carousel-card .project-body p{font-size:12px;line-height:1.8}
.project-carousel.is-carousel-ready .carousel-card .project-body h3{font-size:24px}
.project-carousel.is-carousel-ready .carousel-card:not(.is-active) .project-preview img{transform:none!important}
.project-carousel.is-carousel-ready .carousel-card .project-preview:focus-visible{outline:2px solid #ff9000;outline-offset:4px}
.project-carousel.is-carousel-ready .is-dragging .carousel-card{transition:opacity .4s,border-color .4s,box-shadow .4s;cursor:grabbing}
.carousel-arrow,.carousel-pause{border:1px solid #ff900050;border-radius:100px;color:#ffbb70;background:#1a1a1a;font:inherit;cursor:pointer;transition:background .25s,border-color .25s}
.carousel-arrow{width:40px;height:40px;font-size:20px;display:grid;place-items:center}
.carousel-pause{height:36px;padding:0 15px;font-size:10px;letter-spacing:.3px}
.carousel-arrow:hover,.carousel-pause:hover{background:#ff90001c;border-color:#ff9000}
.carousel-pause:disabled{cursor:default;opacity:.55}
.carousel-dots{display:flex;align-items:center;gap:9px}
.carousel-dot{width:28px;height:30px;padding:0;display:grid;place-items:center;background:transparent;border:0;cursor:pointer}
.carousel-dot:before{content:'';width:7px;height:7px;border-radius:50%;background:#ffffff60;transition:width .4s,background .4s,box-shadow .4s}
.carousel-dot[aria-pressed=true]:before{width:23px;border-radius:8px;background:#ff9000;box-shadow:0 0 12px #ff900068}
.carousel-label{width:100%;text-align:center;color:#c2c2c2;font-size:10px;letter-spacing:.35px;margin:3px 0 0}
.carousel-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:899px){.project-carousel.is-carousel-ready .carousel-card{width:min(54%,390px)}.project-carousel.is-carousel-ready .carousel-card[data-position=left]{--card-shift:-66%}.project-carousel.is-carousel-ready .carousel-card[data-position=right]{--card-shift:66%}.project-carousel.is-carousel-ready .carousel-card .project-preview{height:230px}}
@media(max-width:600px){.project-carousel{margin-inline:-10px;padding-inline:10px;overflow:hidden}.project-carousel.is-carousel-ready .carousel-card{width:calc(100% - 44px);--card-yaw:-4deg;--card-roll:-.5deg}.project-carousel.is-carousel-ready .carousel-card[data-position=left]{--card-shift:-75%;--card-yaw:44deg;--card-scale:.82;opacity:.38}.project-carousel.is-carousel-ready .carousel-card[data-position=right]{--card-shift:75%;--card-yaw:-44deg;--card-scale:.82;opacity:.38}.project-carousel.is-carousel-ready .carousel-card .project-preview{height:210px}.project-carousel.is-carousel-ready .carousel-card .project-body{padding:23px 20px 26px}.project-carousel.is-carousel-ready .carousel-card .project-body h3{font-size:22px}.project-carousel.is-carousel-ready .carousel-card .project-meta{font-size:8px}.project-carousel.is-carousel-ready .carousel-card .project-body p{font-size:12px}.project-carousel .carousel-controls{gap:10px}#selected-work .project-carousel.is-carousel-ready .project-grid:before{left:10%;right:10%}}
@media(prefers-reduced-motion:reduce){.project-carousel.is-carousel-ready .carousel-card{transform:translate(-50%,-50%) translateX(var(--card-shift)) scale(var(--card-scale))!important;transition:none!important}.project-carousel.is-carousel-ready .carousel-card .project-preview img{transform:none!important}}

.case-image[data-project-live]::after{content:"Open website ↗"}
