/* ========================================================= DARKFACE — THE PROFILE (nicolaromei-style) ========================================================= */ *,*::before,*::after{margin:0;padding:0;box-sizing:border-box} html,body{ overscroll-behavior:none; } body{ background:rgba(255,255,255,0.85); color:#f3f3f3; font-family:'Inter',sans-serif; font-size:12px; font-weight:500; line-height:1.4; text-transform:uppercase; letter-spacing:normal; overflow-x:hidden; cursor:default; } body::before{ content:''; position:fixed; inset:0; background:repeating-linear-gradient( 0deg, transparent, transparent 2px, rgba(0,0,0,0.15) 2px, rgba(0,0,0,0.15) 4px ); pointer-events:none; z-index:10000; } /* ========================================================= LEGO GRID SYSTEM ========================================================= */ .lego-grid{ display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:minmax(80px, auto); gap:6px; padding:6px; background:rgba(255,255,255,0.85); } .lego-cell{ background:#0a0a0a; position:relative; overflow:hidden; padding:30px; } /* HERO: col 1-8, rows 1-3 */ .lego-hero{ grid-column:1 / 9; grid-row:1 / 4; display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:500px; } /* 01 GENESIS: col 9-12, rows 1-3 */ .lego-b01{ grid-column:9 / 13; grid-row:1 / 4; display:flex; align-items:center; padding:40px 25px; } /* 02 STRUCTURE: col 1-5, row 4 */ .lego-b02{ grid-column:1 / 6; grid-row:4 / 5; padding:40px 30px; } /* 03 AXIOM: col 6-10, row 4-5 */ .lego-b03{ grid-column:6 / 11; grid-row:4 / 6; display:flex; align-items:center; padding:40px 30px; } /* OPERATING: col 11-12, row 4-5 — vertical */ .lego-operating{ grid-column:11 / 13; grid-row:4 / 6; display:flex; align-items:center; justify-content:center; text-align:center; } /* QUOTE: col 1-4, row 5 */ .lego-quote{ grid-column:1 / 5; grid-row:5 / 6; display:flex; align-items:center; justify-content:center; min-height:200px; } /* FILLER: col 5, row 5 */ .lego-filler{ grid-column:5 / 6; grid-row:5 / 6; } /* 04 FORGE: col 1-5, row 6 */ .lego-b04{ grid-column:1 / 6; grid-row:6 / 7; padding:40px 30px; } /* 05 ACCESS: col 6-12, row 6 */ .lego-b05{ grid-column:6 / 13; grid-row:6 / 7; padding:40px 30px; } /* SLIDER: full width, row 7 */ .lego-slider{ grid-column:1 / 13; grid-row:7 / 8; padding:0; background:#ddd; } /* FOOTER: full width, row 8 */ .lego-footer{ grid-column:1 / 13; grid-row:8 / 9; padding:40px 40px 0; text-align:center; } a{color:#f3f3f3;text-decoration:none} a:hover{text-decoration:underline} ul{list-style:none} /* ---- CRT OVERLAY — subtle scanlines ---- */ .crt-overlay{ position:fixed;inset:0; z-index:9999;pointer-events:none; } .crt-overlay::before{ content:"";display:block;position:absolute;inset:0; background:repeating-linear-gradient( to bottom, transparent, transparent 2px, rgba(255,255,255,0.02) 2px, rgba(255,255,255,0.02) 4px ); z-index:2;pointer-events:none; } /* ---- TOP NAV (back + lang) ---- */ .topbar{ position:fixed;top:0;left:0;right:0; z-index:300; display:grid; grid-template-columns: auto 1fr auto; align-items:start; gap:28px; padding:14px; pointer-events:none; font-size:12px; font-weight:500; line-height:12px; letter-spacing:normal; text-transform:uppercase; color:#f3f3f3; } .topbar__left{ pointer-events:auto; } .topbar__origin{ font-size:12px; font-weight:500; line-height:14px; letter-spacing:normal; text-transform:uppercase; color:#f3f3f3; } .topbar__lang{ display:flex;gap:8px; margin-top:8px; } .topbar__desc{ font-size:12px; font-weight:500; line-height:14px; letter-spacing:normal; text-transform:uppercase; color:#f3f3f3; max-width:560px; justify-self:end; padding-right:28px; } .topbar__nav{ display:flex;flex-direction:column; gap:3.5px; pointer-events:auto; } .back-btn{ display:block; padding:3px 14px; background:transparent; border:1px solid rgba(255,255,255,0.14); font-family:'Inter',sans-serif; font-size:12px; font-weight:500; letter-spacing:normal; text-transform:uppercase; color:#f3f3f3; text-decoration:none; text-align:center; line-height:14px; transition:background 0.25s, color 0.25s, border-color 0.25s; cursor:pointer; white-space:nowrap; } .back-btn:hover{ background:rgba(255,255,255,0.9); color:#111; border-color:rgba(255,255,255,0.9); text-decoration:none; } .top-nav__lang{ display:flex;gap:6px; } .nav__btn{ display:block; padding:3px 14px; background:transparent; border:1px solid rgba(255,255,255,0.14); font-family:'Inter',sans-serif; font-size:12px; font-weight:500; letter-spacing:normal; text-transform:uppercase; color:#f3f3f3; text-decoration:none; text-align:center; line-height:14px; transition:background 0.25s, color 0.25s, border-color 0.25s; cursor:pointer; } .nav__btn:hover{ background:rgba(255,255,255,0.9); color:#111; border-color:rgba(255,255,255,0.9); text-decoration:none; } .nav__btn--active{ background:rgba(255,255,255,0.9); color:#111; border-color:rgba(255,255,255,0.9); } /* ========================================================= DARK SECTION WRAPPER (hero + about) ========================================================= */ .page-dark{ position:relative; background:#0a0a0a; overflow:hidden; transform:translateZ(0); border:6px solid rgba(255,255,255,0.85); border-top:none; border-bottom:none; } /* CRT Scanlines */ .page-dark__scanlines{ position:absolute; top:0;left:0; width:100%;height:100%; z-index:0; pointer-events:none; background:repeating-linear-gradient( 0deg, transparent, transparent 2px, rgba(0,0,0,0.12) 2px, rgba(0,0,0,0.12) 4px ); animation:scanScroll 12s linear infinite; } @keyframes scanScroll{ 0%{background-position:0 0} 100%{background-position:0 120px} } /* Vignette */ .page-dark__vignette{ position:absolute; top:0;left:0; width:100%;height:100%; z-index:0; pointer-events:none; background:radial-gradient(ellipse 65% 55% at 50% 50%, transparent 35%, rgba(0,0,0,0.6) 100%); } .page-dark__grain{ position:absolute; top:0;left:0; width:100%; height:100%; z-index:0; pointer-events:none; opacity:0.3; background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E"); background-size:150px 150px; mix-blend-mode:overlay; } .page-dark__grain::after{ content:''; position:absolute; top:0;left:0; width:100%;height:100%; opacity:0.6; background-image: linear-gradient(rgba(200,30,30,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(200,30,30,0.06) 1px, transparent 1px); background-size:50px 50px; } /* ---- Wireframe Cubes ---- */ .cubes-bg{ position:absolute; top:0;left:0; width:100%;height:100%; z-index:0; pointer-events:none; overflow:hidden; opacity:0.7; will-change:transform; contain:paint; } .cube-wrap{ position:absolute; perspective:600px; } .cube{ transform-style:preserve-3d; transform-origin:center center; } .cube__face{ position:absolute; width:var(--s); height:var(--s); left:calc(var(--s) / -2); top:calc(var(--s) / -2); border:2px solid #000; background:#fff; box-shadow:0 0 20px rgba(255,255,255,0.3); backface-visibility:hidden; } .cube__face--front { transform:translateZ(calc(var(--s)/2)); } .cube__face--back { transform:rotateY(180deg) translateZ(calc(var(--s)/2)); } .cube__face--left { transform:rotateY(-90deg) translateZ(calc(var(--s)/2)); } .cube__face--right { transform:rotateY(90deg) translateZ(calc(var(--s)/2)); } .cube__face--top { transform:rotateX(90deg) translateZ(calc(var(--s)/2)); } .cube__face--bottom{ transform:rotateX(-90deg) translateZ(calc(var(--s)/2)); } @keyframes cubeRotateA{ from{transform:rotateX(0deg) rotateY(0deg)} to{transform:rotateX(360deg) rotateY(360deg)} } @keyframes cubeRotateB{ from{transform:rotateX(35deg) rotateY(0deg)} to{transform:rotateX(35deg) rotateY(360deg)} } .blur-top{ position:fixed;top:0;left:0;right:0; height:120px; z-index:100; pointer-events:none; background:linear-gradient( to bottom, rgba(10,10,10, 1) 0%, rgba(10,10,10, 0.85) 30%, rgba(10,10,10, 0.5) 60%, rgba(10,10,10, 0) 100% ); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); mask-image:linear-gradient(to bottom, black 0%, transparent 100%); -webkit-mask-image:linear-gradient(to bottom, black 0%, transparent 100%); } .blur-dark-bottom{ position:fixed;bottom:0;left:0;right:0; height:120px; z-index:100; pointer-events:none; background:linear-gradient( to top, rgba(10,10,10, 1) 0%, rgba(10,10,10, 0.85) 30%, rgba(10,10,10, 0.5) 60%, rgba(10,10,10, 0) 100% ); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); mask-image:linear-gradient(to top, black 0%, transparent 100%); -webkit-mask-image:linear-gradient(to top, black 0%, transparent 100%); } .blur-bottom{ position:sticky;bottom:0;left:0;right:0; height:140px; z-index:10; pointer-events:none; margin-top:-140px; background:linear-gradient( to top, rgba(17,17,17, 1) 0%, rgba(17,17,17, 0.85) 30%, rgba(17,17,17, 0.5) 60%, rgba(17,17,17, 0) 100% ); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); mask-image:linear-gradient(to top, black 0%, transparent 100%); -webkit-mask-image:linear-gradient(to top, black 0%, transparent 100%); } /* ========================================================= HERO — now inside lego-cell ========================================================= */ .hero__title{ position:relative; z-index:1; font-family:'Chakra Petch','Inter',sans-serif; font-size:clamp(55px, 9vw, 140px); font-weight:900; text-transform:uppercase; letter-spacing:0.06em; color:#c81e1e; text-align:center; line-height:1; text-shadow: 0 0 15px rgba(200,30,30,0.6), 0 0 40px rgba(180,25,25,0.3), 0 0 80px rgba(160,20,20,0.15); } .hero__tagline-left{ position:relative; z-index:1; font-family:'Chakra Petch','Inter',sans-serif; font-size:13px;font-weight:500; line-height:1.8; letter-spacing:0.06em; color:rgba(243,243,243,0.9); max-width:400px; margin-top:30px; align-self:flex-start; } .hero__tagline-center{ position:relative; z-index:1; font-family:'Chakra Petch','Inter',sans-serif; font-size:13px;font-weight:500; letter-spacing:0.06em; line-height:1.8; color:rgba(255,255,255,0.9); text-align:center; margin-top:20px; } /* ========================================================= ABOUT SECTION ========================================================= */ .about{ position:relative; z-index:1; width:100%; min-height:100vh; padding:0; contain:layout style; } /* Big horizontal text (DIGITAL . FORM) */ .about__bigtext{ position:relative; z-index:50; display:flex; align-items:center; justify-content:center; gap:8vw; padding:40px 0; width:100%; overflow:hidden; } .about__bigtext-item{ font-family:'Chakra Petch','Inter',sans-serif; font-size:clamp(30px, 7vw, 110px); font-weight:900; color:rgba(200,30,30,0.7); -webkit-text-stroke:1.5px rgba(200,40,60,0.8); letter-spacing:0.08em; line-height:1; position:relative; z-index:2; text-shadow: 0 0 10px rgba(200,30,30,0.4), 0 0 30px rgba(180,25,25,0.2); } .about__bigtext-dot{ font-size:clamp(30px, 7vw, 110px); font-weight:900; color:rgba(200,30,30,0.7); -webkit-text-stroke:1.5px rgba(200,40,60,0.8); text-shadow: 0 0 10px rgba(200,30,30,0.4), 0 0 30px rgba(180,25,25,0.2); } /* Info block grid - scattered layout */ .about__grid{ position:relative; z-index:50; width:100%; min-height:800px; padding:40px 14px 80px; } /* Individual info blocks */ .info-block{ position:relative; margin-bottom:80px; z-index:10; } .info-block-inner{ transition:transform 0.7s ease, opacity 0.7s ease; opacity:0; transform:perspective(800px) rotateX(25deg) translateY(30px); } .info-block-inner.flipped{ opacity:1; transform:perspective(800px) rotateX(0deg) translateY(0); } .info-block__label{ font-family:'Chakra Petch','Inter',sans-serif; font-size:12px; font-weight:700; letter-spacing:0.1em; color:rgba(200,40,40,0.8); margin-bottom:10px; } .info-block__list{ display:flex;flex-direction:column;gap:2px; } .info-block__list li{ font-size:12px; font-weight:500; color:rgba(243,243,243,0.85); line-height:1.4; } .info-block__text{ font-family:'Chakra Petch','Inter',sans-serif; font-size:12px; font-weight:400; letter-spacing:0.04em; color:rgba(243,243,243,0.85); line-height:1.6; } /* Scattered positions like Romei */ .info-block--01{ margin-left:40%; max-width:500px; } .info-block--02{ margin-left:55%; max-width:420px; } .info-block--03{ margin-left:8%; max-width:450px; } .info-block--04{ margin-left:12%; max-width:420px; } .info-block--05{ margin-left:50%; max-width:400px; } /* Center quote */ .about__quote{ text-align:center; font-family:'Chakra Petch','Inter',sans-serif; font-size:15px; font-weight:500; letter-spacing:0.06em; color:rgba(255,255,255,0.9); line-height:1.6; padding:60px 0; max-width:500px; margin:0 auto; } /* ========================================================= SLIDER SECTION ========================================================= */ .slider{ position:relative; z-index:101; width:100%; padding:0; background:#ddd; overflow:hidden; } .slider__track{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; padding:6px 0; } .slider__slide{ position:relative; } .slider__placeholder{ width:100%; aspect-ratio:4/3; background:#bbb; } .slider__img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; filter:grayscale(100%) contrast(1.4) brightness(0.7); transition:filter 0.15s, transform 0.15s, opacity 0.3s; } .slider__name{ position:absolute;top:10px;left:10px; font-size:11px;font-weight:600; color:#111; background:rgba(255,255,255,0.85); padding:2px 8px; } /* ========================================================= FOOTER ========================================================= */ .footer{ position:relative; z-index:101; width:100%; background:#0a0a0a; color:#f3f3f3; padding:40px 40px 0; border:6px solid rgba(255,255,255,0.85); border-top:none; border-bottom:none; } .footer__center{ text-align:center; padding-bottom:30px; } .footer__archive-btn{ display:inline-block; padding:4px 14px; border:1px solid rgba(255,255,255,0.2); font-family:'Inter',sans-serif; font-size:11px; font-weight:500; text-transform:uppercase; color:#f3f3f3; text-decoration:none; line-height:14px; margin-bottom:16px; transition:background 0.25s, color 0.25s; } .footer__archive-btn:hover{ background:#f3f3f3; color:#111; text-decoration:none; } .footer__copy{ font-size:11px;font-weight:700; color:#f3f3f3; margin-bottom:14px; line-height:1.5; text-transform:uppercase; } .footer__contact{ font-size:11px;font-weight:500; color:rgba(255,255,255,0.45); line-height:1.7; } .footer__label{ font-size:11px;font-weight:700; color:#f3f3f3; margin-bottom:14px; text-transform:uppercase; } .footer__links{ font-size:11px;font-weight:500; color:rgba(255,255,255,0.45); line-height:1.8; } .footer__quote{ font-size:14px;font-weight:600; color:rgba(255,255,255,0.6); line-height:1.6; font-style:italic; } /* Big footer text */ @keyframes profileFlicker { 0%, 100% { opacity:0.85; } 3% { opacity:0.5; } 5% { opacity:0.8; } 7% { opacity:0.4; } 9% { opacity:0.85; } 50% { opacity:0.85; } 52% { opacity:0.55; } 54% { opacity:0.85; } } .footer__bigtext{ font-family:'Chakra Petch','Inter',sans-serif; font-size:clamp(60px, 12vw, 200px); font-weight:900; color:#f3f3f3; text-align:center; line-height:0.85; padding:40px 0 20px; letter-spacing:-0.03em; white-space:nowrap; overflow:hidden; animation: profileFlicker 6s infinite; } /* -- Classification labels -- */ .info-block__meta{ font-family:'IBM Plex Mono','Courier New',monospace; font-size:8px; letter-spacing:0.12em; color:rgba(200,40,40,0.25); margin-top:12px; }