:root {
  --acid:#f1efe8;--ink:#1d1d1f;--panel:#7c7f8b;--paper:#f2f2ed;--muted:#c9c9cc;
  --line-dark:rgba(20,20,22,.23);--line-light:rgba(255,255,255,.28);--pad:clamp(20px,4.2vw,70px);
  --display:"Bebas Neue",Impact,sans-serif;--mono:"Space Mono",monospace
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--ink);color:var(--paper);font-family:"Space Grotesk",sans-serif}img,video{display:block;max-width:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}
.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.nav{height:46px;padding:0 var(--pad);display:flex;align-items:center;border-bottom:1px solid var(--line-light);background:var(--ink);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;margin-right:auto;text-decoration:none;font-size:11px}.brand span:first-child{width:42px;height:46px;margin-left:calc(var(--pad)*-1);display:grid;place-items:center;background:var(--acid);color:var(--ink);font:700 11px var(--mono)}.brand span:last-child{font:700 9px var(--mono);text-transform:uppercase}.nav nav{display:flex;align-items:center;gap:clamp(15px,2.7vw,38px)}.nav nav a{text-decoration:none;text-transform:uppercase;font:9px var(--mono)}.nav-contact{padding-bottom:4px;border-bottom:2px solid var(--acid)}
.hero{min-height:570px;padding:32px var(--pad) 34px;position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;background-color:var(--ink);background-image:linear-gradient(var(--line-light) 1px,transparent 1px),linear-gradient(90deg,var(--line-light) 1px,transparent 1px);background-size:145px 145px;isolation:isolate}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(200,255,0,.21);border-radius:50%;pointer-events:none}.hero:before{width:450px;height:450px;top:-205px;left:8%}.hero:after{width:320px;height:320px;top:64px;right:10%}.kicker{margin:0;color:var(--acid);text-transform:uppercase;letter-spacing:.16em;font:700 9px/1.5 var(--mono)}.hero h1{align-self:end;margin:50px 0 0;position:relative;z-index:2;white-space:nowrap;text-transform:uppercase;font:400 clamp(118px,18vw,276px)/.65 var(--display);letter-spacing:-.025em}.hero-mark{width:clamp(150px,21vw,300px);aspect-ratio:1.18;position:absolute;z-index:1;right:12%;top:19%;display:grid;place-items:center;background:#303139;border:1px solid rgba(255,255,255,.22);transform:rotate(-3deg)}.hero-mark:before{content:"";width:54%;aspect-ratio:1;position:absolute;border:1px solid rgba(200,255,0,.38);border-radius:50%}.hero-mark span{color:#151517;font:400 clamp(70px,10vw,150px)/1 var(--display)}.hero-summary{margin-top:25px;display:grid;grid-template-columns:minmax(250px,430px) auto;align-items:end;justify-content:space-between;gap:40px;position:relative;z-index:3}.intro{margin:0;color:var(--muted);font:10px/1.55 var(--mono)}.hero-cta{min-width:150px;padding:12px 15px;display:flex;justify-content:space-between;gap:24px;border:1px solid var(--paper);text-decoration:none;text-transform:uppercase;font:700 9px var(--mono);transition:background .2s,color .2s}.hero-cta:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.marquee,.promise-band{overflow:hidden;white-space:nowrap;padding:10px 0;background:var(--acid);color:var(--ink);border-block:1px solid var(--ink);font:700 10px var(--mono)}.ticker-track{display:flex;width:max-content;will-change:transform;animation:ticker 22s linear infinite}.ticker-copy{display:flex;flex:none}.ticker-copy span{display:block;flex:none;padding-right:1.2em}.ticker-reverse{animation-direction:reverse;animation-duration:26s}@keyframes ticker{to{transform:translateX(-50%)}}
.profile-statement,.work-section,.process-section,.contact{background:var(--panel);color:var(--paper)}.profile-statement{min-height:270px;padding:64px var(--pad) 50px;display:grid;grid-template-columns:auto minmax(0,760px) auto;place-content:center;align-items:center;gap:28px;text-align:center}.profile-statement p{margin:0;font-size:clamp(19px,2.2vw,33px);line-height:1.08}.profile-statement>span{font-size:24px}.profile-statement a{grid-column:2;justify-self:center;margin-top:4px;padding:7px 17px;border-radius:99px;background:var(--acid);color:var(--ink);text-decoration:none;text-transform:uppercase;font:700 8px var(--mono)}
.work-section{padding:62px var(--pad) 90px}.portfolio-intro,.composition-title{max-width:700px;margin:0 auto 34px;text-align:center}.portfolio-intro h2,.composition-title h2{margin:0;font:400 clamp(52px,6.2vw,92px)/.85 var(--display);letter-spacing:-.01em}.portfolio-intro p,.composition-title p{max-width:500px;margin:12px auto 0;font:9px/1.5 var(--mono)}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-bottom:24px}.filter{min-height:30px;padding:6px 11px;border:1px solid var(--paper);border-radius:99px;background:transparent;color:var(--paper);cursor:pointer;text-transform:uppercase;font:700 8px var(--mono)}.filter.active,.filter:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.project{min-width:0;color:inherit;text-decoration:none}.project-media{aspect-ratio:1.32;overflow:hidden;background:#292a30;border-radius:6px}.project-media>*{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project:hover .project-media>*{transform:scale(1.025)}.project-info{display:flex;justify-content:space-between;gap:10px;padding:7px 3px 18px}.project-info strong{font-size:10px;font-weight:500}.project-info span{color:#e6e6e8;font:7px var(--mono)}.empty-state{grid-column:1/-1;min-height:280px;display:grid;place-content:center;text-align:center;border:1px dashed rgba(255,255,255,.42);border-radius:6px;padding:28px}.empty-state strong{font:400 clamp(42px,6vw,76px) var(--display)}.empty-state p{max-width:480px;font-size:12px}
.process-section{padding:80px var(--pad) 95px}.process-list{max-width:1050px;margin:auto;border-top:1px solid var(--line-light)}.process-list article{min-height:72px;display:grid;grid-template-columns:52px minmax(230px,1.1fr) 2fr 72px;gap:18px;align-items:center;border-bottom:1px solid var(--line-light)}.process-list b,.process-list span{font:8px var(--mono)}.process-list b:before{content:"/// ";opacity:.7}.process-list h3{margin:0;font:400 clamp(26px,3vw,40px)/.9 var(--display)}.process-list p{margin:0;color:#ececef;font-size:10px;line-height:1.4}.process-list span{text-align:right}
.approach-section{padding:84px var(--pad);background:var(--ink)}.approach-map{max-width:1000px;height:430px;margin:auto;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.geometry{position:absolute;inset:0}.geometry i{position:absolute;border:1px solid rgba(255,255,255,.18)}.geometry i:nth-child(1),.geometry i:nth-child(2){width:250px;height:250px;left:38%;top:18%}.geometry i:nth-child(1){border-radius:50%}.geometry i:nth-child(3){width:125px;height:125px;left:44.3%;top:32.5%;transform:rotate(45deg)}.approach-card{width:225px;padding:16px;position:absolute;z-index:2;background:#222225;border:1px solid rgba(255,255,255,.25);border-radius:4px}.approach-card b{color:var(--acid);font:8px var(--mono)}.approach-card h3{margin:7px 0;font:400 27px var(--display)}.approach-card p{margin:0;color:#c5c5c8;font-size:10px}.approach-card.one{left:2%;top:9%}.approach-card.two{right:2%;top:16%}.approach-card.three{left:8%;bottom:9%}
.promise-band{background:var(--paper);font-family:var(--display);font-size:21px}.pricing-section{padding:68px var(--pad) 84px;background:var(--ink);color:var(--paper);border-bottom:12px solid var(--acid)}.pricing-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.pricing-grid article{min-height:205px;padding:21px;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border-radius:14px 14px 4px 4px}.pricing-grid article.featured{background:var(--acid)}.pricing-grid h3{margin:0;font:400 31px/1 var(--display)}.pricing-grid p{font-size:10px;line-height:1.4}.pricing-grid a{margin-top:auto;text-transform:uppercase;font:700 8px var(--mono)}
.contact{padding:90px var(--pad)}.contact>p{text-transform:uppercase;font:700 9px var(--mono)}.contact h2{margin:22px 0 48px;font:400 clamp(72px,12vw,180px)/.76 var(--display)}.email-link{padding:18px 0;display:flex;justify-content:space-between;gap:20px;border-block:2px solid var(--paper);text-decoration:none;overflow-wrap:anywhere;font-size:clamp(20px,3vw,40px)}.socials{display:flex;flex-wrap:wrap;gap:22px;margin-top:26px}.socials a{text-transform:uppercase;font:700 9px var(--mono)}footer{padding:22px var(--pad);display:flex;justify-content:space-between;gap:18px;background:#111113;text-transform:uppercase;font:8px var(--mono)}
@media(max-width:760px){:root{--pad:16px}.nav{height:42px}.brand span:first-child{height:42px}.brand span:last-child,.nav nav a:not(.nav-contact){display:none}.hero{min-height:610px;padding-top:25px;background-size:86px 86px}.hero:before{width:310px;height:310px;left:-125px;top:-105px}.hero:after{width:260px;height:260px;right:-90px;top:130px}.hero h1{margin-top:auto;white-space:normal;font-size:clamp(80px,26vw,124px);line-height:.7}.hero-mark{width:145px;right:11%;top:22%}.hero-summary{grid-template-columns:1fr;gap:16px}.hero-cta{min-width:0;width:100%}.profile-statement{grid-template-columns:auto 1fr auto;gap:10px;padding:52px 20px}.profile-statement p{font-size:18px}.profile-statement a{grid-column:1/-1}.work-section{padding-top:54px}.project-grid{grid-template-columns:1fr;gap:14px}.project-media{aspect-ratio:1.3}.process-list article{grid-template-columns:38px 1fr;gap:7px 10px;padding:15px 0}.process-list p,.process-list span{grid-column:2}.process-list span{text-align:left}.approach-map{height:620px}.geometry i:nth-child(1),.geometry i:nth-child(2){left:17%;top:29%}.geometry i:nth-child(3){left:34%;top:39%}.approach-card{width:205px}.approach-card.two{top:38%}.approach-card.three{left:5%;bottom:5%}.pricing-grid{grid-template-columns:1fr}.pricing-grid article{min-height:165px}.contact h2{font-size:21vw}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}*,*:before,*:after{transition-duration:.01ms!important}}

/* Branded loading state and final type-spacing refinements. */
body{font-kerning:normal;text-rendering:geometricPrecision}
body.is-loading{overflow:hidden}
.site-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--ink);opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}
.site-loader span{width:88px;height:88px;display:grid;place-items:center;background:var(--acid);color:var(--ink);font:400 52px/.85 var(--display);letter-spacing:-.02em;animation:loader-pulse 1s ease-in-out infinite}
.site-loader[aria-hidden="true"]{opacity:0;visibility:hidden;pointer-events:none}
.hero h1{line-height:.72;letter-spacing:-.012em}
.portfolio-intro h2,.composition-title h2{line-height:.92;letter-spacing:.005em}
.process-list h3,.pricing-grid h3{line-height:1;letter-spacing:.01em}
.contact h2{line-height:.82;letter-spacing:-.005em}
.profile-statement p{line-height:1.18;letter-spacing:-.012em}
.intro,.portfolio-intro p,.composition-title p,.process-list p,.pricing-grid p{letter-spacing:-.01em}
.media-fallback{width:100%;height:100%;display:grid;place-items:center;background:#292a30;color:var(--acid);font:400 clamp(48px,8vw,96px)/1 var(--display);letter-spacing:-.02em}

.hero h1{font-size:clamp(118px,calc(18vw * var(--hero-scale,1)),calc(276px * var(--hero-scale,1)))}
.work-section,.process-section,.approach-section,.pricing-section,.contact{padding-top:calc(80px * var(--section-space,1));padding-bottom:calc(90px * var(--section-space,1))}
.project-grid{grid-template-columns:repeat(var(--project-columns,3),minmax(0,1fr))}

/* Automatic project-card previews */
.project-media{position:relative}
.preview-count{position:absolute;right:8px;bottom:8px;z-index:3;padding:5px 8px;border-radius:99px;background:rgba(25,25,29,.82);color:var(--paper);font:700 7px var(--mono);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s;pointer-events:none}
.project.is-previewing .preview-count{opacity:1;transform:none}
.project-media:not([data-media-type="video"]) .preview-track{display:flex;width:100%;height:100%;transform:translate3d(calc(var(--preview-index,0) * -100%),0,0)!important;transition:transform .7s cubic-bezier(.22,.75,.22,1);will-change:transform}
.project-media:not([data-media-type="video"]) .preview-track>img,.project-media:not([data-media-type="video"]) .preview-track>video{position:relative;flex:0 0 100%;width:100%;height:100%;object-fit:cover;transform:none!important}
.project-media[data-media-type="video"] .preview-track{position:relative;width:100%;height:100%;transform:none!important}
.project-media[data-media-type="video"] .preview-track>img,.project-media[data-media-type="video"] .preview-track>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none!important;backface-visibility:hidden}
.project-media[data-media-type="video"] .preview-track.has-poster>video{opacity:0;transition:opacity .55s ease}
.project-media[data-media-type="video"] .preview-track.video-only>video{opacity:1}
.project.is-previewing .project-media[data-media-type="video"] .preview-track>video{opacity:1}
.project-media>.preview-count{width:auto!important;height:auto!important;object-fit:initial!important;transition:opacity .25s!important}
.project.is-previewing .project-media>.preview-count{transform:none!important}

/* Fluid hero name */
.hero h1{max-width:100%;white-space:normal;overflow-wrap:normal;text-wrap:balance}

/* Connected, floating approach map */
.approach-links{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.approach-links path{fill:none;stroke:var(--acid);stroke-width:1.5;stroke-dasharray:7 8;vector-effect:non-scaling-stroke;animation:connection-flow 8s linear infinite}.approach-links circle{fill:var(--acid);filter:drop-shadow(0 0 8px var(--acid))}.approach-core{position:absolute;left:50%;top:50%;z-index:3;width:94px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--acid);border-radius:50%;background:#1d1d20;transform:translate(-50%,-50%)}.approach-core:before,.approach-core:after{content:"";position:absolute;inset:10px;border:1px solid rgba(241,239,232,.28);transform:rotate(45deg)}.approach-core:after{inset:22px;border-color:var(--acid);animation:core-turn 8s linear infinite}.approach-core span{z-index:1;font:700 8px var(--mono);letter-spacing:.14em}.approach-card{animation:card-float 5s ease-in-out infinite}.approach-card.two{animation-delay:-1.6s}.approach-card.three{animation-delay:-3.2s}@keyframes card-float{50%{translate:0 -9px}}@keyframes core-turn{to{transform:rotate(405deg)}}@keyframes connection-flow{to{stroke-dashoffset:-60}}

/* Editable service samples */
.sample-button{margin-top:auto;padding:0;border:0;background:none;color:inherit;text-align:left;text-transform:uppercase;text-decoration:underline;cursor:pointer;font:700 8px var(--mono)}.sample-modal{width:min(760px,calc(100% - 28px));max-height:88dvh;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:#1b1b1e;color:var(--paper);box-shadow:0 30px 100px rgba(0,0,0,.55)}.sample-modal::backdrop{background:rgba(10,10,12,.76);backdrop-filter:blur(7px)}.modal-close{position:absolute;right:12px;top:12px;z-index:5;width:34px;height:34px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#1b1b1e;color:white;cursor:pointer;font-size:22px}.sample-media{aspect-ratio:16/9;background:#292a30;overflow:hidden}.sample-media img,.sample-media video{display:block;width:100%;height:100%;object-fit:cover}.sample-modal #sample-content>h2,.sample-modal #sample-content>p,.sample-modal #sample-content>a{margin-inline:28px}.sample-modal #sample-content>h2{margin-block:8px 0;font:400 clamp(44px,8vw,82px)/.9 var(--display)}.sample-modal #sample-content>p{font:9px var(--mono)}.sample-modal #sample-content>a{display:inline-block;margin-top:12px;margin-bottom:28px;color:var(--acid);font:700 9px var(--mono);text-transform:uppercase}.sample-label{margin-top:24px!important;text-transform:uppercase;color:var(--acid)}.sample-empty{padding:70px 28px}.sample-empty b{font:400 50px var(--display)}
body[data-text-alignment="left"] .portfolio-intro,body[data-text-alignment="left"] .composition-title{text-align:left;margin-left:0}
body[data-text-alignment="left"] .portfolio-intro p,body[data-text-alignment="left"] .composition-title p{margin-left:0}
@keyframes loader-pulse{50%{transform:scale(.92);opacity:.72}}

@media(max-width:760px){
  .site-loader span{width:72px;height:72px;font-size:43px}
  .hero h1{line-height:.84;letter-spacing:-.008em}
  .project-grid{grid-template-columns:1fr}
  .portfolio-intro h2,.composition-title h2{line-height:.96}
  .contact h2{line-height:.86}
  .approach-map{height:auto;min-height:650px;display:grid;align-content:center;gap:34px;padding:42px 20px}.approach-card,.approach-card.one,.approach-card.two,.approach-card.three{position:relative;inset:auto;width:auto;z-index:3}.approach-card.two{margin-left:12%}.approach-card.three{margin-right:12%}.approach-core{width:72px}.approach-links{display:none}.approach-map:before{content:"";position:absolute;left:50%;top:70px;bottom:70px;border-left:1px dashed var(--acid)}
  .pricing-grid{grid-template-columns:1fr 1fr}.pricing-grid article{min-height:190px;padding:16px}.pricing-grid h3{font-size:26px}
}
@media(max-width:430px){.pricing-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(64px,25vw,108px)}}

/* Portfolio artwork backdrop is generated entirely with CSS. */

/* Consistent interaction feedback */
.nav a,.hero-cta,.profile-statement a,.filter,.project,.pricing-grid article,.sample-button,.email-link,.socials a{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}
.nav a:hover,.nav a:focus-visible,.hero-cta:hover,.hero-cta:focus-visible,.profile-statement a:hover,.profile-statement a:focus-visible,.filter:hover,.filter:focus-visible,.project:hover,.project:focus-visible,.pricing-grid article:hover,.sample-button:hover,.sample-button:focus-visible,.email-link:hover,.email-link:focus-visible,.socials a:hover,.socials a:focus-visible{transform:translateY(-2px) scale(1.015)}
.project:hover,.project:focus-visible,.pricing-grid article:hover{position:relative;z-index:4;box-shadow:0 16px 36px rgba(18,18,22,.18)}

@media(max-width:760px){
  .approach-map{min-height:clamp(470px,145vw,610px);gap:clamp(14px,5vw,25px);padding:clamp(24px,8vw,42px) 10px}
  .approach-card,.approach-card.one,.approach-card.two,.approach-card.three{width:min(78vw,310px);margin-inline:0;justify-self:center;padding:clamp(12px,4vw,16px)}
  .approach-card h3{font-size:clamp(22px,7vw,29px)}
  .approach-card p{font-size:clamp(8px,2.5vw,10px)}
  .approach-core{width:clamp(50px,17vw,72px)}
}
@media(prefers-reduced-motion:reduce){.ticker-track,.approach-card,.approach-links path,.approach-core:after{animation:none}.nav a,.hero-cta,.profile-statement a,.filter,.project,.pricing-grid article,.sample-button,.email-link,.socials a{transition:none}}

/* Selectable video behind the statement */
.profile-statement{position:relative;isolation:isolate;overflow:hidden}.profile-statement #statement-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.48}.profile-statement:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(114,116,128,.82),rgba(114,116,128,.55),rgba(114,116,128,.82));pointer-events:none}

/* One continuous background that grows with the portfolio */
.portfolio-flow{position:relative;background:rgb(29,30,32)}.portfolio-flow>.work-section,.portfolio-flow>.process-section{position:relative;background:transparent}.portfolio-flow .process-section{border-top:1px solid rgba(255,255,255,.14)}

/* Preserve visual scale on ultra-wide and zoomed-out layouts */
@media(min-width:1500px){
  .portfolio-intro,.composition-title{max-width:min(62vw,1200px)}
  .portfolio-intro h2,.composition-title h2{font-size:clamp(92px,5vw,150px)}
  .portfolio-intro p,.composition-title p{max-width:780px;font-size:clamp(10px,.55vw,15px)}
  .process-list{max-width:min(72vw,1600px)}
  .process-list article{min-height:clamp(72px,4.5vw,110px);grid-template-columns:70px minmax(330px,1.1fr) 2fr 90px}
  .process-list h3{font-size:clamp(40px,2.4vw,68px)}
  .process-list p{font-size:clamp(10px,.62vw,16px)}
  .process-list b,.process-list span{font-size:clamp(8px,.5vw,13px)}
  .profile-statement p{font-size:clamp(33px,2.2vw,54px)}
  .approach-map{max-width:min(72vw,1600px);height:clamp(430px,28vw,650px)}
  .pricing-grid{max-width:min(78vw,1700px)}
}

/* Final responsive accessibility safeguards */
@media(max-width:760px){.nav{gap:8px}.nav nav{max-width:calc(100vw - 58px);gap:12px;overflow-x:auto;scrollbar-width:none}.nav nav::-webkit-scrollbar{display:none}.brand span:last-child{display:none}.nav nav a:not(.nav-contact){display:block}.nav nav a{flex:none;font-size:8px}.project-info strong{font-size:11px}.project-info span{font-size:8px}.filter{font-size:9px}.process-list p{font-size:11px}.process-list b,.process-list span{font-size:9px}}
:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.filter:focus-visible,.profile-statement a:focus-visible{outline-color:var(--acid)}

.hero:before,.hero:after,.hero-mark:before{border-color:rgba(241,239,232,.25)}

/* Production polish: navigation, consistent cards, loading states, and touch sizing. */
.skip-link{position:fixed;left:12px;top:12px;z-index:10000;padding:10px 14px;background:var(--acid);color:var(--ink);font:700 10px var(--mono);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.nav-toggle{display:none;border:1px solid var(--paper);background:transparent;color:var(--paper);min-width:44px;min-height:36px;text-transform:uppercase;font:700 8px var(--mono);cursor:pointer}
.grid-loading,.project-loading{grid-column:1/-1;min-height:260px;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.28);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.12em}
.project{display:grid;grid-template-rows:auto 1fr;border-radius:7px}
.project-media{width:100%;isolation:isolate}
.project-info{min-height:48px;align-items:flex-start}
.project-info strong{max-width:55%;overflow-wrap:anywhere}
.project-info span{max-width:45%;text-align:right;line-height:1.35}
.filter,.sample-button,.modal-close{min-height:38px}
.project:focus-visible{outline-color:var(--acid)}
@media(max-width:1024px) and (min-width:761px){
  :root{--pad:clamp(22px,3.5vw,42px)}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{min-height:clamp(620px,82vh,820px)}
  .hero h1{font-size:clamp(92px,16vw,164px)}
  .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .nav{padding-inline:10px;position:relative}
  .nav-toggle{display:block;margin-left:auto}
  .nav nav{display:none;position:absolute;left:0;right:0;top:42px;z-index:50;max-width:none;padding:10px;background:#17171a;border-bottom:1px solid rgba(255,255,255,.2);overflow:visible}
  .nav-open .nav nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .nav nav a{display:grid!important;min-height:42px;place-items:center;border:1px solid rgba(255,255,255,.18);font-size:9px}
  .hero{min-height:min(720px,100svh);padding-bottom:22px}
  .hero-summary{margin-top:20px}
  .work-section,.process-section,.approach-section,.pricing-section,.contact{padding-top:clamp(48px,14vw,72px);padding-bottom:clamp(54px,15vw,80px)}
  .filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:3px 1px 10px;scroll-snap-type:x proximity;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}.filter{flex:none;scroll-snap-align:start;min-height:40px;padding-inline:14px}
  .project-info{min-height:56px;padding-inline:2px}.project-info strong{font-size:12px}.project-info span{font-size:7.5px}
  .contact{padding-inline:18px}.email-link{font-size:clamp(17px,5vw,25px)}
}
@media(max-width:380px){.hero h1{font-size:22vw}.hero-mark{width:124px}.profile-statement{padding-inline:12px}.profile-statement p{font-size:16px}}
