/* Apple-inspired visual system — layered over the functional base styles. */
:root{
  --ink:#1d1d1f;
  --paper:#f5f5f7;
  --card:#ffffff;
  --line:rgba(0,0,0,.09);
  --lime:#0071e3;
  --muted:#6e6e73;
  --white:#ffffff;
  --radius:28px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Noto Sans SC",Arial,sans-serif;
}

html{scroll-padding-top:72px}
body{background:var(--paper);letter-spacing:-.012em}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}

.site-header{
  position:fixed;inset:0 0 auto;z-index:20;height:56px;padding:0 max(22px,calc((100vw - 1180px)/2));
  background:rgba(251,251,253,.82);border-bottom:1px solid rgba(0,0,0,.07);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)
}
.brand{font-size:14px;letter-spacing:.01em;font-weight:650}.brand-mark{width:27px;height:27px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;box-shadow:0 2px 7px rgba(0,0,0,.16)}
.main-nav{gap:28px;font-size:12px}.main-nav a{transition:opacity .2s}.nav-admin{border:0;background:var(--ink);color:#fff;padding:8px 15px;border-radius:980px;font-size:12px;transition:transform .2s,opacity .2s}.nav-admin:hover{background:var(--ink);color:#fff;opacity:.82}.nav-admin:active{transform:scale(.96)}

.hero{padding:176px max(24px,calc((100vw - 1180px)/2)) 128px;min-height:740px;display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(2px)}
.hero::before{width:460px;height:460px;background:rgba(0,113,227,.08);left:-230px;top:140px}
.hero::after{width:380px;height:380px;background:rgba(155,92,255,.07);right:-190px;bottom:50px}
.hero>.eyebrow{color:#86868b;margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:.08em;font-weight:600}
.hero-grid{display:block}.hero h1{font-size:clamp(58px,8vw,112px);line-height:.94;letter-spacing:-.065em;font-weight:650;margin:0 auto;max-width:1000px}.hero h1 span{color:#86868b}.hero-copy{max-width:650px;margin:40px auto 0;padding:0}.hero-copy>p{font-size:clamp(20px,2vw,28px);line-height:1.36;color:#6e6e73;margin:0 auto 42px;font-weight:500;letter-spacing:-.025em}.hero-meta{width:max-content;margin:auto;border:0;padding:0;gap:9px;justify-content:center;color:#86868b}.hero-meta span:first-child{color:#1d1d1f;font-size:18px;font-weight:650}.hero-meta span:last-child{font-size:13px}

.work-section{max-width:1260px;margin:auto;padding:0 40px 150px}.work-toolbar{border:0;padding:0 0 36px;align-items:center}.filters{gap:8px}.filter-btn{padding:9px 15px;border-radius:980px;color:#6e6e73;background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.055);font-size:13px;transition:all .2s}.filter-btn:hover{background:#fff;color:#1d1d1f}.filter-btn.active{background:#1d1d1f;color:#fff;border-color:#1d1d1f;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.search-wrap{height:38px;width:210px;min-width:210px;padding:0 13px;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:980px;transition:box-shadow .2s,border-color .2s}.search-wrap:focus-within{border-color:rgba(0,113,227,.55);box-shadow:0 0 0 4px rgba(0,113,227,.1)}.search-wrap input{font-size:13px}.search-wrap svg{color:#86868b}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 26px}.project-card,.project-card:nth-child(3n),.project-card:nth-child(3n+1):not(:first-child){grid-column:auto}.project-card{border-radius:var(--radius);transition:transform .45s cubic-bezier(.2,.75,.2,1);outline:none}.project-card:hover{transform:translateY(-7px)}.project-card:focus-visible{box-shadow:0 0 0 4px rgba(0,113,227,.35)}
.project-cover{aspect-ratio:1.28;border-radius:28px;background:#e8e8ed;box-shadow:0 12px 38px rgba(0,0,0,.075);overflow:hidden}.project-cover::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);pointer-events:none}.project-cover img{transition:transform .7s cubic-bezier(.2,.75,.2,1)}.project-card:hover .project-cover img{transform:scale(1.035)}.project-index{top:16px;left:16px;border-radius:980px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);padding:7px 10px;color:#1d1d1f;font-weight:600}
.media-badge{position:absolute;top:16px;right:16px;z-index:1;padding:7px 10px;border-radius:980px;background:rgba(29,29,31,.78);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;backdrop-filter:blur(14px)}
.project-info{border:0;margin:0;padding:22px 6px 0;align-items:start}.project-info h3{font-size:25px;letter-spacing:-.025em;font-weight:650;margin-bottom:8px}.project-info p{font-size:14px}.project-arrow{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e8e8ed;color:#1d1d1f;font-size:17px;transition:background .2s,color .2s}.project-card:hover .project-arrow{background:#0071e3;color:#fff}
.empty-state{background:#fff;border:0;border-radius:28px;margin-top:10px}.empty-state button{color:#0071e3}

.about{background:#fff;color:#1d1d1f;padding:140px max(40px,calc((100vw - 1180px)/2));border-radius:42px 42px 0 0}.about .eyebrow{color:#86868b}.about-grid{grid-template-columns:1.15fr .85fr;gap:100px}.about h2{font-size:clamp(46px,5.4vw,76px);font-weight:650;letter-spacing:-.055em;line-height:1.03}.about-intro{max-width:610px;margin:34px 0 0;color:#6e6e73;font-size:15px;line-height:1.85;letter-spacing:-.005em}.services{border-top:1px solid var(--line)}.services>div{border-bottom:1px solid var(--line);padding:21px 0}.services span{padding-top:3px;color:#86868b}.services p{display:grid;gap:6px;margin:0}.services strong{font-size:18px;font-weight:600;letter-spacing:-.02em}.services small{color:#86868b;font-size:11px;font-weight:500;letter-spacing:.025em}

footer{background:#fff;padding:50px max(40px,calc((100vw - 1180px)/2));border-color:var(--line)}footer p{color:#6e6e73}footer>span{color:#86868b}

dialog{border-radius:30px;box-shadow:0 30px 100px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(0,0,0,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.project-dialog{width:min(1240px,96vw);border-radius:30px}.dialog-close{position:fixed;right:max(3vw,28px);top:max(3vh,24px);width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:#1d1d1f;backdrop-filter:blur(15px);box-shadow:0 3px 14px rgba(0,0,0,.18)}
.detail-hero{height:min(72vh,760px);min-height:480px}.detail-hero-overlay{padding:140px 6vw 50px;background:rgba(0,0,0,.34);text-shadow:0 2px 18px rgba(0,0,0,.25)}.detail-hero h2{font-weight:650;letter-spacing:-.055em}.detail-body{padding:78px 6vw 110px;background:#fff}.detail-summary{grid-template-columns:.75fr 1.7fr;gap:10vw;margin-bottom:90px}.detail-facts div{border-color:var(--line)}.detail-description{font-weight:500;letter-spacing:-.025em;color:#333336}.detail-media{gap:24px}.detail-media img,.detail-media video,.detail-media iframe{border-radius:22px}

.login-dialog{border-radius:28px;background:rgba(29,29,31,.96);backdrop-filter:blur(25px)}.login-form{padding:58px 52px}.dark-mark{background:#fff;color:#1d1d1f}.login-form h2{font-weight:650}.login-form input{border-radius:12px;border-color:#4a4a4d;background:rgba(255,255,255,.06)}.primary-btn,.secondary-btn{border-radius:980px;border:0;padding:13px 22px}.primary-btn{background:#0071e3;color:#fff}.primary-btn:hover{background:#0077ed}.secondary-btn{background:#e8e8ed}.login-form .primary-btn{background:#0071e3}

.admin-shell{background:#f5f5f7}.admin-sidebar{background:#1d1d1f}.admin-menu button.active{color:#fff}.admin-main{background:#f5f5f7}.admin-table-wrap table{border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.04)}th,td{border-color:#ededf0}.table-project img{border-radius:9px}.table-actions button{border:0;background:#f5f5f7;border-radius:980px}.editor-dialog{border-radius:28px}.dialog-close.static{border:0;background:#e8e8ed}.project-form input,.project-form textarea{border-radius:12px;border-color:#d2d2d7}.project-form input:focus,.project-form textarea:focus{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.1)}.upload-box{border-radius:16px;background:#fafafa}.preview-item,.preview-item img,.preview-item video{border-radius:10px}.toast{border-radius:980px;background:rgba(29,29,31,.92);backdrop-filter:blur(14px);box-shadow:0 9px 30px rgba(0,0,0,.22)}

@media(max-width:800px){
  .site-header{padding:0 18px}.main-nav{gap:12px}.main-nav a{display:none}
  .hero{min-height:650px;padding:135px 24px 100px}.hero h1{font-size:clamp(52px,16vw,78px)}.hero-copy{margin-top:32px}.hero-copy>p{font-size:20px;max-width:480px}
  .work-section{padding:0 18px 100px}.work-toolbar{align-items:stretch}.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.filter-btn{flex:0 0 auto}.search-wrap{width:100%}
  .gallery{grid-template-columns:1fr;gap:50px}.project-cover{border-radius:22px;aspect-ratio:1.22}.project-info{padding-top:17px}.project-info h3{font-size:21px}
  .about{padding:92px 24px;border-radius:30px 30px 0 0}.about-grid{grid-template-columns:1fr;gap:62px}.about h2{font-size:46px}
  footer{padding:42px 24px}.detail-hero{min-height:430px}.detail-hero-overlay{padding:90px 24px 34px}.detail-body{padding:50px 24px 70px}.detail-summary{grid-template-columns:1fr;gap:42px;margin-bottom:58px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card,.project-cover img,.nav-admin{transition:none}.project-card:hover{transform:none}}
