/*
Theme Name: Scharly Designer Studio
Theme URI: https://scharlydesignerstudio.com
Author: Scharly Designer Studio
Author URI: https://scharlydesignerstudio.com
Description: Official theme for Scharly Designer Studio — Award-winning architectural design firm, New York / Miami.
Version: 1.0.1
License: Private
Text Domain: scharly
*/

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --black: #0a0a0a; --white: #f8f8f6; --g1: #f0f0ec; --g2: #e0e0d8;
  --g3: #9a9a90; --g4: #555550; --gold: #c8a96e;
  --sans: 'Inter', sans-serif; --serif: 'Playfair Display', serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--sans); background: var(--white); color: var(--black); -webkit-font-smoothing: antialiased; }

nav { position:fixed; top:0; left:0; right:0; z-index:200; display:flex; align-items:center; justify-content:space-between; padding:1.3rem 3.5rem; background:rgba(248,248,246,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--g2); transition:padding .3s; }
.logo { display:inline-flex; align-items:center; text-decoration:none; }
.logo img { height:38px; width:auto; display:block; }
.nav-links { display:flex; gap:2rem; list-style:none; }
.nav-links a { font-size:.72rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:var(--black); position:relative; padding-bottom:2px; }
.nav-links a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--gold); transition:width .3s; }
.nav-links a:hover::after { width:100%; }
.nav-cta { font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:var(--white); background:var(--black); padding:.6rem 1.5rem; border:1px solid var(--black); transition:.25s; }
.nav-cta:hover { background:var(--gold); border-color:var(--gold); }
.burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; }
.burger span { display:block; width:22px; height:1.5px; background:var(--black); }

.btn { display:inline-block; font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; padding:.8rem 2rem; border:1px solid; transition:.25s; }
.btn-dark { color:var(--white); background:var(--black); border-color:var(--black); }
.btn-dark:hover { background:var(--gold); border-color:var(--gold); }
.btn-outline { color:var(--black); background:transparent; border-color:var(--g2); }
.btn-outline:hover { border-color:var(--black); }

.eyebrow { font-size:.68rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }
.rule { width:36px; height:1px; background:var(--gold); margin:.9rem 0 1.6rem; }
.sec-title { font-family:var(--serif); font-size:clamp(1.8rem,3.5vw,3rem); font-weight:400; line-height:1.18; }
.sec-body { font-size:.9rem; font-weight:300; color:var(--g3); line-height:1.82; max-width:560px; }
section { padding:7rem 3.5rem; }

.hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; padding-top:72px; }
.hero-left { display:flex; flex-direction:column; justify-content:center; padding:5rem 3.5rem; }
.hero-eyebrow { font-size:.68rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:1.6rem; }
.hero-title { font-family:var(--serif); font-size:clamp(2.8rem,5vw,4.6rem); font-weight:400; line-height:1.08; margin-bottom:1.6rem; }
.hero-title em { font-style:italic; color:var(--gold); }
.hero-sub { font-size:.96rem; font-weight:300; color:var(--g3); line-height:1.8; max-width:440px; margin-bottom:2.4rem; }
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:3.5rem; }
.hero-awards { display:flex; gap:2.4rem; padding-top:2rem; border-top:1px solid var(--g2); flex-wrap:wrap; }
.award-chip .yr { font-size:.64rem; font-weight:700; letter-spacing:.18em; color:var(--gold); text-transform:uppercase; display:block; }
.award-chip .nm { font-size:.75rem; color:var(--g4); line-height:1.4; max-width:160px; display:block; margin-top:.2rem; }
.hero-right { position:relative; overflow:hidden; }
.hero-right img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-badge { position:absolute; bottom:2rem; left:2rem; background:rgba(10,10,10,.82); backdrop-filter:blur(8px); color:var(--white); padding:1rem 1.4rem; border-left:2px solid var(--gold); }
.hero-badge .hb-label { font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.hero-badge .hb-text { font-size:.82rem; font-weight:300; margin-top:.2rem; }

.marquee-wrap { background:var(--black); padding:.85rem 0; overflow:hidden; white-space:nowrap; }
.marquee-track { display:inline-block; animation:scroll 30s linear infinite; }
.marquee-track span { font-size:.68rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:#3a3a36; padding:0 2rem; }
.marquee-track span.dot { color:var(--gold); padding:0 .5rem; }
@keyframes scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

.about { background:var(--black); color:var(--white); display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; padding:7rem 3.5rem; }
.about .sec-title { color:var(--white); margin-bottom:1.2rem; }
.about .sec-body { color:#666; max-width:100%; }
.about-p2 { font-size:.9rem; font-weight:300; color:#666; line-height:1.82; margin-top:.9rem; }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:1.8rem; margin-top:2.8rem; border-top:1px solid #1e1e1e; padding-top:2rem; }
.stat .num { font-family:var(--serif); font-size:2.4rem; color:var(--gold); }
.stat .lbl { font-size:.68rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#444; margin-top:.3rem; }
.about-img { overflow:hidden; min-height:520px; }
.about-img img { width:100%; height:100%; object-fit:cover; display:block; }

.bio { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; padding:7rem 3.5rem; background:var(--g1); }
.bio-img { overflow:hidden; min-height:480px; }
.bio-img img { width:100%; height:100%; object-fit:cover; display:block; }
.bio .sec-body { max-width:100%; margin-top:.8rem; }
.bio-quote { font-family:var(--serif); font-size:1.08rem; font-style:italic; color:var(--g4); border-left:2px solid var(--gold); padding-left:1.2rem; margin:1.6rem 0; line-height:1.65; }
.bio-btns { display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.6rem; }

.services { background:var(--white); }
.services-head { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:3.5rem; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; background:var(--g2); }
.svc { background:var(--white); padding:2.4rem 2rem; transition:background .3s; }
.svc:hover { background:var(--g1); }
.svc-num { font-size:.64rem; font-weight:700; letter-spacing:.16em; color:var(--gold); margin-bottom:1rem; }
.svc-name { font-family:var(--serif); font-size:1.15rem; margin-bottom:.65rem; }
.svc-desc { font-size:.8rem; font-weight:300; color:var(--g3); line-height:1.72; }

.portfolio { background:var(--g1); }
.portfolio-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:2.8rem; }
.portfolio-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:300px 300px; gap:.8rem; }
.proj { position:relative; overflow:hidden; cursor:pointer; }
.proj img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; display:block; }
.proj:hover img { transform:scale(1.05); }
.proj-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.82) 0%,transparent 55%); display:flex; flex-direction:column; justify-content:flex-end; padding:1.4rem; }
.proj-cat { font-size:.62rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:.3rem; }
.proj-title { font-family:var(--serif); font-size:1rem; color:var(--white); line-height:1.3; }
.proj-year { font-size:.62rem; color:rgba(255,255,255,.45); margin-top:.2rem; }
.proj:nth-child(1){grid-column:span 7;} .proj:nth-child(2){grid-column:span 5;}
.proj:nth-child(3){grid-column:span 4;} .proj:nth-child(4){grid-column:span 4;} .proj:nth-child(5){grid-column:span 4;}

.proj-lists { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5px; background:var(--g2); margin-top:.8rem; }
.proj-list-col { background:var(--g1); padding:1.8rem 1.4rem; }
.proj-list-col .eyebrow { font-size:.6rem; margin-bottom:.9rem; display:block; }
.proj-list-col ul { list-style:none; display:flex; flex-direction:column; gap:.45rem; }
.proj-list-col li { font-size:.78rem; color:var(--g4); }
.proj-list-col li span { color:var(--gold); }

.bim { background:var(--black); color:var(--white); display:grid; grid-template-columns:1fr 1fr; }
.bim-left { padding:7rem 3.5rem; }
.bim-left .sec-title { color:var(--white); margin-bottom:1rem; }
.bim-left .sec-body { color:#666; max-width:100%; }
.bim-benefits { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin-top:2rem; }
.bim-benefit { font-size:.78rem; font-weight:300; color:#555; padding:.45rem 0; border-bottom:1px solid #181818; }
.bim-benefit::before { content:'→ '; color:var(--gold); }
.bim-right { position:relative; overflow:hidden; min-height:500px; }
.bim-right img { width:100%; height:100%; object-fit:cover; display:block; }
.bim-footer { position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,.88); padding:1.4rem 1.6rem; }
.bim-footer p { font-size:.64rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:.6rem; }
.bim-footer li { font-size:.78rem; font-weight:300; color:#777; padding:.2rem 0; list-style:none; }

.team { background:var(--white); }
.team-head { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:3rem; }
.team-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.8rem; }
.member { position:relative; overflow:hidden; aspect-ratio:3/4; }
.member img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(25%); transition:.4s; }
.member:hover img { filter:grayscale(0%); transform:scale(1.04); }
.member-info { position:absolute; bottom:0; left:0; right:0; padding:.9rem .8rem; background:linear-gradient(to top,rgba(0,0,0,.78),transparent); }
.member-name { font-family:var(--serif); font-size:.9rem; color:var(--white); }

.approach { background:var(--g1); display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; padding:7rem 3.5rem; }
.approach-img { overflow:hidden; min-height:540px; }
.approach-img img { width:100%; height:100%; object-fit:cover; display:block; }
.approach-list { margin-top:2rem; }
.appr-item { display:flex; gap:1.2rem; padding:1.4rem 0; border-bottom:1px solid var(--g2); }
.appr-item:last-child { border-bottom:none; }
.appr-num { font-family:var(--serif); font-size:1.6rem; color:var(--g2); min-width:2rem; }
.appr-item h4 { font-family:var(--serif); font-size:1rem; font-weight:400; margin-bottom:.3rem; }
.appr-item p { font-size:.8rem; font-weight:300; color:var(--g3); line-height:1.7; }

.awards { background:var(--black); color:var(--white); }
.awards-head { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:3rem; }
.awards-head .sec-title { color:var(--white); }
.awards-head .sec-body { color:#555; max-width:100%; }
.awards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; background:#181818; }
.award-item { background:var(--black); padding:2rem 1.8rem; transition:background .3s; }
.award-item:hover { background:#0d0d0d; }
.award-yr { font-size:.64rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; }
.award-name { font-family:var(--serif); font-size:.95rem; color:var(--white); line-height:1.4; }
.awards-history { margin-top:3rem; border-top:1px solid #1a1a1a; padding-top:2.5rem; }
.awards-history .eyebrow { display:block; margin-bottom:1.1rem; }
.history-list { display:flex; flex-wrap:wrap; gap:.5rem 1.6rem; }
.history-list span { font-size:.76rem; color:#444; }
.history-list span::before { content:'— '; color:var(--gold); }

.showcases { background:var(--g1); }
.showcases-head { margin-bottom:2.4rem; }
.showcase-row { display:flex; border-bottom:1px solid var(--g2); padding:.9rem 0; }
.showcase-yr { font-family:var(--serif); font-size:1.1rem; color:var(--gold); min-width:80px; flex-shrink:0; }
.showcase-events { display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; }
.showcase-events span { font-size:.8rem; font-weight:300; color:var(--g4); }

.contact { display:grid; grid-template-columns:1fr 1fr; }
.contact-left { padding:7rem 3.5rem; background:var(--black); color:var(--white); }
.contact-left .sec-title { color:var(--white); margin-bottom:1.2rem; }
.offices { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:2rem; }
.office { border-left:2px solid var(--gold); padding-left:1rem; }
.office .city { font-size:.62rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; }
.office p { font-size:.84rem; font-weight:300; color:#777; line-height:1.7; }
.c-links { display:flex; flex-direction:column; gap:.6rem; margin-top:2rem; padding-top:2rem; border-top:1px solid #1e1e1e; }
.c-link { display:flex; align-items:center; gap:.8rem; text-decoration:none; color:#666; font-size:.82rem; font-weight:300; transition:color .25s; }
.c-link:hover { color:var(--gold); }
.c-link .cl { font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); min-width:56px; }
.socials { display:flex; gap:1.2rem; flex-wrap:wrap; margin-top:2rem; padding-top:2rem; border-top:1px solid #1e1e1e; }
.socials a { font-size:.66rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:#444; transition:color .25s; }
.socials a:hover { color:var(--gold); }
.contact-right { padding:7rem 3.5rem; background:var(--g1); }
.contact-right h3 { font-family:var(--serif); font-size:1.5rem; font-weight:400; margin-bottom:2rem; }
.form { display:flex; flex-direction:column; gap:1rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.fg { display:flex; flex-direction:column; gap:.35rem; }
.fg label { font-size:.64rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--g3); }
.fg input,.fg textarea { font-family:var(--sans); font-size:.85rem; font-weight:300; background:var(--white); border:1px solid var(--g2); padding:.7rem .9rem; outline:none; transition:border-color .25s; color:var(--black); width:100%; }
.fg input:focus,.fg textarea:focus { border-color:var(--black); }
.fg textarea { min-height:100px; resize:vertical; }
.btn-submit { align-self:flex-start; font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--white); background:var(--black); border:1px solid var(--black); padding:.8rem 2rem; cursor:pointer; transition:.25s; }
.btn-submit:hover { background:var(--gold); border-color:var(--gold); }

footer { background:var(--black); padding:2rem 3.5rem; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #161616; }
.foot-logo { display:inline-flex; align-items:center; text-decoration:none; }
.foot-logo img { height:30px; width:auto; display:block; }
footer p { font-size:.68rem; color:#3a3a36; letter-spacing:.06em; }
.foot-links { display:flex; gap:1.4rem; }
.foot-links a { font-size:.66rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:#3a3a36; transition:color .25s; }
.foot-links a:hover { color:var(--gold); }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .55s ease,transform .55s ease; }
.reveal.in { opacity:1; transform:none; }

@media(max-width:1024px){
  nav{padding:1.1rem 2rem;} .nav-links,.nav-cta{display:none;} .burger{display:flex;}
  .hero{grid-template-columns:1fr;} .hero-right{min-height:55vw;} .hero-left{padding:5rem 2rem 3rem;}
  .about,.bio,.bim,.approach{grid-template-columns:1fr;}
  .about-img,.bio-img,.bim-right,.approach-img{min-height:300px;}
  .services-head,.awards-head,.team-head{grid-template-columns:1fr;gap:1.5rem;}
  .services-grid{grid-template-columns:1fr 1fr;} .team-grid{grid-template-columns:repeat(3,1fr);}
  .portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,240px);}
  .proj:nth-child(n){grid-column:span 1;} .proj:nth-child(1){grid-column:span 2;}
  .proj-lists{grid-template-columns:1fr 1fr;} .awards-grid{grid-template-columns:1fr 1fr;}
  .contact{grid-template-columns:1fr;} .offices{grid-template-columns:1fr;}
  section{padding:5rem 2rem;}
  .about,.bio,.bim-left,.approach,.contact-left,.contact-right{padding:5rem 2rem;}
}
@media(max-width:640px){
  .services-grid,.awards-grid,.proj-lists{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;} .bim-benefits{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;} .portfolio-grid{display:flex;flex-direction:column;}
  .proj{height:260px;} footer{flex-direction:column;gap:1rem;text-align:center;}
}
