@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;0,800;1,500;1,600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-obsidian:#0b0b0b;--color-surface-base:#121212;--color-surface-card:#161616;--color-surface-elevated:#1f1f1f;--color-surface-border:#f3f0e917;--color-surface-border-hover:#f3f0e93d;--color-ivory:#f3f0e9;--color-ivory-muted:#a6a6a6;--color-ivory-faint:#707070;--color-accent-red:#d43c32;--color-accent-red-hover:#e24a40;--color-accent-red-subtle:#d43c321f;--font-display:"Playfair Display", Georgia, serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-hero:clamp(3rem, 7vw + 1rem, 6.8rem);--text-h1:clamp(2.2rem, 4.5vw + .5rem, 4.2rem);--text-h2:clamp(1.75rem, 3.2vw + .4rem, 3rem);--text-h3:clamp(1.35rem, 2vw + .2rem, 2rem);--text-h4:clamp(1.1rem, 1.2vw + .15rem, 1.4rem);--text-body-lg:clamp(1.05rem, 1vw + .5rem, 1.25rem);--text-body:1rem;--text-sm:.875rem;--text-xs:.75rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:5rem;--space-4xl:8rem;--container-max:1440px;--container-narrow:1040px;--container-pad:clamp(1.25rem, 4.5vw, 4rem);--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-full:9999px;--shadow-card:0 10px 30px #00000080;--shadow-lightbox:0 30px 90px #000000f2;--ease-editorial:cubic-bezier(.16, 1, .3, 1);--duration-fast:.2s;--duration-normal:.4s;--duration-slow:.7s;--header-height:80px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-obsidian);color:var(--color-ivory);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--color-obsidian);color:var(--color-ivory);flex-direction:column;min-height:100vh;line-height:1.6;display:flex;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}a{color:inherit;transition:color var(--duration-fast) ease;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;background:0 0;border:none}button{cursor:pointer}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--color-accent-red);outline-offset:3px}.editorial-grain{pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100vw;height:100vh;position:fixed;top:0;left:0}.container{width:100%;max-width:var(--container-max);padding-left:var(--container-pad);padding-right:var(--container-pad);margin-left:auto;margin-right:auto}.container-narrow{width:100%;max-width:var(--container-narrow);padding-left:var(--container-pad);padding-right:var(--container-pad);margin-left:auto;margin-right:auto}.section-padding{padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem)}.section-header{margin-bottom:clamp(2.5rem,5vw,4.5rem)}.chapter-tag{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent-red);align-items:center;gap:.6rem;margin-bottom:.8rem;display:inline-flex}.chapter-tag:before{content:"";background-color:var(--color-accent-red);width:18px;height:1px;display:inline-block}.section-title{font-family:var(--font-display);font-size:var(--text-h2);letter-spacing:-.02em;color:var(--color-ivory);font-weight:700;line-height:1.15}.section-subtitle{font-size:var(--text-body-lg);color:var(--color-ivory-muted);max-width:620px;margin-top:1rem;line-height:1.6}.btn{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.04em;border-radius:var(--radius-xs);transition:all var(--duration-fast) var(--ease-editorial);cursor:pointer;text-align:center;justify-content:center;align-items:center;gap:.6rem;padding:.9rem 1.8rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--color-ivory);color:var(--color-obsidian);border:1px solid var(--color-ivory)}.btn-primary:hover{background-color:var(--color-accent-red);border-color:var(--color-accent-red);color:var(--color-ivory);transform:translateY(-2px)}.btn-secondary{color:var(--color-ivory);border:1px solid var(--color-surface-border-hover);background-color:#0000}.btn-secondary:hover{border-color:var(--color-ivory);background-color:#f3f0e90d;transform:translateY(-2px)}.btn-accent{background-color:var(--color-accent-red);color:var(--color-ivory);border:1px solid var(--color-accent-red)}.btn-accent:hover{background-color:var(--color-accent-red-hover);border-color:var(--color-accent-red-hover);transform:translateY(-2px)}.btn-text{color:var(--color-ivory);background:0 0;border:none;align-items:center;gap:.5rem;padding:0;font-weight:600;display:inline-flex}.btn-text:hover{color:var(--color-accent-red)}.btn-text:after{content:"→";transition:transform var(--duration-fast) ease}.btn-text:hover:after{transform:translate(4px)}.hairline{background-color:var(--color-surface-border);width:100%;height:1px;margin:var(--space-xl) 0}#site-header{width:100%;height:var(--header-height);z-index:1000;transition:background-color var(--duration-normal) ease, border-color var(--duration-normal) ease, backdrop-filter var(--duration-normal) ease;border-bottom:1px solid #0000;position:fixed;top:0;left:0}#site-header.scrolled{-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--color-surface-border);background-color:#0b0b0be0}.header-container{justify-content:space-between;align-items:center;height:100%;display:flex}.brand-wrapper{align-items:center;gap:.85rem;text-decoration:none;display:flex}.brand-mark{object-fit:contain;width:48px;height:48px;transition:transform var(--duration-fast) ease;filter:drop-shadow(0 2px 8px #00000073);flex-shrink:0}.brand-wrapper:hover .brand-mark{transform:scale(1.08)}.brand-wordmark{object-fit:contain;width:auto;max-width:200px;height:32px;transition:opacity var(--duration-fast) ease;display:block}.brand-wrapper:hover .brand-wordmark{opacity:.92}.footer-brand-wordmark{object-fit:contain;width:auto;max-width:260px;height:38px;margin-bottom:1.25rem;display:block}.brand-text{flex-direction:column;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.05em;color:var(--color-ivory);font-size:1.15rem;font-weight:700;line-height:1.1}.brand-location{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ivory-faint);margin-top:2px;font-size:.68rem}.nav-desktop{align-items:center;gap:2rem;display:flex}.nav-links{align-items:center;gap:1.8rem;display:flex}.nav-link{font-size:var(--text-sm);letter-spacing:.02em;color:var(--color-ivory-muted);transition:color var(--duration-fast) ease;padding:.4rem 0;font-weight:500;position:relative}.nav-link:hover,.nav-link.active{color:var(--color-ivory)}.nav-link:after{content:"";background-color:var(--color-accent-red);width:0%;height:1px;transition:width var(--duration-normal) var(--ease-editorial);position:absolute;bottom:0;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link-it{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ivory-faint);border-left:1px solid var(--color-surface-border);padding-left:1.5rem}.nav-link-it:hover{color:var(--color-ivory)}.header-cta-btn{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:.65rem 1.4rem}.hamburger-btn{border-radius:var(--radius-xs);z-index:1100;background-color:#f3f0e914;border:1px solid #f3f0e92e;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;display:none}.hamburger-line{background-color:var(--color-ivory);width:22px;height:2px;transition:transform var(--duration-normal) var(--ease-editorial), opacity var(--duration-fast) ease;border-radius:1px;display:block}.hamburger-btn.open .hamburger-line:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-nav-drawer{-webkit-backdrop-filter:blur(24px);z-index:1050;width:100vw;height:100vh;padding:calc(var(--header-height) + 2rem) var(--container-pad) 3rem;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-editorial), transform var(--duration-normal) var(--ease-editorial);background-color:#0b0b0bfa;flex-direction:column;justify-content:space-between;display:flex;position:fixed;top:0;left:0;transform:translateY(-10px)}.mobile-nav-drawer.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav-list{flex-direction:column;gap:1.25rem;display:flex}.mobile-nav-link{font-family:var(--font-display);color:var(--color-ivory);align-items:baseline;gap:1rem;font-size:2.2rem;font-weight:700;display:flex}.mobile-nav-num{font-family:var(--font-mono);color:var(--color-accent-red);font-size:.9rem}.mobile-drawer-footer{border-top:1px solid var(--color-surface-border);flex-direction:column;gap:1rem;padding-top:2rem;display:flex}.mobile-drawer-contact{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ivory-muted)}.hero-section{width:100%;min-height:100vh;padding-bottom:clamp(3rem,6vw,6rem);padding-top:var(--header-height);align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-backdrop{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-carousel{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.hero-slide{opacity:0;visibility:hidden;pointer-events:none;will-change:opacity, transform, visibility;width:100%;height:100%;transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1),visibility 1.1s;position:absolute;top:0;left:0;transform:translate(20px)scale(1.04)}.hero-slide.active,.hero-slide.is-active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(0,0)scale(1)!important}.hero-slide.prev-slide{opacity:0;visibility:hidden;transform:translate(-20px)scale(.98)}.hero-image{object-fit:cover;object-position:center center;filter:brightness(.85)contrast(1.08);width:100%;height:100%}.hero-scrim{background:linear-gradient(180deg, #0b0b0b73 0%, #0b0b0b26 35%, #0b0b0bcc 80%, var(--color-obsidian) 100%);z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.hero-3d-webgl-canvas{pointer-events:none;z-index:3;opacity:.92;mix-blend-mode:screen;width:100%;height:100%;position:absolute;top:0;left:0}.hero-carousel-controls{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-pill);transition:all var(--duration-fast) ease;background:#121212bf;border:1px solid #f3f0e924;justify-content:space-between;align-items:center;gap:1.8rem;max-width:580px;margin-top:2.2rem;padding:.75rem 1.4rem;display:inline-flex;box-shadow:0 12px 32px #00000073}.hero-carousel-controls:hover{border-color:#f3f0e94d;box-shadow:0 16px 40px #0009}.hero-carousel-info{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.75rem;display:flex}.hero-carousel-counter{color:var(--color-ivory);align-items:center;gap:.3rem;font-weight:700;display:flex}.hero-carousel-counter #hero-current-slide{color:var(--color-accent-red)}.hero-carousel-divider{color:#f3f0e940}.hero-carousel-tag{color:var(--color-ivory-muted);white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:.74rem;transition:opacity .35s;overflow:hidden}.hero-carousel-nav{align-items:center;display:flex}.hero-carousel-indicators{align-items:center;gap:8px;display:flex}.hero-indicator-dot{cursor:pointer;width:22px;height:4px;transition:width .4s var(--ease-editorial), background .3s ease;background:#f3f0e933;border:none;border-radius:4px;padding:0;position:relative;overflow:hidden}.hero-indicator-dot .indicator-progress{background:var(--color-accent-red);border-radius:4px;width:0%;height:100%;display:block;position:absolute;top:0;left:0}.hero-indicator-dot.active{background:#f3f0e959;width:44px}.hero-indicator-dot.active .indicator-progress{width:100%;transition:width 5.5s linear}.hero-indicator-dot:not(.active) .indicator-progress{transition:none;width:0%!important}.hero-content{z-index:3;width:100%;position:relative}.hero-meta-strip{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ivory-muted);align-items:center;gap:1.5rem;margin-bottom:1.2rem;display:flex}.hero-meta-dot{color:var(--color-accent-red)}.hero-headline{font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:-.03em;color:var(--color-ivory);text-transform:uppercase;max-width:1100px;margin-bottom:1.5rem;font-weight:800;line-height:.95}.hero-headline span{color:var(--color-ivory-muted);font-style:italic;font-weight:500;display:block}.hero-tagline{font-size:var(--text-body-lg);color:var(--color-ivory);max-width:540px;margin-bottom:2.2rem;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.hero-scroll-prompt{bottom:2rem;right:var(--container-pad);z-index:3;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ivory-faint);align-items:center;gap:.8rem;display:flex;position:absolute}.scroll-line{background-color:var(--color-ivory-faint);width:32px;height:1px;position:relative;overflow:hidden}.scroll-line:after{content:"";background-color:var(--color-accent-red);width:100%;height:100%;animation:2s ease-in-out infinite scroll-sweep;position:absolute;top:0;left:-100%}@keyframes scroll-sweep{0%{left:-100%}50%{left:0%}to{left:100%}}.work-grid{grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,2.5rem);display:grid}.project-card{background-color:var(--color-surface-card);border:1px solid var(--color-surface-border);border-radius:var(--radius-xs);transition:transform var(--duration-normal) var(--ease-editorial), border-color var(--duration-normal) ease;flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--color-surface-border-hover);transform:translateY(-4px)}.card-hero-spread{grid-column:span 12}.card-portrait-left{grid-column:span 5}.card-wide-right,.card-wide-left{grid-column:span 7}.card-portrait-right{grid-column:span 5}.project-media-wrap{background-color:#0e0e0e;width:100%;position:relative;overflow:hidden}.card-hero-spread .project-media-wrap{aspect-ratio:16/9}.card-portrait-left .project-media-wrap,.card-portrait-right .project-media-wrap{aspect-ratio:2/3}.card-wide-left .project-media-wrap,.card-wide-right .project-media-wrap{aspect-ratio:3/2}.project-thumb{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-editorial), filter var(--duration-normal) ease}.project-card:hover .project-thumb{transform:scale(1.04)}.project-overlay-badge{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;color:var(--color-ivory);border:1px solid var(--color-surface-border);background-color:#0b0b0bbf;padding:.35rem .75rem;position:absolute;top:1rem;right:1rem}.project-details{flex-direction:column;flex-grow:1;justify-content:space-between;padding:1.5rem;display:flex}.project-meta-row{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-red);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.project-location{color:var(--color-ivory-faint)}.project-title{font-family:var(--font-display);font-size:var(--text-h3);color:var(--color-ivory);margin-bottom:.75rem;font-weight:700;line-height:1.2}.project-snippet{font-size:var(--text-sm);color:var(--color-ivory-muted);margin-bottom:1.2rem;line-height:1.5}.project-action-link{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ivory);align-items:center;gap:.5rem;margin-top:auto;font-weight:600;display:inline-flex}.project-action-link:hover{color:var(--color-accent-red)}.specialties-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.specialty-card{border-radius:var(--radius-xs);border:1px solid var(--color-surface-border);background-color:var(--color-surface-card);height:380px;transition:border-color var(--duration-normal) ease, transform var(--duration-normal) var(--ease-editorial);flex-direction:column;justify-content:flex-end;padding:2rem;display:flex;position:relative;overflow:hidden}.specialty-card:hover{border-color:var(--color-surface-border-hover);transform:translateY(-4px)}.specialty-bg-wrap{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.specialty-img{object-fit:cover;filter:brightness(.48)contrast(1.1);width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-editorial), filter var(--duration-normal) ease}.specialty-img[src=""],.specialty-img:not([src]){display:none}.specialty-card:hover .specialty-img{filter:brightness(.6)contrast(1.1);transform:scale(1.05)}.specialty-scrim{z-index:2;background:linear-gradient(#0b0b0b1a 0%,#0b0b0bd9 85%);width:100%;height:100%;position:absolute;top:0;left:0}.specialty-content{z-index:3;position:relative}.specialty-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-red);margin-bottom:.5rem}.specialty-title{font-family:var(--font-display);color:var(--color-ivory);margin-bottom:.6rem;font-size:1.6rem;font-weight:700;line-height:1.2}.specialty-desc{font-size:var(--text-sm);color:var(--color-ivory-muted);margin-bottom:1.2rem;line-height:1.5}.featured-story-section{background-color:var(--color-surface-base);border-top:1px solid var(--color-surface-border);border-bottom:1px solid var(--color-surface-border);position:relative}.featured-story-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.featured-story-media{border-radius:var(--radius-xs);border:1px solid var(--color-surface-border);aspect-ratio:4/5;position:relative;overflow:hidden}.featured-story-img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-editorial)}.featured-story-media:hover .featured-story-img{transform:scale(1.03)}.featured-story-tag{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent-red);margin-bottom:.8rem}.featured-story-title{font-family:var(--font-display);font-size:var(--text-h2);color:var(--color-ivory);margin-bottom:1.5rem;font-weight:700;line-height:1.15}.featured-story-excerpt{font-size:var(--text-body-lg);color:var(--color-ivory-muted);margin-bottom:1.5rem;line-height:1.7}.story-meta-list{border-top:1px solid var(--color-surface-border);border-bottom:1px solid var(--color-surface-border);grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem;padding:1.5rem 0;display:grid}.story-meta-item{flex-direction:column;display:flex}.story-meta-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;color:var(--color-ivory-faint);letter-spacing:.08em}.story-meta-val{font-size:var(--text-sm);color:var(--color-ivory);margin-top:2px;font-weight:600}.about-preview-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.about-portrait-wrap{border-radius:var(--radius-xs);border:1px solid var(--color-surface-border);aspect-ratio:3/4;position:relative;overflow:hidden}.about-portrait-img{object-fit:cover;filter:contrast(1.05);width:100%;height:100%}.about-portrait-caption{width:100%;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ivory-muted);background:linear-gradient(#0000 0%,#0b0b0be6 100%);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:absolute;bottom:0;left:0}.about-text-content{flex-direction:column;display:flex}.about-quote{font-family:var(--font-display);color:var(--color-ivory);border-left:2px solid var(--color-accent-red);margin:1.2rem 0 1.8rem;padding-left:1.5rem;font-size:1.6rem;font-style:italic;line-height:1.35}.about-bio-p{font-size:var(--text-body);color:var(--color-ivory-muted);margin-bottom:1.2rem;line-height:1.7}.about-credentials{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem;margin-bottom:2rem;display:grid}.about-credential-card{background-color:var(--color-surface-base);border:1px solid var(--color-surface-border);border-radius:var(--radius-xs);padding:1rem}.about-credential-card h4{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;color:var(--color-accent-red);letter-spacing:.08em;margin-bottom:4px}.about-credential-card p{font-size:var(--text-sm);color:var(--color-ivory);font-weight:500}.pricing-preview-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.pricing-preview-card{background-color:var(--color-surface-card);border:1px solid var(--color-surface-border);border-radius:var(--radius-xs);transition:transform var(--duration-fast) ease, border-color var(--duration-fast) ease;flex-direction:column;justify-content:space-between;padding:2.2rem;display:flex}.pricing-preview-card:hover{border-color:var(--color-surface-border-hover);transform:translateY(-4px)}.pricing-preview-card.featured{border-color:var(--color-accent-red);background-color:#1a1515}.pricing-card-category{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-red);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.6rem}.pricing-card-name{font-family:var(--font-display);color:var(--color-ivory);margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.pricing-card-rate{font-family:var(--font-mono);color:var(--color-ivory);margin-bottom:1.5rem;font-size:1.85rem;font-weight:700}.pricing-features-list{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.pricing-feature-item{font-size:var(--text-sm);color:var(--color-ivory-muted);align-items:center;gap:.6rem;display:flex}.pricing-feature-item:before{content:"✓";color:var(--color-accent-red);font-family:var(--font-mono);font-weight:700}.pricing-advance-notice{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ivory-faint);text-align:center;margin-top:.75rem}.booking-cta-section{background-color:var(--color-surface-base);border-top:1px solid var(--color-surface-border);border-bottom:1px solid var(--color-surface-border);text-align:center;padding:clamp(5rem, 10vw, 9rem) var(--container-pad);position:relative}.booking-cta-headline{font-family:var(--font-display);font-size:var(--text-h1);text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1.5rem;font-weight:800;line-height:1.05}.booking-cta-sub{font-size:var(--text-body-lg);color:var(--color-ivory-muted);max-width:580px;margin:0 auto 2.5rem}.booking-cta-actions{flex-wrap:wrap;justify-content:center;gap:1.2rem;display:flex}.site-footer{border-top:1px solid var(--color-surface-border);background-color:#070707;padding:clamp(3.5rem,6vw,5.5rem) 0 2.5rem}.footer-top-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem;display:grid}.footer-brand-col{flex-direction:column;display:flex}.footer-brand-heading{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.footer-brand-desc{font-size:var(--text-sm);color:var(--color-ivory-muted);max-width:320px;margin-bottom:1.5rem}.footer-direct-contact{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ivory-muted);flex-direction:column;gap:.4rem;display:flex}.footer-direct-contact a:hover{color:var(--color-accent-red)}.footer-nav-col h4{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent-red);margin-bottom:1.2rem}.footer-link-list{flex-direction:column;gap:.75rem;display:flex}.footer-link-list a{font-size:var(--text-sm);color:var(--color-ivory-muted)}.footer-link-list a:hover{color:var(--color-ivory)}.footer-bottom-bar{border-top:1px solid var(--color-surface-border);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ivory-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;display:flex}dialog{color:var(--color-ivory);background:0 0;border:none;max-width:100vw;max-height:100vh;margin:auto}dialog::backdrop{-webkit-backdrop-filter:blur(16px);background-color:#0b0b0bf2}.lightbox-dialog{box-sizing:border-box;flex-direction:column;justify-content:space-between;width:100vw;height:100vh;padding:1.5rem;display:flex}.lightbox-dialog:not([open]){display:none}.lightbox-topbar{z-index:10;justify-content:space-between;align-items:center;width:100%;display:flex}.lightbox-meta{align-items:center;gap:1.2rem;display:flex}.lightbox-counter{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-red);background-color:var(--color-surface-elevated);border-radius:var(--radius-xs);border:1px solid var(--color-surface-border);padding:.35rem .75rem}.lightbox-title{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-ivory)}.lightbox-close-btn{border-radius:var(--radius-full);background-color:var(--color-surface-elevated);border:1px solid var(--color-surface-border);width:44px;height:44px;color:var(--color-ivory);transition:all var(--duration-fast) ease;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.lightbox-close-btn:hover{background-color:var(--color-accent-red);border-color:var(--color-accent-red)}.lightbox-viewport{flex-grow:1;justify-content:center;align-items:center;padding:1rem 0;display:flex;position:relative;overflow:hidden}.lightbox-img-element{object-fit:contain;border-radius:var(--radius-xs);max-width:90vw;max-height:80vh;box-shadow:var(--shadow-lightbox);transition:transform var(--duration-normal) var(--ease-editorial);cursor:zoom-in}.lightbox-img-element.zoomed{cursor:zoom-out;transform:scale(1.6)}.lightbox-nav-btn{border-radius:var(--radius-full);border:1px solid var(--color-surface-border);width:52px;height:52px;color:var(--color-ivory);transition:all var(--duration-fast) ease;z-index:10;background-color:#161616cc;justify-content:center;align-items:center;font-size:1.8rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav-btn:hover{background-color:var(--color-ivory);color:var(--color-obsidian)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-bottombar{width:100%;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ivory-faint);justify-content:space-between;align-items:center;display:flex}.booking-dialog{background-color:var(--color-surface-elevated);border:1px solid var(--color-surface-border-hover);border-radius:var(--radius-md);width:92%;max-width:640px;box-shadow:var(--shadow-card);max-height:90vh;padding:2.5rem;overflow-y:auto}.booking-dialog-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.booking-dialog-title{font-family:var(--font-display);color:var(--color-ivory);font-size:1.8rem;font-weight:700}.booking-dialog-desc{font-size:var(--text-sm);color:var(--color-ivory-muted);margin-top:.35rem}.booking-form{flex-direction:column;gap:1.25rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ivory-muted)}.form-input,.form-select,.form-textarea{border:1px solid var(--color-surface-border);border-radius:var(--radius-xs);width:100%;color:var(--color-ivory);font-size:var(--text-sm);transition:border-color var(--duration-fast) ease;background-color:#121212;padding:.85rem 1rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent-red);outline:none}.booking-retainer-banner{background-color:var(--color-accent-red-subtle);border-radius:var(--radius-xs);font-size:var(--text-xs);color:var(--color-ivory-muted);border:1px solid #d43c3240;padding:1rem;line-height:1.5}.booking-retainer-banner strong{color:var(--color-ivory)}.booking-action-row{gap:1rem;margin-top:.5rem;display:flex}.back-to-top-btn{border-radius:var(--radius-full);background-color:var(--color-surface-elevated);border:1px solid var(--color-surface-border-hover);width:46px;height:46px;color:var(--color-ivory);z-index:900;opacity:0;pointer-events:none;transition:all var(--duration-fast) var(--ease-editorial);box-shadow:var(--shadow-card);justify-content:center;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(10px)}.back-to-top-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top-btn:hover{background-color:var(--color-accent-red);border-color:var(--color-accent-red)}.portfolio-header{padding-top:calc(var(--header-height) + 3rem);border-bottom:1px solid var(--color-surface-border);padding-bottom:3rem}.category-filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.filter-btn{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-xs);border:1px solid var(--color-surface-border);color:var(--color-ivory-muted);background-color:var(--color-surface-base);transition:all var(--duration-fast) ease;padding:.6rem 1.2rem}.filter-btn:hover,.filter-btn.active{border-color:var(--color-accent-red);color:var(--color-ivory);background-color:var(--color-accent-red-subtle)}.gallery-masonry{column-count:3;column-gap:1.5rem;padding-top:3rem;padding-bottom:5rem}.gallery-masonry-item{break-inside:avoid;border-radius:var(--radius-xs);border:1px solid var(--color-surface-border);background-color:var(--color-surface-card);cursor:pointer;transition:transform var(--duration-normal) var(--ease-editorial), border-color var(--duration-normal) ease;margin-bottom:1.5rem;position:relative;overflow:hidden}.gallery-masonry-item:hover{border-color:var(--color-surface-border-hover);transform:translateY(-4px)}.gallery-masonry-img{width:100%;transition:transform var(--duration-slow) var(--ease-editorial);display:block}.gallery-masonry-item:hover .gallery-masonry-img{transform:scale(1.04)}.gallery-item-scrim{opacity:0;width:100%;height:100%;transition:opacity var(--duration-fast) ease;background:linear-gradient(#0000 60%,#0b0b0bd9 100%);align-items:flex-end;padding:1rem;display:flex;position:absolute;top:0;left:0}.gallery-masonry-item:hover .gallery-item-scrim{opacity:1}.gallery-item-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ivory)}.project-showcase-section{border-bottom:1px solid var(--color-surface-border);padding:4rem 0}.project-showcase-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem;display:flex}.project-showcase-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.showcase-thumb-card{aspect-ratio:3/2;border-radius:var(--radius-xs);border:1px solid var(--color-surface-border);background-color:var(--color-surface-card);cursor:pointer;position:relative;overflow:hidden}.showcase-thumb-card.portrait-card{aspect-ratio:2/3}.showcase-thumb-img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-normal) var(--ease-editorial)}.showcase-thumb-card:hover .showcase-thumb-img{transform:scale(1.05)}.pricing-tabs-wrapper{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:2.5rem 0 3.5rem;display:flex}.pricing-tab-button{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-xs);border:1px solid var(--color-surface-border);color:var(--color-ivory-muted);background-color:var(--color-surface-base);transition:all var(--duration-fast) ease;padding:.75rem 1.5rem}.pricing-tab-button.active,.pricing-tab-button:hover{background-color:var(--color-ivory);color:var(--color-obsidian);border-color:var(--color-ivory)}.pricing-grid-full{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.5rem;display:grid}.pricing-card-full{background-color:var(--color-surface-card);border:1px solid var(--color-surface-border);border-radius:var(--radius-xs);transition:transform var(--duration-fast) ease, border-color var(--duration-fast) ease;flex-direction:column;justify-content:space-between;padding:2.2rem;display:flex;position:relative}.pricing-card-full:hover{border-color:var(--color-surface-border-hover);transform:translateY(-4px)}.pricing-card-full.highlighted{border-color:var(--color-accent-red);background-color:#171313}.pricing-badge-popular{background-color:var(--color-accent-red);color:var(--color-ivory);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-xs);padding:.25rem .6rem;font-size:.68rem;position:absolute;top:1.5rem;right:1.5rem}.addons-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.addon-card{background-color:var(--color-surface-card);border:1px solid var(--color-surface-border);border-radius:var(--radius-xs);padding:1.75rem}.addon-title{font-family:var(--font-display);color:var(--color-ivory);margin-bottom:.4rem;font-size:1.25rem}.addon-price{font-family:var(--font-mono);color:var(--color-accent-red);margin-bottom:.6rem;font-size:1.2rem;font-weight:700}.addon-desc{font-size:var(--text-sm);color:var(--color-ivory-muted)}.policy-page-container{padding-top:calc(var(--header-height) + 4rem);max-width:860px;margin:0 auto;padding-bottom:6rem}.policy-page-header{border-bottom:1px solid var(--color-surface-border);margin-bottom:3rem;padding-bottom:2rem}.policy-page-header h1{font-family:var(--font-display);font-size:var(--text-h1);margin-bottom:.5rem;font-weight:700}.policy-body{font-size:var(--text-body);color:var(--color-ivory-muted);line-height:1.8}.policy-body h2{font-family:var(--font-display);color:var(--color-ivory);margin-top:2.5rem;margin-bottom:1rem;font-size:1.75rem}.policy-body h3{font-family:var(--font-display);color:var(--color-ivory);margin-top:2rem;margin-bottom:.75rem;font-size:1.35rem}.policy-body p{margin-bottom:1.25rem}.policy-body ul{margin-bottom:1.5rem;margin-left:1.5rem;list-style:outside}.policy-body li{margin-bottom:.5rem}@media (width<=1024px){.work-grid{grid-template-columns:1fr}.card-hero-spread,.card-portrait-left,.card-wide-right,.card-wide-left,.card-portrait-right{grid-column:span 1}.specialties-grid{grid-template-columns:repeat(2,1fr)}.featured-story-grid,.about-preview-grid,.pricing-preview-grid{grid-template-columns:1fr}.gallery-masonry{column-count:2}.footer-top-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){:root{--header-height:70px;--text-hero:clamp(2.2rem, 7.5vw, 3.4rem)}.brand-wrapper{flex-shrink:1;gap:.65rem;min-width:0}.brand-mark{width:40px;height:40px}.brand-wordmark{max-width:165px;height:26px}.brand-name{white-space:nowrap;font-size:1.05rem}.brand-location{font-size:.62rem}.nav-desktop{display:none}.hamburger-btn{flex-shrink:0;margin-left:auto;display:flex}.hero-headline{word-break:break-word;overflow-wrap:break-word}.hero-meta-strip{flex-wrap:wrap;gap:.5rem}.hero-scroll-prompt{display:none}.hero-carousel-controls{flex-direction:column;align-items:stretch;gap:.75rem;width:100%;max-width:100%;margin-top:1.5rem;padding:.75rem 1rem}.hero-carousel-nav{justify-content:space-between;width:100%}.hero-carousel-tag{max-width:190px}.hero-actions{flex-direction:column;align-items:stretch;width:100%}.hero-actions .btn{width:100%}.specialties-grid{grid-template-columns:1fr}.specialty-card{height:320px}.form-row{grid-template-columns:1fr}.footer-top-grid{grid-template-columns:1fr;gap:2rem}.gallery-masonry{column-count:1}.booking-dialog{padding:1.5rem}.lightbox-dialog{padding:.75rem}.lightbox-nav-btn{width:42px;height:42px;font-size:1.4rem}}@media (width<=480px){:root{--text-hero:2rem;--container-pad:1rem}.brand-location{display:none}}.tilt-3d-card{perspective:1200px;transform-style:preserve-3d;will-change:transform;transition:transform .15s cubic-bezier(.2,0,.2,1),box-shadow .3s;position:relative}.tilt-3d-card .project-media-wrap,.tilt-3d-card .specialty-bg-wrap,.tilt-3d-card .project-overlay-badge{transform-style:preserve-3d;transition:transform .25s ease-out;transform:translateZ(24px)}.tilt-3d-card .project-details,.tilt-3d-card .specialty-content{transform-style:preserve-3d;transform:translateZ(32px)}.tilt-glare-effect{border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,50%), #ffffff29 0%, #fff0 70%);width:100%;height:100%;opacity:var(--glare-opacity,0);mix-blend-mode:screen;z-index:10;transition:opacity .3s;position:absolute;top:0;left:0}@keyframes float3D{0%{transform:translateY(0)rotateX(0)rotateY(0)}50%{transform:translateY(-6px)rotateX(2deg)rotateY(-1deg)}to{transform:translateY(0)rotateX(0)rotateY(0)}}.floating-3d{animation:6s ease-in-out infinite float3D}.slide-reveal{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translateY(35px)}.slide-reveal.revealed{opacity:1;transform:translateY(0)}.slide-reveal-left{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translate(-40px)}.slide-reveal-left.revealed{opacity:1;transform:translate(0)}.slide-reveal-right{opacity:0;will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translate(40px)}.slide-reveal-right.revealed{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-image{transform:none!important}}.marquee-container{-webkit-user-select:none;user-select:none;background:#0d0d12;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;width:100%;padding:1.15rem 0;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000059}.marquee-container:hover .marquee-track{animation-play-state:paused}.marquee-track{white-space:nowrap;will-change:transform;flex-shrink:0;align-items:center;animation:26s linear infinite marqueeScroll;display:flex}.marquee-track-reverse{animation:30s linear infinite marqueeScrollReverse}@keyframes marqueeScroll{0%{transform:translate(0%)}to{transform:translate(-50%)}}@keyframes marqueeScrollReverse{0%{transform:translate(-50%)}to{transform:translate(0%)}}.marquee-item{letter-spacing:.1em;text-transform:uppercase;color:#f3f0e9;align-items:center;gap:1.25rem;padding:0 1.5rem;font-family:Syne,sans-serif;font-size:clamp(.95rem,1.4vw,1.15rem);font-weight:700;display:inline-flex}.marquee-item .marquee-accent{color:#d43c32}.marquee-item .marquee-dot{color:#e8c170;font-size:.85rem}.fade-in-section{opacity:0;visibility:hidden;will-change:opacity, transform, visibility;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1),visibility .75s cubic-bezier(.16,1,.3,1);transform:translateY(36px)scale(.98)}.fade-in-section.is-visible{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.stagger-1{transition-delay:80ms}.stagger-2{transition-delay:.16s}.stagger-3{transition-delay:.24s}.stagger-4{transition-delay:.32s}.photo-grid-card-wrap{will-change:transform;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}.photo-grid-card-wrap:hover{transform:translateY(-6px)}.photo-grid-card{transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .4s}.photo-grid-card:hover{box-shadow:0 16px 40px #000000b3,0 0 20px #d43c3233;border-color:#d43c3266!important}.photo-item-card{will-change:transform;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .3s}.photo-item-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px #000000bf,0 0 24px #d43c3233;border-color:#d43c3273!important}.photo-item-card:hover img{transform:scale(1.05)}.photo-item-card:hover .photo-hover-overlay{opacity:1!important}.catalog-3d-card{perspective:1200px;transform-style:preserve-3d;border-radius:16px;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;position:relative;overflow:hidden}.catalog-3d-card:hover{box-shadow:0 20px 48px #000000a6,0 0 24px #d43c3233}.catalog-3d-card .catalog-img-wrap{transform-style:preserve-3d;position:relative;overflow:hidden;transform:translateZ(20px)}.catalog-3d-card .catalog-img-wrap img{will-change:transform;transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s}.catalog-3d-card:hover .catalog-img-wrap img{transform:scale(1.08)}.catalog-3d-card .catalog-badge{transition:transform .3s,background .3s;transform:translateZ(35px)}.catalog-3d-card:hover .catalog-badge{transform:translateZ(42px)scale(1.05)}.catalog-3d-card .catalog-info{transform-style:preserve-3d;transform:translateZ(28px)}.catalog-shimmer-lens{pointer-events:none;z-index:5;background:linear-gradient(90deg,#0000 0%,#ffffff1f 50%,#0000 100%);width:100%;height:100%;transition:left .9s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:-150%;transform:skew(-25deg)}.catalog-3d-card:hover .catalog-shimmer-lens{left:150%}.ambient-glow-orb{filter:blur(100px);pointer-events:none;opacity:.18;z-index:1;border-radius:50%;animation:8s ease-in-out infinite alternate pulseOrb;position:absolute}@keyframes pulseOrb{0%{opacity:.14;transform:scale(1)translate(0)}50%{opacity:.22;transform:scale(1.15)translate(20px,-15px)}to{opacity:.14;transform:scale(1)translate(0)}}.page-view-enter{animation:.5s cubic-bezier(.16,1,.3,1) forwards pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
