@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--pf-bg: #0a0908;--pf-bg-elevated: #22333b;--pf-text: #eae0d5;--pf-text-muted: #c6ac8f;--pf-border: #5e503f;--pf-accent-a: #eae0d5;--pf-accent-b: #c6ac8f;--pf-accent-c: #5e503f;--pf-spot-a: #eae0d5;--pf-spot-b: #c6ac8f;--pf-spot-c: #22333b;--pf-glow-1: rgba(234, 224, 213, .14);--pf-glow-2: rgba(34, 51, 59, .55);--pf-glow-3: rgba(198, 172, 143, .12);--pf-btn-primary-a: rgba(234, 224, 213, .16);--pf-btn-primary-b: rgba(198, 172, 143, .2);--pf-btn-primary-border: rgba(198, 172, 143, .45);--pf-btn-primary-border-hover: rgba(234, 224, 213, .7);--pf-btn-primary-bg-hover-a: rgba(234, 224, 213, .28);--pf-btn-primary-bg-hover-b: rgba(198, 172, 143, .24);--pf-font-sans: "Plus Jakarta Sans", system-ui, sans-serif;--pf-font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;--pf-radius: 1rem;--pf-max: 72rem;--pf-nav-h: 4.25rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body.portfolio-site{margin:0;min-height:100vh;font-family:var(--pf-font-sans);font-size:1rem;line-height:1.6;color:var(--pf-text);background:var(--pf-bg);--admin-link-color: var(--pf-accent-a);-webkit-font-smoothing:antialiased}.portfolio-noise{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.portfolio-gradient{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.portfolio-lava{position:absolute;width:48vmax;height:42vmax;border-radius:50%;filter:blur(72px);offset-rotate:0deg}.portfolio-lava--slate{background:#22333b;opacity:.9;offset-path:ellipse(34vw 26vh at 42% 46%);animation:portfolio-lava-drift 36s linear infinite}.portfolio-lava--brown{background:#5e503f;width:40vmax;height:36vmax;opacity:.72;offset-path:ellipse(28vw 32vh at 58% 52%);animation:portfolio-lava-drift 49s linear infinite reverse}.portfolio-lava--tan{background:#c6ac8f;width:34vmax;height:30vmax;opacity:.34;offset-path:ellipse(24vw 22vh at 36% 62%);animation:portfolio-lava-drift 57s linear infinite}.portfolio-lava--cream{background:#eae0d5;width:26vmax;height:24vmax;opacity:.16;offset-path:ellipse(20vw 18vh at 54% 38%);animation:portfolio-lava-drift 43s linear infinite reverse}@keyframes portfolio-lava-drift{0%{offset-distance:0%}to{offset-distance:100%}}.portfolio-cursor{--spot-x: 50%;--spot-y: 32%;--spot-x2: 62%;--spot-y2: 58%;--spot-scale: 1;--spot-color: transparent;--spot-color-halo: transparent;--spot-color-2: transparent;pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;opacity:0;mix-blend-mode:difference;transition:opacity .45s ease;background:radial-gradient(calc(8rem * var(--spot-scale)) calc(8rem * var(--spot-scale)) at var(--spot-x) var(--spot-y),var(--spot-color) 0%,var(--spot-color) 24%,transparent 72%),radial-gradient(calc(16rem * var(--spot-scale)) calc(12rem * var(--spot-scale)) at var(--spot-x) var(--spot-y),var(--spot-color-halo),transparent 70%),radial-gradient(22rem 18rem at var(--spot-x2) var(--spot-y2),var(--spot-color-2),transparent 72%)}body.is-cursor-active .portfolio-cursor{opacity:1}body.is-cursor-active .portfolio-cursor.is-quiet{opacity:0}@media (prefers-reduced-motion: reduce){.portfolio-cursor{display:none}.portfolio-lava{animation:none}}.portfolio-wrap{position:relative;z-index:1}.portfolio-skip{position:absolute;left:-9999px;padding:.5rem 1rem;background:var(--pf-text);color:var(--pf-bg);z-index:100}.portfolio-skip:focus{left:1rem;top:1rem}.portfolio-nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--pf-nav-h);display:flex;align-items:center;justify-content:center;border-bottom:1px solid transparent;background:#0a0908d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .3s ease}.portfolio-nav.is-scrolled{border-bottom-color:var(--pf-border)}.portfolio-nav__inner{width:100%;max-width:var(--pf-max);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.portfolio-logo{font-family:var(--pf-font-sans);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;color:var(--pf-text);text-decoration:none}.portfolio-logo:hover{color:var(--pf-accent-a)}.portfolio-nav__links{display:flex;align-items:center;gap:1.75rem;list-style:none;margin:0;padding:0}.portfolio-nav__links a{font-size:.8125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--pf-text-muted);text-decoration:none;transition:color .2s ease}.portfolio-nav__links a:hover{color:var(--pf-text)}@media (max-width: 640px){.portfolio-nav__links{gap:1rem}.portfolio-nav__links li:nth-child(n+4){display:none}}.portfolio-hero{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--pf-nav-h) + 3rem) 1.5rem 4rem;max-width:var(--pf-max);margin:0 auto;box-sizing:border-box}.portfolio-hero--size-full{min-height:100vh;min-height:100dvh}.portfolio-hero--home.portfolio-hero--size-full{min-height:0;padding-bottom:.5rem}.portfolio-hero--home{text-align:center;align-items:center}.portfolio-hero--home .portfolio-hero__title,.portfolio-hero--home .portfolio-hero__lead{margin-left:auto;margin-right:auto}.portfolio-hero--home .portfolio-hero__actions{justify-content:center}.portfolio-hero--home+.portfolio-section .portfolio-section__head{text-align:center}.portfolio-hero--home+.portfolio-section .portfolio-section__intro{margin-inline:auto}.portfolio-hero--home.portfolio-hero--size-full+.portfolio-section{padding-top:2.75rem}.portfolio-hero--size-medium{min-height:60vh;min-height:60dvh}.portfolio-hero--size-small{min-height:40vh;min-height:40dvh}.portfolio-hero--size-xsmall{min-height:25vh;min-height:25dvh}.portfolio-hero--has-bgimg{background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.portfolio-hero--has-bgimg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0a090859,#0a0908d1);pointer-events:none;z-index:0}.portfolio-hero--has-bgimg>*{position:relative;z-index:1}.portfolio-hero__label{font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--pf-text-muted);margin-bottom:1.25rem}.portfolio-hero__title{font-family:var(--pf-font-sans);font-size:clamp(2.75rem,8vw,5rem);font-weight:600;line-height:1.08;letter-spacing:-.03em;margin:0 0 1.5rem;max-width:16ch}.portfolio-hero__title .gradient-text,.portfolio-error__title .gradient-text{font-family:var(--pf-font-serif);font-weight:400;font-style:italic;display:inline;background:linear-gradient(120deg,var(--pf-accent-a),var(--pf-accent-b),var(--pf-accent-c));-webkit-background-clip:text;background-clip:text;color:transparent}.portfolio-hero__lead{font-size:clamp(1.05rem,2vw,1.25rem);max-width:36rem;margin:0 0 2.5rem}.portfolio-hero__actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.portfolio-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border-radius:999px;border:1px solid var(--pf-border);color:var(--pf-text);background:#eae0d50f;transition:background .25s ease,border-color .25s ease,transform .2s ease}.portfolio-btn:hover{background:#eae0d524;border-color:#c6ac8f66;transform:translateY(-1px)}.portfolio-btn--primary{background:linear-gradient(135deg,var(--pf-btn-primary-a),var(--pf-btn-primary-b));border-color:var(--pf-btn-primary-border);color:var(--pf-text)}.portfolio-btn--primary:hover{border-color:var(--pf-btn-primary-border-hover);background:linear-gradient(135deg,var(--pf-btn-primary-bg-hover-a),var(--pf-btn-primary-bg-hover-b))}.portfolio-hero__scroll{margin-top:auto;padding-top:4rem;display:flex;align-items:center;gap:.75rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pf-text-muted)}.portfolio-hero__scroll-line{width:1px;height:3rem;background:linear-gradient(to bottom,var(--pf-accent-a),transparent);animation:portfolio-scroll-pulse 2.5s ease-in-out infinite}@keyframes portfolio-scroll-pulse{0%,to{opacity:.4;transform:scaleY(.85)}50%{opacity:1;transform:scaleY(1)}}.portfolio-section{padding:5rem 1.5rem;max-width:var(--pf-max);margin:0 auto}.portfolio-section__head{margin-bottom:2.5rem}.portfolio-section__eyebrow{font-family:var(--pf-font-serif);font-size:.9375rem;font-weight:400;font-style:italic;letter-spacing:.02em;text-transform:none;color:var(--pf-accent-a);margin:0 0 .75rem}.portfolio-section__title{font-family:var(--pf-font-sans);font-size:clamp(2rem,4vw,2.75rem);font-weight:600;margin:0;letter-spacing:-.03em}.portfolio-section__intro{margin:1rem 0 0;max-width:42rem;color:var(--pf-text-muted);font-size:1.0625rem}[data-reveal]{opacity:0;transform:translateY(1.25rem);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.portfolio-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}@media (min-width: 768px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1100px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}.portfolio-grid:not(:has(>:nth-child(3))){grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.portfolio-grid:not(:has(>:nth-child(2))){grid-template-columns:minmax(0,36rem);justify-content:center}}.portfolio-card{--shine-x: 30%;--shine-y: 18%;position:relative;display:flex;flex-direction:column;padding:1.75rem;min-height:16rem;border-radius:var(--pf-radius);border:1px solid var(--pf-border);background:var(--pf-bg-elevated);text-decoration:none;color:inherit;overflow:hidden;transition:border-color .3s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}a.portfolio-card:hover{border-color:#c6ac8f73;transform:translateY(-4px);box-shadow:0 24px 48px -24px #0009}.portfolio-card__tag{font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--pf-accent-b);margin-bottom:.75rem}.portfolio-card__title{font-family:var(--pf-font-serif);font-size:1.375rem;font-weight:400;font-style:italic;margin:0 0 .75rem;line-height:1.25}.portfolio-card__desc{margin:0;font-size:.9375rem;color:var(--pf-text-muted);flex:1}.portfolio-card__arrow{margin-top:1.5rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pf-accent-a)}.portfolio-card__shine{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(16rem 12rem at var(--shine-x) var(--shine-y),rgba(234,224,213,.34),rgba(34,51,59,.05) 42%,transparent 68%);opacity:0;transition:opacity .35s ease}a.portfolio-card:hover .portfolio-card__shine{opacity:1}.portfolio-card--static{cursor:default}.portfolio-card--static:hover{transform:none;box-shadow:none;border-color:var(--pf-border)}.portfolio-about__grid{display:grid;gap:2rem;align-items:start}@media (min-width: 900px){.portfolio-about__grid{grid-template-columns:1fr 1.1fr}}.portfolio-about__stat{padding:1.5rem;border-radius:var(--pf-radius);border:1px solid var(--pf-border);background:#ffffff05}.portfolio-about__stat strong{display:block;font-family:var(--pf-font-sans);font-size:2rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.25rem;background:linear-gradient(120deg,var(--pf-text),var(--pf-text-muted));-webkit-background-clip:text;background-clip:text;color:transparent}.portfolio-about__stat span{font-size:.8125rem;color:var(--pf-text-muted);letter-spacing:.04em}.portfolio-contact{text-align:center;padding:5rem 1.5rem 6rem;max-width:var(--pf-max);margin:0 auto}.portfolio-contact__panel,.portfolio-form{text-align:left}.portfolio-contact__title{font-family:var(--pf-font-serif);font-size:clamp(2rem,4vw,2.5rem);font-weight:400;font-style:italic;margin:0 0 1rem}.portfolio-contact__text{color:var(--pf-text-muted);margin:0 0 1.5rem}.portfolio-contact__panel{margin:0 0 1.75rem;padding:1.35rem;border-radius:var(--pf-radius);border:1px solid var(--pf-border);background:#0a0908b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portfolio-form{display:grid;gap:1rem;margin:0}.portfolio-form__field{display:grid;gap:.4rem;font-size:.8125rem;letter-spacing:.04em;color:var(--pf-text-muted)}.portfolio-form__field input,.portfolio-form__field textarea{width:100%;font-family:inherit;font-size:1rem;letter-spacing:0;color:var(--pf-text);background:#22333b73;border:1px solid var(--pf-border);border-radius:.75rem;padding:.75rem .9rem}.portfolio-form__field textarea{resize:vertical;min-height:8rem}.portfolio-form__field input:focus,.portfolio-form__field textarea:focus{outline:2px solid var(--pf-accent-b);outline-offset:2px}button.portfolio-btn{font-family:inherit;cursor:pointer}button.portfolio-btn:disabled{opacity:.45;cursor:not-allowed}.portfolio-form .g-recaptcha{min-height:78px;display:flex;justify-content:center}.portfolio-form__notice{margin:0 0 1rem;padding:.75rem .9rem;border-radius:.75rem;font-size:.9375rem}.portfolio-form__notice--ok{color:var(--pf-text);background:#22333bb3;border:1px solid var(--pf-accent-b)}.portfolio-form__notice--err{color:var(--pf-text);background:#5e503f73;border:1px solid var(--pf-border)}.portfolio-contact__fallback{margin:0}.portfolio-contact>.portfolio-contact__title,.portfolio-contact>.portfolio-contact__text,.portfolio-contact>.portfolio-contact__panel,.portfolio-contact>.portfolio-contact__fallback{width:min(100%,40rem);margin-left:auto;margin-right:auto}.portfolio-contact a.mail{font-size:1.125rem;font-weight:500;color:var(--pf-accent-a);text-decoration:none;border-bottom:1px solid rgba(198,172,143,.45);transition:border-color .2s ease}.portfolio-contact a.mail:hover{border-bottom-color:var(--pf-accent-a)}.portfolio-footer{border-top:1px solid var(--pf-border);padding:2rem 1.5rem 2.5rem;max-width:var(--pf-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}.portfolio-footer__copy{font-size:.8125rem;color:var(--pf-text-muted);margin:0}.portfolio-footer .language-switcher{font-size:.8125rem}.portfolio-footer .language-link{color:var(--pf-text-muted)!important;text-decoration:none!important;transition:color .2s ease}.portfolio-footer .language-link:hover,.portfolio-footer .language-link.active{color:var(--pf-accent-a)!important}.portfolio-footer .lang-sep{color:var(--pf-text-muted)!important;opacity:.4!important}.portfolio-cms-page-body{padding:2.5rem 1.5rem 3rem}.portfolio-cms-page-body__inner{max-width:var(--pf-max);margin:0 auto;font-size:1rem;line-height:1.65;color:var(--pf-text-muted)}.portfolio-cms-page-body__inner>*:first-child{margin-top:0}.portfolio-cms-page-body__inner h2,.portfolio-cms-page-body__inner h3{font-family:var(--pf-font-sans);color:var(--pf-text);margin-top:1.75rem}.portfolio-cms-page-body__inner a{color:var(--pf-accent-a);text-decoration:underline;text-underline-offset:.15em}.portfolio-admin-flag{position:fixed;bottom:1.25rem;left:0;display:flex;align-items:center;text-decoration:none;color:#ffffff59;z-index:40;transition:color .2s ease,max-width .2s ease}.portfolio-admin-flag-tab{width:0;height:0;border-style:solid;border-width:11px 0 11px 14px;border-color:transparent transparent transparent rgba(255,255,255,.06);flex-shrink:0}.portfolio-admin-flag-text{font-size:.75rem;white-space:nowrap;overflow:hidden;max-width:0;opacity:0;padding-left:0;transition:max-width .2s ease,opacity .2s ease,padding-left .2s ease}.portfolio-admin-flag:hover{color:#ffffffa6;text-decoration:none}.portfolio-admin-flag:hover .portfolio-admin-flag-tab{border-left-color:#c6ac8f73}.portfolio-admin-flag:hover .portfolio-admin-flag-text{max-width:120px;opacity:1;padding-left:.5rem}.portfolio-error{min-height:calc(100vh - 2rem);display:flex;align-items:center;justify-content:center;padding:clamp(3rem,12vw,6rem) 1.5rem 4rem}.portfolio-error__inner{width:100%;max-width:36rem;margin:0 auto;text-align:center}.portfolio-error__brand{display:flex;justify-content:center;margin-bottom:2rem}.portfolio-error__logo-link{display:inline-flex;align-items:center;justify-content:center;line-height:0;border-radius:.75rem;transition:opacity .2s ease,transform .2s ease}.portfolio-error__logo-link:hover{opacity:.9;transform:scale(1.02)}.portfolio-error__logo-link:focus-visible{outline:2px solid var(--pf-accent-a);outline-offset:4px}.portfolio-error__logo{display:block;width:auto;height:auto;max-width:min(320px,92vw);filter:drop-shadow(0 0 1.25rem rgba(251,191,36,.22))}.portfolio-error__eyebrow{margin:0 0 .75rem;font-size:.75rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--pf-text-muted)}.portfolio-error__title{font-family:var(--pf-font-sans);font-size:clamp(2rem,6vw,3rem);font-weight:600;line-height:1.12;letter-spacing:-.03em;margin:0 0 1.25rem;color:var(--pf-text)}.portfolio-error__lead{margin:0 auto 2.25rem;max-width:28rem;font-size:1.05rem;color:var(--pf-text-muted)}.portfolio-error__actions{display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center;align-items:center}.portfolio-error__hint{margin:2rem 0 0;font-size:.8125rem;color:#e8e6e359}.local-flap{position:fixed;bottom:0;right:0;z-index:60;padding:.2rem .5rem;font-size:10px;font-weight:700;letter-spacing:.06em;color:#000000a6;background:#fbbf24;border-radius:4px 0 0}
