:root{--canvas:#f3efe8;--paper:#fbfaf7;--ink:#11120f;--muted:#67675f;--line:#11120f29;--dark:#121411;--dark-soft:#1b1e1a;--dark-line:#ffffff24;--accent:#e95232;--accent-deep:#ca3f22;--max-width:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}html.dialog-open,body.menu-open{overflow:hidden}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:clip}a,button{color:inherit}a{cursor:pointer;text-decoration:none}button{font:inherit;cursor:pointer}img,svg{display:block}ul{margin:0;padding:0}::selection{color:#fff;background:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{z-index:1000;color:#fff;background:var(--ink);padding:12px 16px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(calc(100% - 64px), var(--max-width));margin-inline:auto}.site-header{z-index:100;width:100%;position:absolute;top:0;left:0}.nav-shell{width:min(calc(100% - 64px), var(--max-width));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;margin-inline:auto;display:flex}.logo{z-index:2;letter-spacing:-.06em;font-size:1.28rem;font-weight:900;position:relative}.logo span{color:var(--accent)}.primary-nav{align-items:center;gap:clamp(22px,3.4vw,50px);display:flex}.primary-nav a{letter-spacing:.08em;text-transform:uppercase;padding-block:14px;font-size:.76rem;font-weight:800;position:relative}.primary-nav a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .22s;position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0)}.primary-nav a:hover:after,.primary-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{background:0 0;border:0;min-width:44px;min-height:44px;padding:9px;display:none}.eyebrow{letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 26px;font-size:.71rem;font-weight:900;line-height:1.4;display:flex}.eyebrow:before{content:"";background:var(--accent);flex:0 0 30px;width:30px;height:2px}.eyebrow-on-dark{color:#c9cbc4}.button,.details-button,.dialog-close{letter-spacing:.075em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;min-height:50px;font-size:.74rem;font-weight:900;transition:color .22s,background .22s,border-color .22s,transform .22s;display:inline-flex}.button{gap:20px;padding:0 23px}.button svg,.text-link svg,.dialog-close svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .22s}.button:hover svg,.button:focus-visible svg,.text-link:hover svg,.text-link:focus-visible svg{transform:translate(3px,-3px)}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-dark,.button-light{color:#fff;background:var(--ink)}.button-dark:hover,.button-dark:focus-visible,.button-accent{color:var(--ink);background:var(--accent)}.button-accent:hover,.button-accent:focus-visible{color:#fff;background:var(--accent-deep)}.text-link{letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:10px;min-height:48px;padding:10px 0;font-size:.76rem;font-weight:900;display:inline-flex}.hero{background:linear-gradient(90deg, transparent calc(50% - 1px), #11120f0e 50%, transparent calc(50% + 1px)), var(--canvas);min-height:880px;padding-top:92px;position:relative;overflow:hidden}.hero:before{top:92px;right:max(32px, calc((100vw - var(--max-width)) / 2));content:"";background:var(--line);width:1px;position:absolute;bottom:0}.hero-grid{grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);align-items:center;min-height:700px;padding-top:42px;display:grid}.hero-copy{z-index:2;max-width:850px;padding:44px 34px 40px 0;position:relative}.hero h1{letter-spacing:-.07em;max-width:830px;margin:0;font-size:clamp(3.6rem,5.3vw,6rem);font-weight:800;line-height:.91}.hero h1 em{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-intro{color:#4f504a;max-width:680px;margin:34px 0 0;font-size:clamp(1rem,1.25vw,1.17rem);line-height:1.62}.hero-actions{align-items:center;gap:30px;margin-top:36px;display:flex}.portrait-stage{align-self:stretch;min-height:700px;position:relative}.portrait-orbit{aspect-ratio:1;background:var(--accent);border-radius:50%;width:min(35vw,485px);position:absolute;top:50%;left:52%;transform:translate(-50%,-45%)}.portrait-orbit:before,.portrait-orbit:after{border-radius:inherit;content:"";position:absolute}.portrait-orbit:before{border:1px solid #11120f52;inset:9%}.portrait-orbit:after{background:var(--ink);width:6px;height:6px;box-shadow:-180px 0 var(--ink), 180px 0 var(--ink), 0 -180px var(--ink), 0 180px var(--ink);inset:50%}.portrait-image{z-index:2;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 22px 20px #14110b24);width:min(34vw,445px);height:auto;position:absolute;bottom:-1px;right:0}.portrait-label{z-index:3;border:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3efe8d1;padding:10px 12px;font-size:.62rem;font-weight:900;position:absolute;top:104px;right:3px}.portrait-caption{z-index:3;border-left:2px solid var(--accent);color:#fff;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 12px #00000073;flex-direction:column;align-items:flex-end;gap:3px;padding:10px 0 10px 18px;font-size:.61rem;font-weight:900;display:flex;position:absolute;bottom:20px;right:0}.portrait-cross{z-index:1;width:28px;height:28px;position:absolute}.portrait-cross:before,.portrait-cross:after{content:"";background:var(--ink);position:absolute}.portrait-cross:before{width:28px;height:1px;top:13px;left:0}.portrait-cross:after{width:1px;height:28px;top:0;left:13px}.portrait-cross-a{top:176px;left:8px}.portrait-cross-b{bottom:178px;right:16px}.hero-foot{border-top:1px solid var(--line);min-height:88px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.64rem;font-weight:900;display:flex}.hero-scroll{align-items:center;gap:12px;display:flex}.hero-scroll i{background:var(--accent);width:38px;height:1px}.work-section{color:#f8f7f2;background:var(--dark);padding:132px 0 148px}.section-heading{grid-template-columns:.62fr 1.55fr .83fr;align-items:end;gap:34px;display:grid}.section-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(3.55rem,5.8vw,6.3rem);line-height:.9}.section-heading>p:last-child{color:#a4a69f;max-width:350px;margin:0 0 8px;font-size:.96rem;line-height:1.62}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:76px 34px;margin-top:84px;display:grid}.project-card{border:1px solid var(--dark-line);background:var(--dark-soft);flex-direction:column;min-width:0;height:100%;display:flex}.project-cover{border-bottom:1px solid var(--dark-line);background:#242820;min-width:0;display:block;overflow:hidden}.browser-bar{color:#9a9d95;letter-spacing:.045em;grid-template-columns:1fr auto 1fr;align-items:center;height:42px;padding:0 14px;font-size:.63rem;display:grid}.browser-bar>span:last-child{grid-column:2}.browser-dots{gap:6px;display:flex}.browser-dots i{background:#666a61;border-radius:50%;width:6px;height:6px}.browser-dots i:first-child{background:var(--accent)}.project-cover-viewport{aspect-ratio:16/10;background:#efeee9;position:relative;overflow:hidden}.project-cover-image{object-fit:cover;object-position:top center;transition:transform .65s cubic-bezier(.2,.65,.2,1),filter .25s}.project-cover:hover .project-cover-image,.project-cover:focus-visible .project-cover-image{filter:brightness(1.04);transform:scale(1.025)}.project-card-body{flex-direction:column;flex:1;padding:28px 28px 30px;display:flex}.project-card-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.project-number{color:#767a72;letter-spacing:.16em;margin:0;font-size:.7rem;font-weight:800}.project-badge{color:#1b150f;background:var(--accent);letter-spacing:.09em;text-transform:uppercase;width:fit-content;margin:0;padding:7px 9px;font-size:.58rem;font-weight:900;line-height:1.2}.project-category{color:#b4b7af;letter-spacing:.11em;text-transform:uppercase;margin:28px 0 14px;font-size:.69rem;font-weight:900;line-height:1.45}.project-card h3{letter-spacing:-.055em;min-height:2.12em;margin:0;font-size:clamp(2rem,3.2vw,3.3rem);line-height:.98}.project-summary{color:#b4b7af;margin:22px 0 0;font-size:.94rem;line-height:1.65}.technology-tags{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.project-card .technology-tags{margin-top:24px}.technology-tags li{color:#c7c9c2;border:1px solid #ffffff2e;padding:8px 10px;font-size:.64rem;font-weight:800;line-height:1.2}.project-card-actions{align-items:center;gap:12px;margin-top:auto;padding-top:30px;display:flex}.details-button{color:#fff;background:0 0;border-color:#5d6258;gap:18px;padding:0 17px}.details-button span{color:var(--accent);font-size:1.1rem;line-height:1}.details-button:hover,.details-button:focus-visible{color:var(--ink);border-color:var(--paper);background:var(--paper)}.project-dialog{width:min(1240px,100vw - 28px);max-width:none;height:min(92vh,980px);max-height:none;color:var(--ink);background:var(--paper);border:0;padding:0;overflow:auto;box-shadow:0 30px 100px #00000073}.project-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0c0acc}.case-study{padding:48px 52px 56px;position:relative}.dialog-close-wrap{z-index:5;justify-content:flex-end;height:0;display:flex;position:sticky;top:14px}.dialog-close{color:#fff;border-color:var(--dark);background:var(--dark);gap:10px;min-height:44px;padding:0 14px}.dialog-close:hover,.dialog-close:focus-visible{color:var(--ink);background:var(--accent)}.case-study-header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:36px;padding:42px 0 46px;display:grid}.case-study-kicker,.case-label{color:var(--accent-deep);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.65rem;font-weight:900;line-height:1.45}.project-badge-large{margin:18px 0 0}.case-study-header h2{letter-spacing:-.07em;max-width:920px;margin:18px 0 0;font-size:clamp(3rem,6.3vw,6.4rem);line-height:.88}.case-study-heading{color:var(--muted);margin:24px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2.2vw,2rem);font-style:italic;line-height:1.3}.project-disclaimer{border-left:4px solid var(--accent);background:#efe9df;margin:28px 0 0;padding:18px 20px;font-size:.9rem;line-height:1.55}.case-study-overview{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-study-overview section{border-bottom:1px solid var(--line);min-height:220px;padding:34px 34px 34px 0}.case-study-overview section:nth-child(odd){border-right:1px solid var(--line);padding-right:46px}.case-study-overview section:nth-child(2n){padding-left:46px}.case-study-overview section:nth-last-child(-n+2){border-bottom:0}.case-study-overview section>p:last-child{color:#45463f;margin:20px 0 0;font-size:1rem;line-height:1.68}.role-list,.feature-list{list-style:none}.role-list{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.role-list li{border:1px solid var(--line);color:#474840;padding:8px 10px;font-size:.72rem;font-weight:700}.case-study-columns{grid-template-columns:1.35fr .65fr;gap:70px;padding:48px 0;display:grid}.feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:18px;display:grid}.feature-list li{border-bottom:1px solid var(--line);color:#45463f;padding:13px 0 13px 19px;font-size:.88rem;line-height:1.45;position:relative}.feature-list li:before{content:"";background:var(--accent);width:6px;height:6px;position:absolute;top:20px;left:0}.technology-tags-light{margin-top:22px}.technology-tags-light li{color:#3c3d37;border-color:var(--line);background:#f1eee7}.case-study-gallery{color:#fff;background:var(--dark);margin-inline:-52px;padding:52px 0 44px}.gallery-heading{justify-content:space-between;align-items:end;gap:30px;padding:0 52px;display:flex}.gallery-heading h3{letter-spacing:-.06em;margin:10px 0 0;font-size:clamp(2.6rem,5vw,5rem);line-height:.95}.gallery-heading>p{color:#9ea199;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:800}.gallery-track{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-color:var(--accent) #363a33;scrollbar-width:thin;grid-auto-columns:min(78%,900px);grid-auto-flow:column;gap:20px;margin-top:34px;padding:0 52px 18px;scroll-padding-inline:52px;display:grid;overflow-x:auto}.gallery-slide{scroll-snap-align:start;min-width:0;margin:0}.gallery-image-wrap{border:1px solid var(--dark-line);background:#e9e7e1;place-items:center;min-height:420px;display:grid;overflow:hidden}.gallery-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:66vh}.gallery-slide figcaption{color:#c3c5bf;letter-spacing:.09em;text-transform:uppercase;margin-top:12px;font-size:.7rem;font-weight:800}.case-study-footer{justify-content:space-between;align-items:center;gap:30px;padding-top:42px;display:flex}.case-study-footer p{letter-spacing:-.04em;margin:0;font-size:clamp(1.45rem,3vw,2.7rem);font-weight:800}.skills-section{background:var(--paper);padding:132px 0 138px}.skills-heading>p:last-child{color:var(--muted)}.capability-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:80px;display:grid}.capability-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px;padding:28px 24px 30px}.capability-number{color:var(--accent);letter-spacing:.14em;margin:0;font-size:.66rem;font-weight:900}.capability-card h3{letter-spacing:-.05em;min-height:2em;margin:42px 0 0;font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1}.capability-card ul{margin-top:28px;list-style:none}.capability-card li{border-top:1px solid var(--line);color:var(--muted);padding:9px 0;font-size:.83rem;line-height:1.35}.secondary-skills{color:var(--muted);margin:26px 0 0;font-size:.83rem;line-height:1.55}.about-section{border-top:1px solid var(--line);background:var(--canvas);padding:150px 0}.about-grid{grid-template-columns:.95fr 1.05fr;align-items:end;gap:82px;display:grid}.about-heading h2{letter-spacing:-.085em;max-width:680px;margin:0;font-size:clamp(5rem,9.4vw,9.5rem);line-height:.8}.about-copy{border-left:1px solid var(--line);padding:0 0 6px 38px}.about-copy>p:first-child{letter-spacing:-.02em;margin:0;font-size:clamp(1.12rem,1.7vw,1.45rem);line-height:1.58}.availability-copy{color:var(--muted);margin:25px 0 0;font-size:.9rem;line-height:1.6}.about-copy .text-link{margin-top:28px}.contact-section{color:#fff;background:var(--accent);padding:136px 0}.contact-grid{grid-template-columns:1.25fr .75fr;align-items:end;gap:80px;display:grid}.contact-copy .eyebrow:before{background:var(--ink)}.contact-copy h2{max-width:900px;color:var(--ink);letter-spacing:-.08em;margin:0;font-size:clamp(4.3rem,8vw,8.5rem);line-height:.82}.contact-details{padding-bottom:8px}.contact-details>p{color:#2d201b;max-width:440px;margin:0;font-size:1.08rem;line-height:1.6}.contact-actions{align-items:center;gap:24px;margin-top:34px;display:flex}.button-large{min-height:62px;padding-inline:28px}.button-light:hover,.button-light:focus-visible{color:var(--ink);border-color:var(--ink);background:0 0}.contact-text-link{color:var(--ink)}.contact-links{flex-direction:column;gap:12px;margin-top:40px;display:flex}.contact-links a{width:fit-content;min-height:36px;color:var(--ink);border-bottom:1px solid #11120f6b;padding:8px 0;font-size:.78rem;font-weight:900}.site-footer{color:#fff;background:var(--dark);padding:60px 0 42px}.footer-grid{grid-template-columns:1fr auto;align-items:start;gap:40px;display:grid}.logo-on-dark{font-size:1.45rem;display:inline-block}.footer-grid>div:first-child p{color:#8f928a;margin:15px 0 0;font-size:.78rem}.footer-links{letter-spacing:.09em;text-transform:uppercase;gap:28px;font-size:.73rem;font-weight:900;display:flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--accent)}.footer-meta{color:#6c7068;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #ffffff1f;grid-column:1/-1;margin:42px 0 0;padding-top:24px;font-size:.63rem}.reveal{opacity:0;transition:opacity .62s ease var(--reveal-delay), transform .62s cubic-bezier(.2, .7, .2, 1) var(--reveal-delay);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (max-width:1100px){.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.75fr)}.hero h1{font-size:clamp(3.5rem,6vw,5.4rem)}.portrait-orbit:after{box-shadow:-145px 0 var(--ink), 145px 0 var(--ink), 0 -145px var(--ink), 0 145px var(--ink)}.section-heading{grid-template-columns:.42fr 1.58fr}.section-heading>p:last-child{grid-column:2}.project-card-body{padding-inline:22px}.project-card-actions{flex-direction:column;align-items:stretch}.project-card-actions .button,.details-button{width:100%}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-columns{grid-template-columns:1fr;gap:42px}}@media (max-width:820px){html{scroll-padding-top:70px}.section-shell,.nav-shell{width:min(calc(100% - 36px), var(--max-width))}.nav-shell{height:72px}.menu-toggle{z-index:102;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.menu-toggle span{background:var(--ink);width:25px;height:2px;transition:transform .22s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px)rotate(-45deg)}.primary-nav{z-index:101;visibility:hidden;background:var(--canvas);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:72px 28px;transition:opacity .22s,visibility .22s;display:flex;position:fixed;inset:0}.primary-nav.is-open{visibility:visible;opacity:1;pointer-events:auto}.primary-nav a{letter-spacing:-.055em;text-transform:none;font-size:clamp(2.5rem,13vw,4.8rem);font-weight:800;line-height:.95}.hero{background:var(--canvas);min-height:auto;padding-top:72px}.hero:before{display:none}.hero-grid{min-height:auto;padding-top:0;display:block}.hero-copy{padding:60px 0 46px}.hero h1{max-width:100%;font-size:clamp(2.85rem,12vw,5.3rem);line-height:.9}.hero-intro{margin-top:28px;font-size:1rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px}.portrait-stage{border-top:1px solid var(--line);min-height:470px;margin-top:8px}.portrait-orbit{width:min(92vw,430px);top:53%;left:50%}.portrait-orbit:after{box-shadow:-138px 0 var(--ink), 138px 0 var(--ink), 0 -138px var(--ink), 0 138px var(--ink)}.portrait-image{width:min(86vw,370px);right:50%;transform:translate(50%)}.portrait-label{top:24px;right:0}.portrait-caption{bottom:14px;right:0}.portrait-cross-a{top:105px;left:0}.portrait-cross-b{bottom:118px;right:0}.hero-foot{min-height:72px}.hero-foot>span:first-child{display:none}.work-section,.skills-section{padding:92px 0 98px}.section-heading{display:block}.section-heading h2{font-size:clamp(3.45rem,15vw,5.6rem)}.section-heading>p:last-child{max-width:100%;margin-top:25px}.projects-grid{grid-template-columns:1fr;gap:46px;margin-top:56px}.project-card h3{min-height:0;font-size:clamp(2.45rem,10vw,4rem)}.project-cover-viewport{aspect-ratio:16/10.5}.capability-grid{margin-top:55px}.capability-card{min-height:270px}.project-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0}.case-study{padding:28px 22px 42px}.dialog-close-wrap{top:8px}.case-study-header{padding:56px 0 34px;display:block}.case-study-header h2{font-size:clamp(2.8rem,12.5vw,5.4rem)}.case-study-header .button{width:100%;margin-top:30px}.case-study-overview{grid-template-columns:1fr}.case-study-overview section,.case-study-overview section:nth-child(odd),.case-study-overview section:nth-child(2n){border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:29px 0}.case-study-overview section:nth-last-child(2){border-bottom:1px solid var(--line)}.case-study-overview section:last-child{border-bottom:0}.feature-list{grid-template-columns:1fr}.case-study-gallery{margin-inline:-22px;padding-top:42px}.gallery-heading{padding:0 22px;display:block}.gallery-heading>p{margin-top:18px}.gallery-track{grid-auto-columns:calc(100vw - 44px);gap:12px;padding:0 22px 16px;scroll-padding-inline:22px}.gallery-image-wrap{min-height:300px}.gallery-image{max-height:58vh}.case-study-footer{flex-direction:column;align-items:flex-start}.about-section{padding:96px 0}.about-grid,.contact-grid{display:block}.about-heading h2{font-size:clamp(3.8rem,18vw,7rem)}.about-copy{border-top:1px solid var(--line);border-left:0;margin-top:52px;padding:24px 0 0}.about-copy>p:first-child{font-size:1.12rem}.contact-section{padding:90px 0 94px}.contact-copy h2{font-size:clamp(3.85rem,17vw,6.6rem)}.contact-details{margin-top:50px}.contact-details>p{font-size:1.02rem}.contact-actions{flex-direction:column;align-items:stretch}.button-large{width:100%}.contact-text-link{width:fit-content}.contact-links a{overflow-wrap:anywhere;max-width:100%}.site-footer{padding:48px 0 30px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-links{flex-wrap:wrap;justify-content:flex-start}.footer-meta{grid-column:1;margin-top:8px}}@media (max-width:500px){.capability-grid{grid-template-columns:1fr}.capability-card{min-height:0}.capability-card h3{min-height:0;margin-top:28px}.project-card-body{padding:24px 18px 22px}.browser-bar{grid-template-columns:auto 1fr;height:38px;padding:0 10px}.browser-bar>span:last-child{text-overflow:ellipsis;white-space:nowrap;grid-column:2;justify-self:end;max-width:190px;overflow:hidden}.project-card-meta{flex-direction:column;align-items:flex-start}.project-card-actions{padding-top:26px}.project-category{margin-top:24px}.technology-tags li{font-size:.61rem}}@media (max-width:380px){.section-shell,.nav-shell{width:min(calc(100% - 28px), var(--max-width))}.hero-copy{padding-top:50px}.hero h1{font-size:clamp(2.6rem,13vw,4rem)}.portrait-stage{min-height:420px}.portrait-image{width:min(92vw,330px)}.portrait-orbit{width:350px}.project-card h3{font-size:2.2rem}.project-card-body{padding-inline:16px}.gallery-track{grid-auto-columns:calc(100vw - 32px);padding-inline:16px;scroll-padding-inline:16px}.case-study-gallery{margin-inline:-16px}.case-study{padding-inline:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
