/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;600;700;800;900&display=swap";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.absolute{position:absolute}.relative{position:relative}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg:#f5f2ec;--fg:#111;--muted:#888;--accent:#db5461;--border:#d5d1c8;--card:#ede9e1;--font-display:"Raleway",sans-serif;--font-body:"Poppins",sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:none}@media (pointer:coarse){body{cursor:auto}}a{color:inherit;text-decoration:none}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#0000000b 1px,#0000 0),linear-gradient(90deg,#0000000b 1px,#0000 0);background-size:72px 72px;position:fixed;inset:0}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes statusPulse{0%,to{opacity:1;box-shadow:0 0 #22c55e80}50%{opacity:.7;box-shadow:0 0 0 5px #22c55e00}}@keyframes letterIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes lineExpand{0%{opacity:0;width:0}to{opacity:1;width:48px}}@keyframes loaderWordIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes loaderBarPulse{0%,to{opacity:1}50%{opacity:.55}}.loader-screen{z-index:10000;background:var(--bg);color:var(--fg);pointer-events:auto;clip-path:inset(0);grid-template-rows:auto 1fr auto;transition:clip-path .75s cubic-bezier(.76,0,.24,1);display:grid;position:fixed;inset:0}.loader-screen.is-fading{clip-path:inset(0 0 100%);pointer-events:none}.loader-screen:before{content:"";pointer-events:none;background-image:linear-gradient(#0000000b 1px,#0000 0),linear-gradient(90deg,#0000000b 1px,#0000 0);background-size:72px 72px;position:absolute;inset:0}.loader-bottom,.loader-main,.loader-top{z-index:1;position:relative}.loader-top{text-transform:uppercase;letter-spacing:.14em;height:56px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 clamp(20px,5vw,56px);font-size:11px;display:flex}.loader-main,.loader-top{border-bottom:1px solid var(--border)}.loader-main{grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.loader-name-col{border-right:1px solid var(--border);flex-direction:column;justify-content:flex-end;gap:0;padding:clamp(32px,6vw,72px);display:flex;overflow:hidden}.loader-word{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(40px,9vw,96px);font-weight:900;line-height:.88;overflow:hidden}.loader-word-inner{animation:loaderWordIn .75s cubic-bezier(.16,1,.3,1) both;display:block}.loader-meta-col{flex-direction:column;justify-content:space-between;align-items:flex-end;padding:clamp(32px,6vw,72px);display:flex}.loader-counter{font-family:var(--font-display);letter-spacing:-.04em;color:var(--fg);font-variant-numeric:tabular-nums;font-size:clamp(48px,10vw,112px);font-weight:900;line-height:1}.loader-counter span{color:var(--accent)}.loader-role{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);text-align:right;max-width:220px;font-size:11px;line-height:1.7}.loader-bottom{flex-direction:column;gap:12px;padding:clamp(20px,4vw,32px) clamp(20px,5vw,56px);display:flex}.loader-bar-track{background:var(--border);width:100%;height:2px;position:relative;overflow:hidden}.loader-bar-fill{background:var(--accent);height:100%;transition:width 80ms linear;animation:loaderBarPulse 1.2s infinite;position:absolute;inset:0 auto 0 0}.loader-bar-meta{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}@media (max-width:640px){.loader-main{grid-template-columns:1fr}.loader-name-col{border-right:none;border-bottom:1px solid var(--border);padding-bottom:24px}.loader-meta-col{align-items:flex-start;gap:24px}.loader-role{text-align:left}}.site-header{z-index:100;border-bottom:1px solid var(--border);backdrop-filter:blur(20px);background:#f5f2ecf0;justify-content:space-between;align-items:center;height:56px;padding:0 clamp(20px,5vw,56px);display:flex;position:sticky;top:0}.header-name{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--fg);font-size:13px;font-weight:700;transition:color .2s}.header-name:hover{color:var(--accent)}.header-status{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:400;display:flex}.status-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:statusPulse 2.4s infinite}.header-nav{display:flex}.header-nav-link{text-transform:uppercase;letter-spacing:.14em;height:56px;color:var(--muted);border-left:1px solid var(--border);align-items:center;padding:0 clamp(12px,2vw,22px);font-size:11px;font-weight:400;transition:color .2s,background .2s;display:flex}.header-nav-link:hover{color:var(--fg);background:var(--card)}.header-nav-link.active{color:var(--fg);font-weight:600}.page-nav{flex-direction:column;display:flex}.page-nav-link{font-family:var(--font-display);color:var(--fg);border-bottom:1px solid var(--border);opacity:.42;align-items:baseline;gap:14px;padding:14px 0;font-size:clamp(20px,3.5vw,34px);font-weight:300;transition:opacity .2s,padding-left .25s,color .2s;display:flex}.page-nav-link:last-child{border-bottom:none}.page-nav-link:hover{color:var(--accent);opacity:1;padding-left:10px}.page-nav-link.active{opacity:1;font-weight:800}.page-nav-index{font-family:var(--font-body);color:var(--muted);letter-spacing:.1em;min-width:22px;font-size:10px;font-weight:400}.page-nav-link.active .page-nav-index{color:var(--accent)}.marquee-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);z-index:1;padding:14px 0;position:relative;overflow:hidden}.marquee-inner{width:-moz-max-content;width:max-content;animation:marquee 30s linear infinite;display:flex}.marquee-inner:hover{animation-play-state:paused}.marquee-tag{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);white-space:nowrap;border-right:1px solid var(--border);align-items:center;gap:16px;padding:0 28px;font-size:11px;font-weight:500;transition:color .2s;display:flex}.marquee-tag:hover{color:var(--fg)}.marquee-tag:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:3px;height:3px}.section-num{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:11px;font-weight:400;font-family:var(--font-body);margin-bottom:12px}.project-gallery{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.project-gallery-slot{aspect-ratio:16/9;background:var(--bg);position:relative;overflow:hidden}.project-gallery-placeholder{background:linear-gradient(#00000006 1px,transparent 1px),linear-gradient(90deg,#00000006 1px,transparent 1px),var(--bg);border:1px dashed var(--gallery-accent,var(--border));background-size:24px 24px,24px 24px,auto;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.project-gallery-placeholder{border:1px dashed color-mix(in srgb,var(--gallery-accent,var(--border))35%,var(--border))}}.project-gallery-index{font-family:var(--font-display);color:var(--border);font-size:clamp(28px,5vw,40px);font-weight:900;line-height:1}.project-gallery-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);text-align:center;font-size:11px}.project-gallery-ratio{text-transform:uppercase;letter-spacing:.18em;color:var(--gallery-accent,var(--muted));font-size:10px}@supports (color:color-mix(in lab,red,red)){.project-gallery-ratio{color:color-mix(in srgb,var(--gallery-accent,var(--muted))70%,var(--muted))}}.project-gallery-ratio{border:1px solid var(--border);padding:3px 8px}@media (max-width:900px){.project-gallery{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.project-gallery{grid-template-columns:1fr}}.tech-chip{border:1px solid var(--border);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:0 0;align-items:center;padding:4px 11px;font-size:11px;font-weight:500;transition:border-color .2s,color .2s;display:inline-flex}.tech-chip:hover{border-color:var(--accent);color:var(--accent)}.card{background:var(--bg);padding:clamp(24px,4vw,40px);transition:background .25s}.card:hover{background:var(--card)}.gap-grid{background:var(--border);border:1px solid var(--border);gap:1px;display:grid}.gap-grid>*{background:var(--bg);transition:background .25s}.gap-grid>:hover{background:var(--card)}.btn-primary{background:var(--fg);color:var(--bg);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;border:1px solid var(--fg);cursor:none;align-items:center;gap:10px;padding:13px 28px;font-size:11px;font-weight:500;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.btn-primary:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.form-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:500;display:block}.form-input{border:1px solid var(--border);width:100%;font-family:var(--font-body);color:var(--fg);resize:none;background:0 0;border-radius:0;outline:none;padding:12px 16px;font-size:14px;font-weight:300;transition:border-color .2s}.form-input:focus{border-color:var(--accent)}.form-input::-moz-placeholder{color:var(--muted);font-weight:300}.form-input::placeholder{color:var(--muted);font-weight:300}.custom-cursor{border:1.5px solid var(--fg);pointer-events:none;z-index:9999;border-radius:9999px;width:20px;height:20px;transition:border-color .18s,background .18s,opacity .18s;position:fixed;top:0;left:0}.custom-cursor.is-link{border-color:var(--accent);background:#db546117}.custom-cursor.is-text{background:#db54612e;border-color:#db54618c}.custom-cursor.is-magnet{border-color:var(--accent);background:#db54611a}.custom-cursor.is-click{opacity:.55;border-color:var(--accent)!important;background:#db546138!important}.cursor-dot{background:var(--fg);pointer-events:none;z-index:10000;border-radius:50%;width:4px;height:4px;transition:background .15s,transform 40ms linear;position:fixed;top:0;left:0}.cursor-dot.is-link,.cursor-dot.is-magnet,.cursor-dot.is-text{background:var(--accent)}input,select,textarea{cursor:none}@media (pointer:coarse){.cursor-dot,.custom-cursor{display:none}input,select,textarea{cursor:text}}@media (max-width:900px){.hide-mobile{display:none!important}.hero-grid{grid-template-columns:1fr!important;min-height:auto!important}.hero-left{border-bottom:1px solid var(--border);border-right:none!important}.about-sections-grid,.contact-grid,.page-header-grid,.projects-grid{grid-template-columns:1fr!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}