
:root{
  --bg:#f4efe8; --card:#ffffff; --ink:#101114; --muted:#676059; --line:rgba(16,17,20,.10);
  --navy:#0b1220; --gold:#b98f52; --gold2:#e7c98d; --purple:#5a44ff; --shadow:0 28px 70px rgba(13,16,24,.12); --shadow2:0 18px 45px rgba(13,16,24,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f8f3ec 0%,var(--bg) 40%,#fff 100%);overflow-x:hidden}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%}
.wrap{width:min(1180px,calc(100% - 44px));margin:auto}
.top{position:sticky;top:0;z-index:40;backdrop-filter:blur(18px);background:rgba(244,239,232,.76);border-bottom:1px solid rgba(16,17,20,.07)}
.topin{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;flex-direction:column;gap:2px;font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1}
.brand small{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;gap:22px;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.phone{padding:12px 16px;border-radius:999px;background:var(--navy);color:#fff;font-weight:700;font-size:14px;box-shadow:0 10px 28px rgba(11,18,32,.18)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 22px;border-radius:14px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent;transition:.2s transform,.2s background,.2s border-color,.2s color}
.btn:hover{transform:translateY(-1px)} .btn.primary{background:var(--gold2);color:#16120a;box-shadow:0 18px 45px rgba(231,201,141,.22)} .btn.dark{background:var(--navy);color:#fff}
.reveal{opacity:0;transform:translateY(24px);transition:800ms cubic-bezier(.2,.7,.2,1)} .reveal.on{opacity:1;transform:none}
.note{padding:14px 16px;border-radius:18px;background:rgba(90,68,255,.07);border:1px solid rgba(90,68,255,.12);color:#41425a;font-size:14px;line-height:1.55;margin-bottom:18px}
.sticky{position:fixed;right:18px;bottom:18px;z-index:45;box-shadow:0 18px 45px rgba(11,18,32,.22)}
.footer{padding:52px 0;color:var(--muted);font-size:14px} .footerGrid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.06);backdrop-filter:blur(10px);text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:rgba(255,255,255,.78)} .kicker i{width:7px;height:7px;border-radius:999px;background:var(--gold2)}
.workHero{padding:86px 0 48px;background:linear-gradient(180deg,rgba(11,18,32,.96),rgba(11,18,32,.78)),var(--hero-img) center/cover;color:#fff}
.workHero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,7vw,88px);line-height:.9;margin:20px 0 14px;font-weight:600;max-width:920px}
.workHero p{max-width:820px;font-size:19px;line-height:1.65;color:rgba(255,255,255,.76)}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px} .pill{padding:10px 14px;border-radius:999px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.78)}
.gallery{padding:34px 0 98px;background:linear-gradient(180deg,#f4efe8 0%,#fff 100%)}
.galleryTop{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px;flex-wrap:wrap} .galleryTop h2{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,5vw,60px);margin:0;line-height:.95;font-weight:600} .galleryTop p{max-width:740px;color:var(--muted);line-height:1.6;margin:0}
.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.project,.heroProject{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow2);overflow:hidden}
.projectHead{padding:22px 22px 14px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start} .projectHead h3{margin:0;font-size:22px;line-height:1.1;letter-spacing:-.03em}
.meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right} .area{font-family:'Cormorant Garamond',serif;font-size:26px;line-height:1;color:var(--navy);font-weight:600} .styleTag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.projectBody{padding:0 22px 22px} .thumbGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px} .thumbGrid img{width:100%;aspect-ratio:1/1.05;object-fit:cover;border-radius:16px;transition:.2s transform} .thumbGrid a:hover img{transform:scale(1.02)}
.projectFoot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;color:var(--muted);font-size:13px;line-height:1.4} .projectFoot strong{color:var(--navy)}
.projectHero{padding:76px 0 44px;background:linear-gradient(180deg,rgba(11,18,32,.96),rgba(11,18,32,.64));color:#fff}
.heroGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:end}
.heroPanel{padding:30px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.17),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(16px);box-shadow:0 30px 90px rgba(0,0,0,.35);position:relative;overflow:hidden}
.heroPanel::before{content:'';position:absolute;inset:-80px -40px auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,var(--gold2),transparent 68%);opacity:.22}
.heroPanel .label{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.62)} .heroPanel .price{font-family:'Cormorant Garamond',serif;font-size:clamp(54px,7vw,78px);line-height:.9;margin:10px 0 10px;font-weight:600} .heroPanel p{color:rgba(255,255,255,.76);margin:0}
.heroStats{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:12px} .heroStats div{display:flex;justify-content:space-between;gap:18px;font-size:15px} .heroStats b{color:#fff}
.heroTitle{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,7vw,92px);line-height:.9;margin:18px 0 14px;font-weight:600;max-width:880px}
.heroText{max-width:760px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.76)}
.projectStrip{padding:18px 0 30px;background:linear-gradient(180deg,rgba(11,18,32,.64),rgba(11,18,32,.14));overflow:hidden} .strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px} .strip img{width:100%;height:190px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.section{padding:60px 0} .section h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,60px);line-height:.95;margin:0 0 18px;font-weight:600} .section p.lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:860px}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px} .mosaic .frame{position:relative;overflow:hidden;border-radius:22px;background:#111;box-shadow:var(--shadow2);aspect-ratio:4/3} .mosaic .frame img{width:100%;height:100%;object-fit:cover} .mosaic .frame .overlay{position:absolute;inset:auto 0 0 0;padding:14px 14px 12px;background:linear-gradient(180deg,transparent,rgba(11,18,32,.86));color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.galleryAll{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} .galleryAll .shot{position:relative;overflow:hidden;border-radius:20px;background:#111;box-shadow:var(--shadow2);aspect-ratio:1/1.06} .galleryAll .shot img{width:100%;height:100%;object-fit:cover;transition:.2s transform} .galleryAll .shot:hover img{transform:scale(1.02)} .galleryAll .shot .overlay{position:absolute;inset:auto 0 0 0;padding:12px 12px 11px;background:linear-gradient(180deg,transparent,rgba(11,18,32,.82));color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase} .galleryAll .shot .overlay span{display:block;font-size:10px;opacity:.72;letter-spacing:.14em}
.backLink{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#fff;opacity:.8} .backLink:hover{opacity:1}
@media (max-width:980px){.nav{display:none}.projects,.heroGrid,.mosaic,.galleryAll,.strip{grid-template-columns:1fr 1fr}.heroGrid{grid-template-columns:1fr}.strip img{height:160px}}
@media (max-width:640px){.wrap{width:min(100% - 24px,1180px)} .topin{height:68px} .phone{display:none} .projects,.heroGrid,.mosaic,.galleryAll,.strip{grid-template-columns:1fr} .projectHead,.projectBody{padding-left:16px;padding-right:16px} .strip img{height:150px} .galleryAll .shot,.mosaic .frame{aspect-ratio:4/3} .sticky{left:16px;right:16px} .sticky .btn{width:100%}}
