
: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:3px;line-height:1}
.brandName{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;letter-spacing:.01em;color:var(--ink)}
.brand small{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.20em;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:1;transform:none;transition:transform 500ms 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)}
.contactLinks{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.contactLinks .phone{padding:10px 13px;font-size:13px}
.chat-toggle{position:fixed;right:18px;bottom:88px;z-index:60;width:58px;height:58px;border:0;border-radius:50%;cursor:pointer;background:linear-gradient(135deg,var(--navy),#253760);color:#fff;box-shadow:0 18px 45px rgba(11,18,32,.26);display:flex;align-items:center;justify-content:center;font-size:24px}.chat-toggle.active{transform:scale(1.03)}
.chat-popup{position:fixed;right:18px;bottom:156px;z-index:59;width:min(380px,calc(100vw - 36px));max-height:min(620px,calc(100vh - 190px));display:none;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 80px rgba(11,18,32,.24)}.chat-popup.active{display:flex}
.chat-header{padding:16px 18px;background:linear-gradient(135deg,#101720,#253760);color:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center}.chat-title{font-weight:800;letter-spacing:-.02em}.chat-subtitle{font-size:12px;color:rgba(255,255,255,.72);margin-top:3px}.chat-close{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:999px;width:32px;height:32px;cursor:pointer}
.chat-messages{padding:16px;display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:240px;max-height:420px;background:#fbf8f3}.chat-message{max-width:86%;padding:10px 12px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-wrap}.chat-bot{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--ink)}.chat-user{align-self:flex-end;background:var(--navy);color:#fff}
.chat-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}.chat-input{flex:1;border:1px solid var(--line);border-radius:14px;padding:12px;font:inherit;outline:none;min-width:0}.chat-input:focus{border-color:rgba(191,164,111,.75)}.chat-send{border:0;border-radius:14px;padding:0 14px;background:var(--gold);color:#151515;font-weight:800;cursor:pointer}.chat-send:disabled{opacity:.5;cursor:default}
.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:12px;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:rgba(255,255,255,.72)} .kicker::before{content:"";width:42px;height:1px;background:currentColor;opacity:.65}.kicker i{display:none}
.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(3,minmax(0,1fr));gap:0;background:transparent;border-radius:28px;overflow:hidden;line-height:0}.galleryAll .shot{display:block;margin:0;position:relative;overflow:hidden;border-radius:0;background:#e8e1d7;box-shadow:none;aspect-ratio:4/3;grid-column:auto;grid-row:auto}.galleryAll .shot:nth-child(7n+1),.galleryAll .shot:nth-child(7n+5){aspect-ratio:16/10}.galleryAll .shot:nth-child(n+16){display:none}.galleryAll .shot img{width:100%;height:100%;object-fit:cover;transition:.2s transform}.galleryAll .shot:hover img{transform:scale(1.015)} .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%}}
