.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:3.35rem;padding:.85rem 1.35rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:.77rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;transition:transform .35s var(--ease-premium),background .3s,border-color .3s,color .3s}.button:hover{transform:translateY(-3px);border-color:rgba(var(--accent-rgb),.65)}.button-primary{background:var(--text);color:#071017;border-color:var(--text)}.button-primary:hover{background:var(--accent);border-color:var(--accent)}.button-ghost{background:rgba(255,255,255,.035);backdrop-filter:blur(12px)}.button-small{min-height:2.75rem;padding:.65rem 1rem;font-size:.68rem}.button[aria-disabled=true]{opacity:.52;cursor:not-allowed;pointer-events:none}.arrow{font-size:1rem;transition:transform .3s}.button:hover .arrow,.text-link:hover .arrow{transform:translateX(.25rem)}.text-link{display:inline-flex;align-items:center;gap:.55rem;color:#fff;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.chip,.tag{display:inline-flex;align-items:center;min-height:1.8rem;padding:.3rem .7rem;border:1px solid var(--line);border-radius:999px;color:#bac6d0;font-size:.65rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.chip-accent{border-color:rgba(var(--accent-rgb),.35);color:var(--accent);background:rgba(var(--accent-rgb),.06)}.glass{background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px rgba(255,255,255,.08),var(--shadow);backdrop-filter:blur(18px)}.card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:transform .5s var(--ease-premium),border-color .4s,background .4s}.card:hover{border-color:rgba(var(--accent-rgb),.38)}.card-pad{padding:clamp(1.35rem,2.4vw,2.4rem)}.card::after{content:"";position:absolute;width:16rem;height:16rem;left:calc(var(--card-x,50%) - 8rem);top:calc(var(--card-y,50%) - 8rem);z-index:0;background:radial-gradient(circle,rgba(var(--accent-rgb),.12),transparent 68%);pointer-events:none;opacity:0;transition:opacity .35s}.card:hover::after{opacity:1}.card>*{position:relative;z-index:1}.stat{padding:1.3rem;border-left:1px solid var(--line)}.stat strong{display:block;color:#fff;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1}.stat span{display:block;margin-top:.5rem;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.project-card{min-height:28rem;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;isolation:isolate}.project-card::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 72% 18%,rgba(var(--accent-rgb),.22),transparent 30%),linear-gradient(145deg,#0d1720,#080c12 70%)}.project-card[data-accent=violet]{--accent:var(--violet);--accent-rgb:154,120,255}.project-card[data-accent=blue],.project-card[data-accent=electric]{--accent:var(--blue);--accent-rgb:60,140,255}.project-card[data-accent=aqua]{--accent:var(--aqua);--accent-rgb:37,216,199}.project-visual{position:absolute;inset:4.7rem 1rem 6rem 33%;z-index:-1;display:grid;place-items:center;perspective:900px}.project-visual .visual-plane{width:88%;aspect-ratio:4/5;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:linear-gradient(145deg,rgba(var(--accent-rgb),.34),rgba(4,7,11,.95) 62%);box-shadow:0 25px 80px rgba(0,0,0,.42);transform:rotateY(-18deg) rotateX(9deg) translateZ(0);transition:transform .8s var(--ease-premium)}.project-card:hover .visual-plane{transform:rotateY(-7deg) rotateX(4deg) translate3d(-8px,-10px,30px)}.visual-plane::before,.visual-plane::after{content:"";position:absolute;inset:12% 12% auto;height:1px;background:rgba(255,255,255,.35);box-shadow:0 1.6rem rgba(255,255,255,.16),0 3.2rem rgba(255,255,255,.1)}.visual-plane::after{inset:auto 12% 12%;height:22%;border:1px solid rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.08);box-shadow:none}.project-top,.project-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.project-card h3{max-width:10ch;font-size:clamp(2rem,4vw,4.4rem)}.project-card p{max-width:28rem}.tags{display:flex;flex-wrap:wrap;gap:.45rem}.project-index{font-size:clamp(3rem,7vw,7rem);font-weight:700;line-height:.8;color:rgba(255,255,255,.08);letter-spacing:-.08em}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:.7fr 1.2fr 1.8fr auto;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line);align-items:start}.timeline-item time{color:var(--accent);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.timeline-item h3{font-size:clamp(1.35rem,2.4vw,2.1rem)}.timeline-item .org{color:#dfe7ed}.timeline-toggle{width:2.8rem;height:2.8rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:1.2rem}.timeline-detail{grid-column:2/-1;max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--ease-soft),opacity .4s}.timeline-item.is-open .timeline-detail{max-height:30rem;opacity:1}.timeline-detail ul{padding-left:1.2rem;color:var(--muted)}.filter-bar{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2rem}.filter-button{padding:.65rem 1rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.filter-button.is-active{color:#041012;background:var(--accent);border-color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem}.project-grid .project-card{grid-column:span 6}.project-grid .project-card:nth-child(3n+1){grid-column:span 7}.project-grid .project-card:nth-child(3n+2){grid-column:span 5}.project-grid .project-card.is-hidden{display:none}.skill-panel{display:grid;grid-template-columns:.55fr 1.45fr;min-height:25rem}.skill-tabs{padding:1rem;border-right:1px solid var(--line)}.skill-tab{width:100%;display:flex;justify-content:space-between;padding:1rem;border-radius:.75rem;text-align:left;color:var(--muted)}.skill-tab.is-active{background:rgba(var(--accent-rgb),.09);color:#fff}.skill-content{padding:clamp(1.5rem,4vw,4rem)}.skill-content h3{font-size:clamp(1.9rem,4vw,3.5rem)}.skill-level{display:block;margin:1rem 0 2rem;color:var(--accent);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.skill-list{display:flex;flex-wrap:wrap;gap:.65rem}.skill-list span{padding:.7rem .9rem;border:1px solid var(--line);border-radius:.7rem;color:#cad3da}.principle{min-height:17rem;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.principle .number{color:var(--accent);font-size:.72rem;letter-spacing:.12em}.principle h3{font-size:clamp(1.5rem,2.4vw,2.3rem)}.tool-group{padding:2rem}.tool-group h3{margin-bottom:1.2rem;color:var(--accent);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.tool-cloud{display:flex;flex-wrap:wrap;gap:.6rem}.tool-cloud span{padding:.75rem .9rem;border:1px solid var(--line);border-radius:.7rem}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}.contact-card{padding:clamp(1.5rem,3vw,3rem)}.contact-list{display:grid;margin-top:2rem}.contact-row{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.contact-row span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.contact-row strong{text-align:right}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.55rem}.field-full{grid-column:1/-1}.field label{color:#c9d2da;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.075em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:.8rem;background:#081019;color:#fff;padding:1rem;outline:none;transition:border-color .25s,box-shadow .25s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08)}.field textarea{min-height:10rem;resize:vertical}.form-status{min-height:1.5rem;color:var(--accent);font-size:.82rem}.story-path{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem}.story-step{position:relative;min-height:12rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,rgba(var(--accent-rgb),.07),transparent)}.story-step:not(:last-child)::after{content:"→";position:absolute;right:-.75rem;top:50%;z-index:2;color:var(--accent)}.story-step small{color:var(--accent);font-weight:700}.story-step strong{display:block;margin-top:3rem}.story-step span{display:block;margin-top:.5rem;color:var(--muted);font-size:.78rem}.case-hero{min-height:80vh;display:grid;align-items:end;padding-block:calc(var(--space-7) + 3rem) var(--space-6)}.case-kicker{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.5rem}.case-title{font-size:var(--fs-h1);max-width:12ch}.case-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:4rem;align-items:end}.case-intro p{font-size:clamp(1.05rem,1.6vw,1.35rem)}.case-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}.case-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:4rem;padding-block:4rem;border-top:1px solid var(--line)}.case-section h2{font-size:clamp(1.6rem,3vw,2.8rem)}.case-section .case-copy{max-width:50rem}.case-section .case-copy>p{font-size:clamp(1.05rem,1.4vw,1.25rem)}.case-list{display:grid;gap:.75rem;margin-top:1.5rem;padding:0;list-style:none}.case-list li{padding:1rem;border-left:2px solid var(--accent);background:rgba(255,255,255,.025);color:#cad3db}.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}.gallery-slot{position:relative;min-height:28rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 70% 20%,rgba(var(--accent-rgb),.24),transparent 32%),linear-gradient(145deg,#101b27,#070b10)}.gallery-slot:last-child{min-height:20rem}.gallery-slot::before{content:attr(data-label);position:absolute;left:1.2rem;bottom:1.1rem;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.gallery-slot::after{content:"";position:absolute;inset:18% 20%;border:1px solid rgba(255,255,255,.17);border-radius:1rem;transform:perspective(600px) rotateY(-16deg);box-shadow:20px 24px 60px rgba(0,0,0,.4);background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.01))}.pipeline{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}.pipeline-step{position:relative;padding:1rem;min-height:7rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(var(--accent-rgb),.04);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pipeline-step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-.65rem;width:.7rem;height:1px;background:var(--accent)}.error-page{min-height:100vh;display:grid;place-items:center;text-align:center}.error-code{font-size:clamp(8rem,28vw,26rem);line-height:.72;color:transparent;-webkit-text-stroke:1px rgba(var(--accent-rgb),.35);letter-spacing:-.09em}.error-page h1{font-size:clamp(2rem,6vw,5rem);margin-top:-1rem}.error-page p{margin:1.5rem auto 2rem;max-width:34rem}
