@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;450;500;550;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--bg:#101213;--panel:#1a1c1d;--text:#f6f5f2;--muted:#b7b6b3;--gold:#d4ac79;--line:rgba(207,176,130,.25);--font:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:radial-gradient(ellipse at 90% 45%,#1b1b18 0,transparent 35%),var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button{border:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3,p{margin:0}h2{font-size:29px;line-height:1.3;letter-spacing:-.8px;font-weight:650}h3{font-size:17px;line-height:1.5;font-weight:600}p{color:var(--muted)}.wrap{max-width:1280px;width:calc(100% - 80px);margin:auto}.skip{position:fixed;top:-100px;left:20px;padding:10px 20px;background:#151515;z-index:100}.skip:focus{top:10px}:focus-visible{outline:2px solid #e3be8d;outline-offset:5px;border-radius:3px}.header{position:absolute;inset:0 0 auto;z-index:20;border-bottom:1px solid rgba(225,204,175,.18);background:linear-gradient(110deg,rgba(20,22,22,.94),rgba(20,22,22,.65));backdrop-filter:blur(16px)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand strong{display:block;font-size:19px;font-weight:650;letter-spacing:-.4px}.brand small{display:block;font-size:10px;letter-spacing:2.7px;color:#c2c1bd;margin-top:3px}.brand-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.brand-logo img{display:block;width:54px;height:54px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.24))}.nav{display:flex;align-items:center;gap:29px}.nav a{position:relative;font-size:14px;white-space:nowrap;padding:12px 0;color:#dddcd9;transition:color .2s}.nav a:hover,.nav a.active{color:#fff}.nav a.active:after{content:"";position:absolute;bottom:3px;left:0;width:24px;height:2px;background:#cfa46b;box-shadow:0 0 9px #b88349}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:13px 24px;border-radius:7px;line-height:1.4;font-size:15px;font-weight:550;transition:background .2s,transform .2s,box-shadow .2s;border:1px solid transparent;white-space:nowrap}.button:hover{transform:translateY(-2px)}.gold{color:#fff9f1;background:linear-gradient(115deg,#b69062,#75563a 62%,#9b774e);border-color:#d5b084;box-shadow:inset 0 0 0 2px #dabb8220,inset 0 1px 8px #ffe9cc50,0 3px 18px #b3824423;text-shadow:0 1px 2px #0006}.gold:hover{background:linear-gradient(115deg,#c5a274,#876344 62%,#b68d60);box-shadow:0 4px 23px #bd8b4438,inset 0 0 8px #ffe9cc45}.outline{background:#15161777;border-color:#b8996e;color:#f5f1eb}.outline:hover{background:#34302a}.header-contact{min-height:44px;padding:10px 27px}.menu-toggle{display:none}.hero{height:765px;position:relative;overflow:hidden;background:#161715;border-bottom:1px solid #ac83593b}.hero-image{position:absolute;inset:94px 0 0;width:100%;height:calc(100% - 94px);object-fit:cover;object-position:center top}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,12,.93) 0%,rgba(8,11,12,.72) 30%,rgba(8,11,12,.13) 57%,transparent 75%),linear-gradient(0deg,#101213 0,transparent 16%)}.hero-inner{position:relative;height:100%;display:flex;align-items:center;padding-top:72px}.hero-copy{width:535px;padding-bottom:18px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);line-height:1.6;font-weight:500}.intro{margin-bottom:24px;font-size:10px;letter-spacing:2.7px;color:#c3b29c}h1{font-size:clamp(58px,5.7vw,82px);line-height:1.02;letter-spacing:-4px;font-weight:750}.specialty{font-size:14px;letter-spacing:5px;color:#e4b478;margin-top:23px;line-height:1.8}.hero-description{font-size:17px;line-height:1.75;margin:23px 0 27px;color:#d4d2ce}.visit{display:flex;align-items:center;gap:20px;padding:18px 22px;background:linear-gradient(120deg,#282929b3,#141515b3);border:1px solid #bbb09c4a;border-radius:9px;max-width:451px;backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 #ffffff08}.visit>svg{width:33px;height:33px;color:var(--gold)}.visit span{font-size:17px}.visit .small-arrow{margin-left:auto;width:18px;height:18px;opacity:.65}.hero-actions{display:flex;gap:15px;margin-top:18px}.hero-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:2px;color:#b0a697;text-transform:uppercase;white-space:nowrap}.hero-scroll span{margin-left:12px;font-size:17px;color:#d7b284}.content{padding-top:30px}.panel{border:1px solid #b5b3ab32;border-radius:10px;background:linear-gradient(120deg,#242627b0,#161819c0);box-shadow:inset 0 1px 0 #ffffff05}.meeting-summary{padding:28px 30px;display:flex;align-items:center;gap:24px;scroll-margin-top:25px}.round-icon{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border:1px solid #d8b07851;border-radius:50%;background:radial-gradient(circle at 30% 25%,#49403370,#141719);color:#e9c28f;box-shadow:inset 0 0 8px #ffe6c307;flex-shrink:0}.round-icon svg{width:29px;height:29px}.round-icon.large{height:78px;width:78px}.round-icon.large svg{height:36px;width:36px}.meeting-intro{flex:1}.meeting-intro h2{font-size:22px;letter-spacing:-.4px;margin-bottom:8px}.meeting-intro p{font-size:14px;line-height:1.65}.meeting-detail{border-left:1px solid #a4a0943b;padding-left:28px;display:flex;gap:15px;align-items:center;min-height:74px}.meeting-detail>svg{width:29px;height:29px;color:var(--gold)}.meeting-detail p{color:#f0eeeb;font-size:14px}.meeting-detail small{display:block;font-size:12px;color:#aaa9a7;margin-bottom:4px}.section{margin-top:51px}.section-heading{display:flex;align-items:center;gap:23px;margin-bottom:24px}.gold-line{width:48px;height:1px;background:#c99d66;flex-shrink:0}.section-counter{margin-left:auto;color:#898781;letter-spacing:2.4px;font-size:10px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.step{padding:24px 23px 27px;position:relative;transition:border-color .2s}.step:hover{border-color:#ad875252}.step-number{position:absolute;top:28px;right:24px;font-size:12px;letter-spacing:2px;color:#82715b}.step h3{margin:23px 0 9px;font-size:16px;letter-spacing:-.3px}.step p{font-size:14px;line-height:1.75}.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.category{height:297px;position:relative;overflow:hidden;border:1px solid #bc9d6d7a;border-radius:8px;padding:0;text-align:left;background:#25211c}.furniture{display:block;position:absolute;inset:0;background-image:url('./assets/interiors.png');background-size:200% 200%;background-repeat:no-repeat;transition:transform .6s}.kitchen{background-position:0 0}.wardrobe{background-position:100% 0}.dressing{background-position:0 100%}.bathroom{background-position:100% 100%}.category:hover .furniture,.work:hover .furniture{transform:scale(1.045)}.category:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#090a0bec)}.category-label{position:absolute;bottom:19px;left:21px;right:19px;z-index:1;display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:550}.category-label svg{width:22px;color:#e5c28f}.section-note{font-size:13px;margin:-13px 0 22px;color:#98968f}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.work{padding:0;background:none;text-align:left;min-width:0}.work-photo{display:block;aspect-ratio:1.4;position:relative;overflow:hidden;border:1px solid #aa8b5d66;border-radius:8px}.zoom{position:absolute;top:14px;right:14px;width:35px;height:35px;border:1px solid #e7cfac55;border-radius:50%;display:grid;place-items:center;background:#111a;color:#e2bd8d;backdrop-filter:blur(8px);opacity:0;transition:opacity .2s}.work:hover .zoom{opacity:1}.work-caption{display:flex;justify-content:space-between;align-items:center;padding:17px 1px 0}.work-caption strong{display:block;font-size:17px;font-weight:550}.work-caption small{display:block;font-size:12px;color:#99968f;letter-spacing:.7px;margin-top:4px}.work-caption svg{color:#d2ac78;width:21px}.about{margin-top:60px;padding:38px 40px;display:grid;grid-template-columns:1fr 1.1fr;gap:55px}.about .eyebrow{margin-bottom:18px}.about h2{font-size:34px;line-height:1.35}.about h2 span{color:#c9ac87}.about>div+div{border-left:1px solid #b2a18a33;padding-left:45px}.about p:not(.eyebrow){font-size:15px;margin-bottom:15px}.text-link{display:inline-flex;align-items:center;gap:13px;color:#e1bd8c;font-size:14px}.text-link svg{width:20px}.contact{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:48px;margin-bottom:48px;padding:38px 40px;background:radial-gradient(ellipse at 100% 100%,#94744918,transparent 65%),linear-gradient(120deg,#28292ac0,#17191acc)}.contact .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:13px}.contact h2{font-size:30px;margin-bottom:14px}.contact p:not(.eyebrow){font-size:15px}.contact .button{padding:18px 26px}footer{border-top:1px solid #d1c0a921;background:#0c0f10}.footer-inner{display:flex;align-items:center;justify-content:space-between;padding-top:35px;padding-bottom:29px}.footer-inner .brand strong{font-size:16px}.footer-inner .brand small{font-size:9px;letter-spacing:2px}.footer-inner .brand-logo img{width:48px;height:48px}.footer-inner p{font-size:12px;line-height:1.8;color:#918e88}.top-link{font-size:13px;color:#c7ad8c}.footer-bottom{padding:15px 0 21px;border-top:1px solid #ffffff08;color:#737570;font-size:11px}dialog{position:fixed;color:var(--text);background:#191c1d;border:1px solid #b094715c;border-radius:16px;padding:36px;width:min(540px,calc(100% - 32px));max-height:90dvh;overflow:auto;box-shadow:0 30px 120px #000c}dialog::backdrop{background:#050707cf;backdrop-filter:blur(7px)}dialog .eyebrow{margin:7px 30px 13px 0}dialog h2{font-size:28px;letter-spacing:-.6px;margin-right:15px}.dialog-lead{font-size:14px;margin:16px 0 22px}.close{position:absolute;top:13px;right:15px;background:#151818db;border:1px solid #a9a39750;border-radius:50%;width:38px;height:38px;font-size:25px;line-height:1;z-index:3}.close:hover{background:#44392c}label{display:block;color:#d6d1c9;font-size:14px;margin:16px 0}input,textarea,select{display:block;width:100%;margin-top:7px;background:#0d1011;border:1px solid #68655c;border-radius:6px;color:#f4f0e9;padding:12px 13px;font-size:16px;line-height:1.5}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#777a78}.form-note{font-size:12px;line-height:1.7;color:#a5a39d;margin:18px 0}form .button{width:100%}.result-actions{display:flex;gap:12px}#copy-status{font-size:13px;color:#d9bc95;margin-top:15px;min-height:22px}.project-dialog{padding:0;width:min(830px,calc(100% - 32px));}.project-photo{position:relative;aspect-ratio:1.8}.project-info{padding:24px 32px 32px}.project-info h2{margin-bottom:15px}.project-info>p:not(.eyebrow):not(.form-note){font-size:15px}.project-info .button{margin-top:2px}body.modal-open{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1600px){.hero{height:825px}.hero-image{object-position:center top}.hero-shade{background:linear-gradient(90deg,#0a0d0df0,#0a0d0d99 32%,transparent 62%),linear-gradient(0deg,#101213,transparent 15%)}}
@media(max-width:1150px){.wrap{width:calc(100% - 48px)}.nav{gap:19px}.brand{gap:12px}.brand strong{font-size:17px}.brand small{font-size:9px;letter-spacing:2px}.header-contact{padding:9px 18px}.header-inner{gap:17px;height:85px}.hero{height:720px}.hero-copy{width:480px}.hero-shade{background:linear-gradient(90deg,#080b0cf0,#080b0ca1 40%,transparent 85%),linear-gradient(0deg,#101213,transparent 15%)}.hero-image{top:85px;height:calc(100% - 85px);object-position:58% top}.meeting-summary{padding:24px 22px;gap:16px}.meeting-intro h2{font-size:19px}.meeting-detail{padding-left:18px;gap:9px}.round-icon.large{width:62px;height:62px}.meeting-intro p{font-size:13px}.step{padding:20px 16px}.step h3{font-size:15px}.step p{font-size:13px}.category{height:255px}.category-label{font-size:15px;left:16px;right:13px}.about{padding:30px;gap:30px}.about>div+div{padding-left:30px}}
@media(max-width:900px){.nav{gap:16px}.nav a{font-size:12px}.header-contact{display:none}.hero{height:730px}.hero-copy{width:440px}.hero-image{object-position:62% top}.hero-shade{background:linear-gradient(90deg,#080b0cf5,#080b0cbb 35%,#080b0c22 85%),linear-gradient(0deg,#101213,transparent 18%)}h1{font-size:68px}.specialty{letter-spacing:3.5px;font-size:12px}.hero-description{font-size:16px}.meeting-summary{flex-wrap:wrap}.meeting-intro{flex-basis:calc(100% - 90px)}.meeting-detail{border-left:0;padding-left:78px;min-height:45px}.meeting-detail:last-child{padding-left:15px}.steps{grid-template-columns:repeat(2,1fr)}.step{padding:24px}.step h3{font-size:18px}.step p{font-size:15px}.categories{grid-template-columns:repeat(2,1fr)}.category{height:330px}.category-label{font-size:18px}.section-counter{font-size:9px;letter-spacing:1px}.works{gap:16px}.work-caption strong{font-size:14px}.work-caption small{font-size:11px}.about{gap:25px}.about h2{font-size:28px}.contact{padding:30px}.contact .button{font-size:13px;padding:16px}.contact h2{font-size:27px}}
@media(max-width:640px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}.header-inner{height:78px;gap:12px}.brand{gap:13px}.brand strong{font-size:16px}.brand small{font-size:8px;letter-spacing:1.9px}.monogram{font-size:42px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:12px;background:#24262680;width:45px;height:43px;border:1px solid #c7a47755;border-radius:6px}.menu-toggle span{width:21px;height:1px;background:#e7d4b7;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#121616fa;border-bottom:1px solid #b49c7666;padding:15px 22px;box-shadow:0 12px 30px #0006}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{font-size:16px;padding:13px 8px}.nav a.active:after{display:none}.hero{height:auto;min-height:880px;padding-bottom:24px}.hero-image{height:460px;top:78px;object-fit:cover;object-position:70% top}.hero-shade{background:linear-gradient(0deg,#101213 0,#101213 38%,#10121300 66%),linear-gradient(180deg,#080c0b40,transparent 35%)}.hero-inner{padding-top:470px;display:block}.hero-copy{width:100%;padding-bottom:0}.intro{font-size:9px;letter-spacing:2px;margin-bottom:14px}h1{font-size:56px;line-height:1.03;letter-spacing:-2.6px}h1 br{display:none}h1{max-width:320px}.specialty{font-size:10px;letter-spacing:2.8px;margin-top:17px}.hero-description{margin:18px 0 21px;font-size:15px;line-height:1.75}.desktop-br{display:none}.visit{padding:14px 16px;gap:14px;max-width:none}.visit span{font-size:15px}.visit>svg{height:27px;width:27px}.hero-actions{gap:10px;margin-top:12px}.hero-actions .button{font-size:13px;padding:13px 12px;gap:9px;flex:1;min-height:51px}.hero-actions svg{width:18px}.hero-scroll{display:none}.content{padding-top:20px}.meeting-summary{padding:22px 18px;gap:15px;border-radius:9px}.round-icon.large{width:50px;height:50px}.round-icon.large svg{width:27px;height:27px}.meeting-intro{flex-basis:calc(100% - 65px)}.meeting-intro h2{font-size:18px;line-height:1.4}.meeting-intro p{font-size:12px}.meeting-intro p br{display:none}.meeting-detail{padding:14px 0 0;width:calc(50% - 8px);gap:10px;border-top:1px solid #b3a28325;align-items:flex-start}.meeting-detail:last-child{padding:14px 0 0}.meeting-detail>svg{width:23px;height:23px}.meeting-detail small{font-size:10px}.meeting-detail p{font-size:12px}.section{margin-top:37px}.section-heading{gap:15px;margin-bottom:20px}h2{font-size:24px;letter-spacing:-.6px}.section-counter{display:none}.gold-line{width:34px}.steps{gap:12px}.step{padding:20px 15px}.round-icon{width:50px;height:50px}.round-icon svg{width:24px;height:24px}.step-number{right:13px;top:20px;font-size:10px}.step h3{font-size:15px;margin:18px 0 9px;line-height:1.4}.step p{font-size:13px;line-height:1.7}.categories{gap:12px}.category{height:230px}.category-label{font-size:14px;left:12px;right:10px;bottom:14px;gap:6px}.category-label svg{width:17px}.section-note{font-size:12px;line-height:1.7;margin-top:-7px}.works{grid-template-columns:1fr;gap:25px}.work-photo{aspect-ratio:1.4}.work-caption{padding-top:12px}.work-caption strong{font-size:17px}.work-caption small{font-size:12px}.zoom{opacity:1}.about{display:block;margin-top:38px;padding:27px 22px}.about h2{font-size:28px}.about>div+div{padding:23px 0 0;margin-top:23px;border-left:0;border-top:1px solid #b2a18a33}.about p:not(.eyebrow){font-size:14px}.eyebrow{font-size:10px;letter-spacing:2px}.contact{display:block;padding:27px 22px;margin:30px 0}.contact h2{font-size:27px}.contact .eyebrow{font-size:9px;letter-spacing:1.7px;max-width:230px}.contact p:not(.eyebrow){font-size:14px}.contact .button{width:100%;margin-top:23px;padding:15px 10px;font-size:14px}.contact .button svg:last-child{margin-left:auto}.footer-inner{padding-top:27px;gap:23px;flex-wrap:wrap}.footer-inner .brand{width:calc(100% - 95px)}.footer-inner .brand strong{font-size:15px}.footer-inner .brand small{font-size:8px;letter-spacing:1.4px}.footer-inner p{order:3;font-size:11px}.footer-inner .top-link{font-size:12px;margin-left:auto}.footer-bottom{font-size:10px}dialog{padding:29px 22px}dialog h2{font-size:25px}.project-info{padding:22px}.project-info .button{width:100%;white-space:normal;font-size:13px}.project-photo{aspect-ratio:1.3}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.hero-actions{flex-direction:column}h1{font-size:50px}.categories{gap:9px}.category{height:205px}.category-label{font-size:12px}.step{padding:17px 12px}.step h3{font-size:14px}.meeting-intro h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.crm-entry{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid #d4ac7959;border-radius:7px;color:#e0bb8b;font-size:11px;letter-spacing:1.1px;transition:.2s}.crm-entry:hover{background:#d4ac7912;border-color:#d4ac7990;color:#fff}
@media(max-width:900px){.crm-entry{margin-left:auto}}
@media(max-width:640px){.crm-entry{min-height:36px;padding:7px 10px;font-size:10px;margin-left:auto}.header-contact{display:none}}

@media(max-width:760px){.brand-logo img{width:48px;height:48px}.footer-inner .brand-logo img{width:42px;height:42px}}

/* v7: independent fixed logo mark — never stretches with the text */
.brand{display:inline-flex;align-items:center;gap:14px;flex:0 0 auto;min-width:0}
.brand-mark{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;overflow:visible}
.brand-mark img{display:block;width:56px;height:56px;max-width:none;object-fit:contain;object-position:center;filter:none;transform:none}
.brand-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:0 0 auto}
.footer-mark{width:48px;height:48px;flex-basis:48px}
.footer-mark img{width:48px;height:48px}
@media(max-width:760px){.brand-mark{width:46px;height:46px;flex-basis:46px}.brand-mark img{width:46px;height:46px}.footer-mark{width:42px;height:42px;flex-basis:42px}.footer-mark img{width:42px;height:42px}}

.public-work-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.public-work:hover .public-work-image{transform:scale(1.045)}.portfolio-public-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#252525,#151718);color:#8d8d88;font-size:12px;letter-spacing:1px}.public-project-image{display:block;position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}.project-photo{overflow:hidden}.project-photo .public-project-image{width:100%;height:100%}

/* Portfolio v10: category slides, infinite mixed carousel, gallery lightbox */
.category-media{position:absolute;inset:0;overflow:hidden}.category-media .furniture{position:absolute;inset:0}.category-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity .9s ease,transform 5.5s ease}.category-slide.active{opacity:1;transform:scale(1.07)}.portfolio-category .category-label>span{display:flex;flex-direction:column;gap:2px}.category-count{display:block;color:#c6b8a6;font-size:9px;letter-spacing:.8px;font-weight:500}.portfolio-category:after{pointer-events:none}
.portfolio-marquee{width:100%;overflow:hidden;position:relative;padding:2px 0 8px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.portfolio-marquee-track{display:flex;gap:18px;width:max-content;animation:portfolio-scroll 42s linear infinite;will-change:transform}.portfolio-marquee:hover .portfolio-marquee-track,.portfolio-marquee:focus-within .portfolio-marquee-track{animation-play-state:paused}.marquee-work{width:340px;flex:0 0 340px}.marquee-work .work-photo{aspect-ratio:1.42}.marquee-work .work-caption{padding:11px 2px 0}.marquee-work .work-caption strong{font-size:15px}.marquee-work .work-caption small{font-size:10px}.marquee-work .zoom{opacity:.85}
@keyframes portfolio-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}

.gallery-dialog{padding:0;width:min(1120px,calc(100% - 28px));max-height:94dvh;overflow:hidden;background:#0e1112;border-color:#b094716b}.gallery-stage{position:relative;background:#080a0b;height:min(68dvh,720px);display:grid;place-items:center;overflow:hidden}.gallery-stage img{display:block;width:100%;height:100%;object-fit:contain;background:#080a0b}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;background:#11191ad1;border:1px solid #dbc09a70;color:#fff;font-size:35px;line-height:1;display:grid;place-items:center;backdrop-filter:blur(8px);transition:.2s}.gallery-nav:hover{background:#3a3025e8;border-color:#e7c898}.gallery-prev{left:18px}.gallery-next{right:18px}.gallery-counter{position:absolute;right:18px;bottom:17px;background:#0b0e0fbd;border:1px solid #ffffff20;border-radius:99px;padding:6px 11px;color:#d9d5cf;font-size:11px;letter-spacing:1px;backdrop-filter:blur(8px)}.gallery-info{padding:24px 31px 27px}.gallery-info h2{margin:5px 0 9px}.gallery-info>p:not(.eyebrow){font-size:13px;line-height:1.65;color:#aaa9a4}.gallery-dots{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.gallery-dots button{width:8px;height:8px;padding:0;border-radius:50%;background:#6b6b66;transition:.2s}.gallery-dots button.active{background:#d8b27d;transform:scale(1.25)}.gallery-close{background:#090c0dcf}

@media(max-width:900px){.marquee-work{width:300px;flex-basis:300px}.portfolio-marquee-track{gap:14px;animation-duration:38s}.gallery-stage{height:min(62dvh,620px)}}
@media(max-width:640px){.category-count{font-size:8px}.portfolio-marquee{width:calc(100% + 36px);margin-left:-18px;mask-image:none;-webkit-mask-image:none}.portfolio-marquee-track{gap:12px;animation-duration:34s}.marquee-work{width:265px;flex-basis:265px}.marquee-work:first-child{margin-left:18px}.marquee-work .work-caption{padding-left:2px}.gallery-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0}.gallery-stage{height:64dvh}.gallery-nav{width:43px;height:43px;font-size:29px}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-counter{right:12px;bottom:12px}.gallery-info{padding:20px 20px 24px}.gallery-info h2{font-size:23px}.gallery-dots{gap:6px}}
@media(prefers-reduced-motion:reduce){.portfolio-marquee-track{animation:none}.category-slide{transition:none}}

/* Gallery v11 — image-first viewer + fullscreen */
.gallery-dialog{position:fixed;inset:3dvh 2.5vw auto;margin:auto;padding:0;width:95vw;max-width:1540px;height:94dvh;max-height:94dvh;overflow:hidden;background:#080a0b;border:1px solid #b094716b;border-radius:16px}.gallery-dialog[open]{display:block}.gallery-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:#080a0b;display:grid;place-items:center;overflow:hidden}.gallery-stage img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#080a0b}.gallery-toolbar{position:absolute;top:14px;right:14px;z-index:12;display:flex;gap:9px;align-items:center}.gallery-toolbar .gallery-close,.gallery-fullscreen{position:static;width:43px;height:43px;margin:0;border-radius:50%;display:grid;place-items:center;background:#0b0e0fd9;border:1px solid #ffffff2b;color:#fff;backdrop-filter:blur(10px);box-shadow:0 6px 28px #0007}.gallery-toolbar .gallery-close{font-size:26px;line-height:1}.gallery-fullscreen{font-size:21px;line-height:1}.gallery-toolbar .gallery-close:hover,.gallery-fullscreen:hover{background:#3a3025e8;border-color:#e7c898}.gallery-info{position:absolute;z-index:8;left:22px;bottom:20px;width:min(520px,calc(100% - 150px));padding:14px 17px 15px;border:1px solid #ffffff1f;border-radius:11px;background:linear-gradient(120deg,#0b0e0fe8,#121516d1);backdrop-filter:blur(14px);box-shadow:0 10px 40px #0008}.gallery-info .eyebrow{font-size:9px;letter-spacing:2px}.gallery-info h2{font-size:21px;margin:3px 0 4px}.gallery-info>p:not(.eyebrow){font-size:11px;line-height:1.45;color:#b9b7b1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-dots{margin-top:9px;gap:6px}.gallery-counter{right:22px;bottom:22px;z-index:9}.gallery-nav{z-index:9}.gallery-dialog:fullscreen,.gallery-dialog.gallery-pseudo-fullscreen{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;margin:0;background:#050708}.gallery-dialog:fullscreen .gallery-info,.gallery-dialog.gallery-pseudo-fullscreen .gallery-info{bottom:24px;left:26px}.gallery-dialog:fullscreen .gallery-toolbar,.gallery-dialog.gallery-pseudo-fullscreen .gallery-toolbar{top:18px;right:18px}@media(max-width:640px){.gallery-dialog{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0}.gallery-info{left:12px;bottom:12px;width:calc(100% - 88px);padding:11px 13px 12px}.gallery-info h2{font-size:18px}.gallery-info>p:not(.eyebrow){display:none}.gallery-toolbar{top:10px;right:10px}.gallery-toolbar .gallery-close,.gallery-fullscreen{width:40px;height:40px}.gallery-counter{right:12px;bottom:12px}}


/* Portfolio v12 — cleaner image-only auto panels with circular reveal */
.category-media{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.06),transparent 58%), linear-gradient(180deg,rgba(8,10,11,.12),rgba(8,10,11,.38));}
.category-slide{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;
  transform:translate3d(28px,0,0) scale(.9);
  clip-path:circle(14% at 112% 50%);
  filter:saturate(.95) brightness(.96);
  transition:opacity .9s ease,transform 1.35s cubic-bezier(.2,.72,.18,1),clip-path 1.35s cubic-bezier(.2,.72,.18,1),filter 1.35s ease;
}
.category-slide.active{
  opacity:1;
  transform:translate3d(0,0,0) scale(1.05);
  clip-path:circle(140% at 50% 50%);
  filter:saturate(1.02) brightness(1);
}
.portfolio-category .category-label{
  background:linear-gradient(180deg,transparent,rgba(5,7,8,.72) 46%,rgba(5,7,8,.9));
  left:0;right:0;bottom:0;padding:36px 18px 18px;border-radius:0 0 10px 10px;
}
.portfolio-category .category-label svg{opacity:.75}

.marquee-work.image-only{width:300px;flex:0 0 300px;border:0;background:transparent;padding:0;position:relative}
.marquee-work.image-only .work-photo{
  aspect-ratio:1.22;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.26);
  transform:translateZ(0);
}
.marquee-work.image-only .public-work-image{transition:transform .8s ease, filter .8s ease}
.marquee-work.image-only:hover .public-work-image{transform:scale(1.06);filter:saturate(1.03)}
.marquee-work.image-only .zoom{
  opacity:0;
  transform:translateY(8px) scale(.92);
  transition:opacity .35s ease,transform .35s ease;
}
.marquee-work.image-only:hover .zoom{opacity:1;transform:translateY(0) scale(1)}
.marquee-work.image-only .work-caption{display:none !important}
.portfolio-marquee{padding:8px 0 14px}
.portfolio-marquee-track{gap:22px;animation-duration:48s}

@media(max-width:900px){
  .marquee-work.image-only{width:270px;flex-basis:270px}
  .portfolio-marquee-track{gap:16px;animation-duration:44s}
}
@media(max-width:640px){
  .marquee-work.image-only{width:230px;flex-basis:230px}
  .marquee-work.image-only .work-photo{border-radius:18px}
  .portfolio-marquee-track{gap:12px;animation-duration:38s}
  .portfolio-category .category-label{padding:28px 14px 14px}
}


/* v13 gallery correction — compact dialog, whole image visible */
.gallery-dialog{
  position:fixed !important;
  inset:auto !important;
  width:min(1180px,calc(100% - 32px)) !important;
  height:auto !important;
  max-height:92dvh !important;
  margin:auto !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#0b0e0f !important;
}
.gallery-stage{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:min(68dvh,720px) !important;
  min-height:360px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#050708 !important;
}
.gallery-stage img{
  position:static !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  flex:0 0 auto !important;
  background:#050708 !important;
}
.gallery-info{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  width:auto !important;
  padding:18px 24px 20px !important;
  border:0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-radius:0 !important;
  background:#0d1011 !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.gallery-info h2{font-size:22px !important;margin:3px 0 5px !important}
.gallery-info>p:not(.eyebrow){font-size:11px !important;white-space:normal !important;overflow:visible !important}
.gallery-toolbar{top:12px !important;right:12px !important}
.gallery-counter{right:16px !important;bottom:16px !important}
.gallery-dialog:fullscreen,
.gallery-dialog.gallery-pseudo-fullscreen{
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  border-radius:0 !important;
  margin:0 !important;
}
.gallery-dialog:fullscreen .gallery-stage,
.gallery-dialog.gallery-pseudo-fullscreen .gallery-stage{height:100dvh !important;min-height:0 !important}
.gallery-dialog:fullscreen .gallery-info,
.gallery-dialog.gallery-pseudo-fullscreen .gallery-info{
  position:absolute !important;
  left:18px !important;
  bottom:18px !important;
  width:min(460px,calc(100% - 110px)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  background:rgba(10,13,14,.78) !important;
  backdrop-filter:blur(12px) !important;
}
@media(max-width:640px){
  .gallery-dialog{width:100% !important;max-width:none !important;max-height:100dvh !important;border-radius:0 !important}
  .gallery-stage{height:68dvh !important;min-height:280px !important}
  .gallery-info{padding:14px 16px 16px !important}
}


/* v14 — centered + draggable gallery window */
.gallery-dialog:not(:fullscreen):not(.gallery-pseudo-fullscreen){
  position:fixed !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
}
.gallery-dialog.is-dragged:not(:fullscreen):not(.gallery-pseudo-fullscreen){
  transform:none !important;
}
.gallery-drag-handle{
  position:absolute;
  z-index:14;
  left:50%;
  top:9px;
  transform:translateX(-50%);
  width:92px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.gallery-drag-handle:active{cursor:grabbing}
.gallery-drag-handle span{
  width:48px;height:4px;border-radius:99px;
  background:rgba(255,255,255,.42);
  box-shadow:0 1px 8px rgba(0,0,0,.35);
}
.gallery-dialog:fullscreen .gallery-drag-handle,
.gallery-dialog.gallery-pseudo-fullscreen .gallery-drag-handle{display:none}
@media(max-width:640px){.gallery-drag-handle{display:none}}


/* v15 — reliable gallery drag + visible close */
.gallery-toolbar{z-index:30 !important}
.gallery-toolbar .gallery-close{z-index:31 !important;background:#090c0df0 !important;border:1px solid #ffffff35 !important;box-shadow:0 8px 28px #0009 !important}
.gallery-drag-handle{z-index:29 !important}
.gallery-dialog.is-dragged:not(:fullscreen):not(.gallery-pseudo-fullscreen){
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:0 !important;
}


/* =========================================================
   PERSONAL MEASUREMENT
   ========================================================= */

.meeting-detail p span{
  display:block;
}


.meeting-client-info{

  grid-column:1 / -1;

  display:grid;
  grid-template-columns:
    minmax(180px,1fr)
    minmax(180px,1fr);

  gap:12px 24px;

  width:100%;

  margin-top:5px;
  padding-top:20px;

  border-top:
    1px solid rgba(255,255,255,.07);
}


.meeting-client-info[hidden]{
  display:none !important;
}


.meeting-client-row{

  display:flex;
  flex-direction:column;

  gap:5px;
}


.meeting-client-row small{

  color:
    rgba(255,255,255,.42);

  font-size:9px;

  letter-spacing:1.2px;

  text-transform:uppercase;
}


.meeting-client-row strong,
.meeting-client-row a{

  color:#dedbd4;

  font-size:13px;

  font-weight:500;

  line-height:1.45;

  text-decoration:none;
}


.meeting-client-actions{

  grid-column:1 / -1;

  display:flex;
  flex-wrap:wrap;

  gap:9px;

  margin-top:5px;
}


.meeting-confirmed{

  grid-column:1 / -1;

  padding:12px 14px;

  border:
    1px solid rgba(117,168,126,.20);

  border-radius:10px;

  background:
    rgba(117,168,126,.06);

  color:#a8c8ae;

  font-size:11px;
}


@media(max-width:720px){

  .meeting-client-info{

    grid-template-columns:1fr;

    gap:15px;

    margin-top:12px;
  }


  .meeting-client-actions{

    display:grid;
    grid-template-columns:1fr;

    width:100%;
  }


  .meeting-client-actions .button{

    width:100%;

    justify-content:center;
  }

}

/* ===== PUBLIC PORTFOLIO COLOR FILTER ===== */

.public-portfolio-filter{
  margin:24px 0 28px;
  max-width:620px;
}

.public-portfolio-filter > label{
  display:block;
  margin-bottom:9px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.72;
}

.public-color-search{
  position:relative;
}

.public-color-search input{
  width:100%;
  min-height:52px;
  padding:0 52px 0 18px;
  border:1px solid rgba(194,160,93,.32);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:inherit;
  font:inherit;
  outline:none;
  transition:border-color .2s ease, background .2s ease;
}

.public-color-search input:focus{
  border-color:rgba(194,160,93,.8);
  background:rgba(255,255,255,.055);
}

.public-color-search input::placeholder{
  color:rgba(255,255,255,.38);
}

#public-color-clear{
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:inherit;
  font-size:22px;
  opacity:.55;
  cursor:pointer;
}

#public-color-clear:hover{
  opacity:1;
  background:rgba(255,255,255,.06);
}

.portfolio-empty{
  width:100%;
  padding:42px 24px;
  text-align:center;
  border:1px solid rgba(194,160,93,.18);
  border-radius:14px;
  opacity:.72;
}

