:root{--bone:#f5efe0;--cream:#faf6ee;--orange:#ff6720;--orange-light:#f7b899;--orange-muted:#e8845a;--ink:#2a2016;--ink-mid:#6b5740;--white:#fdfaf5;--glass:#fdfaf5b8;--f-display:"Fraunces", Georgia, serif;--f-body:"DM Sans", sans-serif;--ease-expo:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--f-body);background:var(--cream);color:var(--ink);overflow-x:hidden}img{max-width:100%;display:block}a,button{-webkit-tap-highlight-color:transparent}body:before{content:"";opacity:.032;pointer-events:none;z-index:9998;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}.float-layer{pointer-events:none;z-index:9997;position:fixed;inset:0;overflow:hidden}.float-shape{opacity:0;will-change:transform, opacity;filter:drop-shadow(0 16px 24px #2a20161f);animation:linear infinite floatForward;position:absolute;bottom:-140px;left:0}.float-shape svg{display:block;overflow:visible}@keyframes floatForward{0%{opacity:0;transform:translate(0,0)rotate(0)scale(1)}8%{opacity:var(--float-opacity,.75)}92%{opacity:var(--float-opacity,.75)}to{opacity:0;transform:translate3d(var(--float-drift,40px), -125vh, 0) rotate(var(--float-rotation,360deg)) scale(.72)}}nav{z-index:1000;-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:#fdfaf585;border:1px solid #ff672029;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;width:min(100% - 2rem,1180px);padding:.8rem 1rem .8rem 1.2rem;transition:background .3s,box-shadow .3s,border-color .3s;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 18px 60px #2a201614}nav.scrolled{background:#fdfaf5e0;border-color:#ff672038;box-shadow:0 22px 70px #2a20161f}.nav-logo{font-family:var(--f-display);color:var(--ink);letter-spacing:-.02em;white-space:nowrap;font-size:1.05rem;font-weight:800;text-decoration:none}.nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.nav-links a{font-family:var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mid);font-size:.78rem;font-weight:700;text-decoration:none;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--orange);width:0;height:1.5px;transition:width .3s var(--ease-expo);position:absolute;bottom:-5px;left:0}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{width:100%}.nav-toggle{background:var(--orange);cursor:pointer;border:0;border-radius:50%;width:42px;height:42px;display:none;position:relative}.nav-toggle span,.nav-toggle:before,.nav-toggle:after{content:"";background:var(--white);border-radius:99px;width:18px;height:2px;transition:transform .25s,top .25s,opacity .2s;position:absolute;left:12px}.nav-toggle:before{top:14px}.nav-toggle span{top:20px}.nav-toggle:after{top:26px}nav.menu-open .nav-toggle:before{top:20px;transform:rotate(45deg)}nav.menu-open .nav-toggle span{opacity:0}nav.menu-open .nav-toggle:after{top:20px;transform:rotate(-45deg)}section{position:relative;overflow:hidden}#home{background:radial-gradient(circle at 78% 18%, #ff67201a, transparent 28%), radial-gradient(circle at 12% 85%, #f7b89952, transparent 30%), var(--cream);align-items:center;min-height:100vh;padding:8rem 3rem 4rem;display:flex}.home-inner{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;width:100%;max-width:1200px;margin:0 auto;display:grid}.hero-text{z-index:2;position:relative}.hero-tag{font-family:var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--orange-muted);opacity:0;animation:fadeUp .8s .3s var(--ease-expo) forwards;align-items:center;gap:.55rem;margin-bottom:1.8rem;font-size:.72rem;font-weight:800;display:inline-flex;transform:translateY(20px)}.hero-h1{font-family:var(--f-display);letter-spacing:-.055em;color:var(--ink);opacity:0;animation:fadeUp .9s .5s var(--ease-expo) forwards;font-size:clamp(3.6rem,7vw,6.4rem);font-weight:850;line-height:.95;transform:translateY(30px)}.hero-h1 em{color:var(--orange);font-style:italic;font-weight:300}.hero-sub{color:var(--ink-mid);opacity:0;max-width:430px;animation:fadeUp .9s .75s var(--ease-expo) forwards;margin-top:2rem;font-size:1rem;line-height:1.75;transform:translateY(20px)}.hero-cta{opacity:0;animation:fadeUp .9s .95s var(--ease-expo) forwards;flex-wrap:wrap;gap:.9rem;margin-top:2.8rem;display:flex;transform:translateY(20px)}.btn-primary,.btn-ghost{font-family:var(--f-body);letter-spacing:.06em;cursor:pointer;transition:background .3s, transform .3s var(--ease-expo), box-shadow .3s, border-color .3s, color .3s;border:none;border-radius:100px;justify-content:center;align-items:center;gap:.7rem;padding:.9rem 2rem;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--orange);color:var(--white);box-shadow:0 4px 24px #ff672047}.btn-primary:hover{background:var(--orange-muted);transform:translateY(-2px);box-shadow:0 8px 32px #ff672057}.btn-ghost{color:var(--ink);background:#fdfaf5a6;border:1px solid #2a20161f}.btn-ghost:hover{color:var(--orange);border-color:#ff672073;transform:translateY(-2px)}.btn-arrow{font-size:1rem;transition:transform .3s}.btn-primary:hover .btn-arrow,.btn-ghost:hover .btn-arrow{transform:translate(3px,-3px)}.hero-visual{opacity:0;height:520px;animation:fadeIn 1.2s .6s var(--ease-expo) forwards;position:relative}.blob{border-radius:60% 40% 70% 30%/50% 60% 40% 50%;animation:8s ease-in-out infinite alternate morph;position:absolute}.blob-1{background:var(--orange-light);opacity:.5;width:360px;height:360px;top:50px;left:40px}.blob-2{background:var(--orange);opacity:.34;width:230px;height:230px;animation-delay:-3s;bottom:40px;right:20px}.blob-3{background:var(--bone);border:2px solid var(--orange-light);opacity:.78;width:170px;height:170px;animation-delay:-5s;top:20px;right:60px}.hero-portrait{background:var(--bone);border:1px solid #ff67202e;border-radius:38px;position:absolute;inset:55px 75px 95px 85px;overflow:hidden;transform:rotate(-3deg);box-shadow:0 30px 80px #2a201629}.hero-portrait img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-portrait.is-placeholder{background:linear-gradient(135deg, var(--bone), var(--orange-light));place-items:center;display:grid}.hero-portrait.is-placeholder:before{content:"TU\\A FOTO";white-space:pre;font-family:var(--f-display);letter-spacing:-.08em;color:#2a201640;text-align:center;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:800;line-height:.86}.hero-portrait.hero-favicon-preview{background:linear-gradient(135deg, var(--bone), var(--orange-light));place-items:center;display:grid}.hero-portrait.hero-favicon-preview img{object-fit:contain;object-position:center;filter:drop-shadow(0 18px 28px #2a20162e);width:min(52%,220px);height:auto}.hero-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fdfaf5db;border:1px solid #ff672040;border-radius:22px;min-width:270px;padding:1.4rem 2rem;position:absolute;bottom:60px;left:50%;transform:translate(-50%);box-shadow:0 16px 48px #2a20161f}.card-label{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-mid);font-size:.7rem}.card-stat{font-family:var(--f-display);color:var(--ink);margin:.3rem 0;font-size:2.4rem;font-weight:850;line-height:1}.card-desc{color:var(--ink-mid);font-size:.8rem}.parallax-dot{pointer-events:none;border-radius:50%;position:absolute}#about{background:var(--bone);align-items:center;min-height:100vh;padding:8rem 3rem;display:flex}.about-inner{grid-template-columns:1fr 1.2fr;align-items:center;gap:6rem;width:100%;max-width:1200px;margin:0 auto;display:grid}.section-number{font-family:var(--f-display);color:var(--orange);letter-spacing:.05em;margin-bottom:1rem;font-size:.8rem;font-style:italic;display:block}.section-title{font-family:var(--f-display);letter-spacing:-.04em;color:var(--ink);margin-bottom:2rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:780;line-height:1.05}.section-title em{color:var(--orange);font-style:italic;font-weight:300}.about-photo-wrap{height:520px;position:relative}.about-frame{background:linear-gradient(135deg, var(--orange-light) 0%, var(--orange) 100%);border-radius:40% 60% 55% 45%/45% 40% 60% 55%;animation:10s ease-in-out infinite alternate morphSlow;position:absolute;inset:0;overflow:hidden}.about-frame-inner{border-radius:inherit;background:var(--bone);position:absolute;inset:12px;overflow:hidden}.about-frame-inner img{object-fit:cover;object-position:center;width:100%;height:100%}.about-frame-inner.is-placeholder{font-family:var(--f-display);color:var(--orange-light);letter-spacing:-.05em;justify-content:center;align-items:center;font-size:5rem;display:flex}.about-deco{border:2px solid var(--orange);opacity:.4;border-radius:50%;width:90px;height:90px;position:absolute;top:-20px;right:-10px}.about-deco2{background:var(--orange);opacity:.3;border-radius:50%;width:50px;height:50px;position:absolute;bottom:40px;left:-15px}.about-body{color:var(--ink-mid);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.75}.about-skills{flex-wrap:wrap;gap:.6rem;margin-top:2rem;display:flex}.skill-tag{letter-spacing:.06em;color:var(--orange-muted);background:#ff67201a;border:1px solid #ff672040;border-radius:100px;padding:.45rem 1.1rem;font-size:.78rem;font-weight:600;transition:background .3s,transform .3s}.skill-tag:hover{background:#ff67202e;transform:translateY(-1px)}#works{background:var(--cream);min-height:100vh;padding:8rem 3rem}.works-inner{max-width:1200px;margin:0 auto}.works-header{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:5rem;display:flex}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;display:grid}.work-card{cursor:pointer;transition:transform .5s var(--ease-expo), box-shadow .5s var(--ease-expo), border-color .3s;transform-style:preserve-3d;background:#f5efe0b8;border:1px solid #ff672024;border-radius:28px;position:relative;overflow:hidden}.work-card:hover{border-color:#ff672047;transform:translateY(-8px)scale(1.01);box-shadow:0 24px 60px #2a20161f}.work-card:nth-child(2){margin-top:3rem}.work-card:nth-child(3){margin-top:-2rem}.work-thumb{background:var(--bone);height:240px;position:relative;overflow:hidden}.work-photo{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .6s var(--ease-expo), filter .6s var(--ease-expo)}.work-card:hover .work-photo{filter:saturate(1.06)contrast(1.03);transform:scale(1.07)}.work-thumb:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#2a201647);position:absolute;inset:0}.work-thumb-bg{transition:transform .6s var(--ease-expo);position:absolute;inset:0}.work-thumb-bg.t1{background:linear-gradient(135deg,#f7b899 0%,#f2956a 100%)}.work-thumb-bg.t2{background:linear-gradient(135deg,#f5efe0 0%,#e8c9a8 100%)}.work-thumb-bg.t3{background:linear-gradient(135deg,#fad4be 0%,#f2956a 60%,#d97040 100%)}.work-thumb-icon{opacity:.42;justify-content:center;align-items:center;font-size:4rem;display:flex;position:absolute;inset:0}.work-info{padding:1.6rem}.work-cat{text-transform:uppercase;letter-spacing:.16em;color:var(--orange-muted);font-size:.7rem;font-weight:700}.work-title{font-family:var(--f-display);letter-spacing:-.03em;color:var(--ink);margin:.4rem 0 .6rem;font-size:1.45rem;font-weight:760;line-height:1.15}.work-desc{color:var(--ink-mid);font-size:.88rem;line-height:1.65}.work-link{color:var(--orange);letter-spacing:.04em;align-items:center;gap:.4rem;margin-top:1.2rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:gap .3s;display:inline-flex}.work-link:hover{gap:.8rem}body.popover-open{overflow:hidden}.project-popover{z-index:10050;opacity:0;pointer-events:none;transition:opacity .32s var(--ease-expo);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.project-popover.is-open{opacity:1;pointer-events:auto}.project-popover-backdrop{-webkit-backdrop-filter:blur(12px)saturate(1.05);backdrop-filter:blur(12px)saturate(1.05);background:radial-gradient(circle at 50% 35%,#ff67202e,#0000 34%),#2a20167a;position:absolute;inset:0}.project-popover-card{width:min(1120px,100vw - 3rem);max-height:min(88vh,820px);transition:transform .38s var(--ease-expo);background:#fdfaf5eb;border:1px solid #ff67203d;border-radius:34px;outline:none;grid-template-columns:minmax(300px,.95fr) minmax(340px,1.05fr);align-items:stretch;display:grid;position:relative;overflow:hidden;transform:translateY(24px)scale(.96);box-shadow:0 34px 110px #2a201657}.project-popover.is-open .project-popover-card{transform:translateY(0)scale(1)}.project-popover-card:before,.project-popover-card:after{content:"";pointer-events:none;opacity:.6;position:absolute}.project-popover-card:before{background:#ff672024;border-radius:50%;width:160px;height:160px;top:-56px;right:-56px}.project-popover-card:after{width:1px;height:76%;left:var(--popover-divider-left,46%);background:linear-gradient(#0000,#ff67203d,#0000);top:12%}.project-popover-close{z-index:3;width:44px;height:44px;color:var(--cream);cursor:pointer;transition:transform .25s var(--ease-expo), background .25s;background:#2a2016e0;border:0;border-radius:999px;font-size:1.6rem;line-height:1;position:absolute;top:1rem;right:1rem}.project-popover-close:hover{background:var(--orange);transform:rotate(8deg)scale(1.04)}.project-popover-media{background:radial-gradient(circle at 24% 20%, #ffffff61, transparent 30%), linear-gradient(135deg, var(--bone), var(--orange-light));place-items:center;height:min(74vh,700px);min-height:0;max-height:min(82vh,760px);padding:clamp(.9rem,1.8vw,1.4rem);display:grid;position:relative;overflow:hidden}.project-popover-media img{object-fit:contain;object-position:center;border-radius:24px;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 18px 52px #2a20162e}.project-popover-media img.is-hidden{display:none}.project-popover-placeholder{font-family:var(--f-display);color:#2a201638;background:linear-gradient(135deg, var(--bone), var(--orange-light));place-items:center;font-size:7rem;display:grid;position:absolute;inset:0}.project-popover-placeholder.is-hidden{display:none}.project-popover-content{z-index:2;padding:clamp(2rem,4vw,3.4rem);position:relative;overflow-y:auto}.project-popover-kicker{text-transform:uppercase;letter-spacing:.17em;color:var(--orange-muted);margin-bottom:.9rem;font-size:.72rem;font-weight:800}.project-popover-title{font-family:var(--f-display);letter-spacing:-.055em;color:var(--ink);max-width:580px;font-size:clamp(2.2rem,4.5vw,4rem);font-weight:800;line-height:.98}.project-popover-desc{color:var(--ink-mid);max-width:560px;margin-top:1.4rem;font-size:1rem;line-height:1.75}.project-popover-details{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.8rem;margin-top:2rem;display:grid}.project-popover-details div{background:#f5efe0d1;border:1px solid #ff672024;border-radius:20px;min-height:104px;max-height:118px;padding:1rem;overflow:hidden}.project-popover-details span{text-transform:uppercase;letter-spacing:.13em;color:var(--orange-muted);margin-bottom:.4rem;font-size:.68rem;font-weight:800;display:block}.project-popover-details strong{color:var(--ink);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.35;display:-webkit-box;overflow:hidden}.project-popover-reference-block{margin-top:1.2rem}.project-popover-reference-block.is-hidden{display:none}.project-popover-reference-title{text-transform:uppercase;letter-spacing:.13em;color:var(--orange-muted);margin-bottom:.75rem;font-size:.68rem;font-weight:800}.project-popover-gallery{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.project-gallery-item{cursor:pointer;height:92px;min-height:0;transition:transform .25s var(--ease-expo), border-color .25s, box-shadow .25s;background:radial-gradient(circle at 28% 28%,#ff672052,#0000 32%),linear-gradient(135deg,#f5efe0e6,#f7b89970);border:1px solid #ff672029;border-radius:18px;padding:0;position:relative;overflow:hidden}.project-gallery-item.is-active{border-color:#ff67209e;box-shadow:0 10px 26px #ff672029}.project-gallery-item:hover{border-color:#ff672061;transform:translateY(-2px);box-shadow:0 12px 28px #2a20161f}.project-gallery-item img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:0;transition:transform .35s var(--ease-expo), filter .35s}.project-gallery-item:hover img{filter:saturate(1.06)contrast(1.03);transform:scale(1.06)}.project-gallery-item.has-error{color:#2a201685;place-items:center;padding:.8rem;font-size:.72rem;font-weight:700;display:grid}#contact{background:var(--ink);align-items:center;min-height:70vh;padding:8rem 3rem;display:flex;position:relative;overflow:hidden}#contact:before{content:"";pointer-events:none;background:radial-gradient(circle,#ff67202e 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-100px}#contact:after{content:"";pointer-events:none;background:radial-gradient(circle,#ff67201f 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;bottom:-150px;left:100px}.contact-inner{z-index:2;grid-template-columns:1.2fr 1fr;align-items:center;gap:6rem;width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.contact-big{font-family:var(--f-display);letter-spacing:-.055em;color:var(--cream);font-size:clamp(3rem,6vw,5.5rem);font-weight:850;line-height:.95}.contact-big em{color:var(--orange);font-style:italic;font-weight:300}.contact-sub{color:#f5efe099;margin-top:1.5rem;font-size:1rem;line-height:1.7}.contact-form{flex-direction:column;gap:1.2rem;display:flex}.form-group{position:relative}.form-input{width:100%;font-family:var(--f-body);color:var(--cream);background:#f5efe012;border:1px solid #f5efe026;border-radius:16px;outline:none;padding:1rem 1.3rem;font-size:.9rem;transition:border-color .3s,background .3s}.form-input::placeholder{color:#f5efe05c}.form-input:focus{border-color:var(--orange);background:#ff67200f}textarea.form-input{resize:none;height:130px}.btn-send{background:var(--orange);color:var(--white);font-family:var(--f-body);letter-spacing:.06em;cursor:pointer;transition:background .3s, transform .3s var(--ease-expo), box-shadow .3s;border:none;border-radius:100px;align-self:flex-start;padding:.9rem 2rem;font-size:.85rem;font-weight:700;box-shadow:0 4px 24px #ff672040}.btn-send:hover{background:var(--orange-muted);transform:translateY(-2px);box-shadow:0 8px 32px #ff672059}footer{background:var(--ink);border-top:1px solid #f5efe014;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 3rem;display:flex}.footer-logo{font-family:var(--f-display);color:var(--cream);font-size:1rem;font-weight:800;text-decoration:none}.footer-copy{color:#f5efe059;letter-spacing:.04em;font-size:.78rem}.footer-socials{gap:1.4rem;display:flex}.footer-socials a{letter-spacing:.08em;text-transform:uppercase;color:#f5efe073;font-size:.78rem;font-weight:600;text-decoration:none;transition:color .3s}.footer-socials a:hover{color:var(--orange)}.reveal{opacity:0;transition:opacity .9s var(--ease-expo), transform .9s var(--ease-expo);transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.45s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes morph{0%{border-radius:60% 40% 70% 30%/50% 60% 40% 50%}25%{border-radius:45% 55% 40% 60%/60% 40% 55% 45%}50%{border-radius:55% 45% 60% 40%/40% 55% 45% 60%}75%{border-radius:35% 65% 50% 50%/55% 35% 65% 45%}to{border-radius:65% 35% 45% 55%/45% 65% 35% 55%}}@keyframes morphSlow{0%{border-radius:40% 60% 55% 45%/45% 40% 60% 55%}to{border-radius:60% 40% 45% 55%/55% 60% 40% 45%}}.pdot1{background:var(--orange);opacity:.5;width:14px;height:14px;top:20%;left:8%}.pdot2{background:var(--orange-light);opacity:.6;width:8px;height:8px;top:60%;right:12%}.pdot3{border:2px solid var(--orange);opacity:.3;background:0 0;width:22px;height:22px;top:40%;left:5%}.pdot4{background:var(--orange-muted);opacity:.4;width:6px;height:6px;top:80%;left:20%}.line-deco{background:linear-gradient(to bottom, transparent, var(--orange), transparent);opacity:.25;pointer-events:none;width:1px;position:absolute}@media (width<=900px){nav{width:min(100% - 1rem,1180px);padding:.72rem .75rem .72rem 1rem;top:.8rem}.nav-toggle{display:block}.nav-links{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;background:#fdfaf5f0;border:1px solid #ff672029;border-radius:26px;gap:.2rem;padding:.9rem;transition:opacity .25s,transform .25s;display:grid;position:absolute;top:calc(100% + .7rem);left:0;right:0;transform:translateY(-10px)scale(.98);box-shadow:0 22px 60px #2a201624}nav.menu-open .nav-links{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.nav-links a{border-radius:18px;padding:1rem;display:block}.nav-links a:hover{background:#ff672014}.nav-links a:after{display:none}.home-inner{grid-template-columns:1fr}.hero-visual{height:360px;min-height:360px}.hero-portrait{inset:35px 45px 80px}.about-inner{grid-template-columns:1fr;gap:3rem}.about-photo-wrap{height:340px}.works-grid{grid-template-columns:1fr}.work-card:nth-child(2),.work-card:nth-child(3){margin-top:0}.contact-inner{grid-template-columns:1fr;gap:3rem}.works-header{flex-direction:column;align-items:flex-start;gap:1.2rem}.home-inner,.about-inner,.works-inner,.contact-inner{padding:0}#home,#about,#works,#contact{padding:6.5rem 1.5rem}.project-popover{padding:1rem}.project-popover-card,.project-popover-card.is-landscape,.project-popover-card.is-portrait,.project-popover-card.is-square{grid-template-columns:1fr;width:min(720px,100%);max-height:86vh;overflow-y:auto}.project-popover-card:after{display:none}.project-popover-media,.project-popover-card.is-landscape .project-popover-media,.project-popover-card.is-portrait .project-popover-media{height:min(52vh,430px);min-height:260px;max-height:430px;padding:.85rem}.project-popover-content{overflow:visible}.project-popover-details{grid-template-columns:1fr}.project-popover-details div{min-height:86px;max-height:none}.project-popover-details strong{-webkit-line-clamp:unset}footer{text-align:center;flex-direction:column;gap:1rem;padding:2rem 1.5rem}}@media (width<=520px){.hero-h1{font-size:clamp(3.2rem,18vw,4.8rem)}.hero-cta{align-items:stretch}.btn-primary,.btn-ghost{width:100%}.work-thumb{height:210px}.project-popover{padding:.75rem}.project-popover-card{border-radius:26px}.project-popover-media,.project-popover-card.is-landscape .project-popover-media,.project-popover-card.is-portrait .project-popover-media{height:min(45vh,330px);min-height:220px;padding:.65rem}.project-popover-media img{border-radius:18px}.project-popover-title{font-size:clamp(2rem,12vw,3.1rem)}.project-popover-gallery{grid-template-columns:repeat(3,1fr)}.project-gallery-item{height:64px;min-height:0}.footer-socials{flex-wrap:wrap;justify-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.float-layer{display:none}}#root{min-height:100vh}.skip-link{z-index:20000;background:var(--ink);color:var(--cream);transition:transform .2s var(--ease-expo);border-radius:999px;padding:.8rem 1rem;font-weight:800;text-decoration:none;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.nav-links a.is-active,.footer-logo.is-active{color:var(--orange)}.nav-links a.is-active:after{width:100%}.work-card-button{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.work-card-button:focus-visible,.project-gallery-item:focus-visible,.nav-toggle:focus-visible,.project-popover-close:focus-visible,.btn-primary:focus-visible,.btn-ghost:focus-visible,.btn-send:focus-visible{outline-offset:4px;outline:3px solid #ff672075}.project-popover-media img:not([src]){display:none}.form-note{color:#f5efe06b;font-size:.78rem;line-height:1.5}.route-loading{z-index:12000;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;background:#fdfaf5db;border:1px solid #ff67202e;border-radius:999px;padding:.65rem .9rem;font-size:.72rem;font-weight:800;position:fixed;inset:auto 1rem 1rem auto;box-shadow:0 14px 38px #2a20161f}
