@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Jost:wght@400;500;600&display=swap');

/* ===== PUBLIC PORTFOLIO ===== */
.ztm-portfolio{--ivory:#F7F3EE;--bronze:#9C7A3C;--cocoa:#3D2F28;--black:#1E1A17;position:relative;left:50%;width:100vw;max-width:none;margin-left:-50vw;padding:82px 32px 92px;background:var(--ivory);color:var(--black);box-sizing:border-box;overflow:hidden}.ztm-portfolio *{box-sizing:border-box}.ztm-shell{width:min(1480px,100%);margin:auto}.ztm-head{text-align:center;max-width:920px;margin:0 auto 38px}.ztm-eyebrow{margin:0;font:600 12px/1.3 Jost,sans-serif;letter-spacing:.23em;text-transform:uppercase;color:var(--bronze)}.ztm-head-rule{display:block;width:54px;height:1px;background:var(--bronze);margin:16px auto 22px}.ztm-head h1{margin:0;font:500 clamp(52px,4.8vw,74px)/.98 'Cormorant Garamond',serif;letter-spacing:-.02em;color:var(--black)}.ztm-intro{max-width:760px;margin:20px auto 0;font:400 17px/1.7 Jost,sans-serif;color:var(--cocoa)}.ztm-controls{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:48px}.ztm-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.ztm-filters button{border:1px solid rgba(61,47,40,.24);background:transparent;padding:12px 20px;font:600 10px/1 Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--cocoa);cursor:pointer;transition:.22s}.ztm-filters button:hover,.ztm-filters button.is-active{background:var(--bronze);border-color:var(--bronze);color:var(--ivory)}.ztm-search input{height:40px;border:1px solid rgba(61,47,40,.24);background:transparent;padding:0 13px;font-family:Jost,sans-serif}.ztm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:58px 24px}.ztm-card{min-width:0}.ztm-card[hidden]{display:none!important}.ztm-compare{--ztm-position:50%;position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#221914;isolation:isolate}.ztm-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.ztm-after{z-index:1}.ztm-before{z-index:2;clip-path:inset(0 calc(100% - var(--ztm-position)) 0 0);filter:saturate(.8) brightness(.74) contrast(.97)}.ztm-compare:after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(to top,rgba(30,26,23,.4),transparent 34%);pointer-events:none}.ztm-label{position:absolute;top:16px;z-index:5;padding:7px 10px;border:1px solid rgba(247,243,238,.35);background:rgba(30,26,23,.5);backdrop-filter:blur(4px);font:600 10px/1 Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory)}.ztm-label-before{left:16px}.ztm-label-after{right:16px}.ztm-divider{position:absolute;top:0;bottom:0;left:var(--ztm-position);z-index:6;width:1px;background:rgba(247,243,238,.85);transform:translateX(-50%);pointer-events:none}.ztm-handle{position:absolute;left:var(--ztm-position);top:50%;z-index:7;width:42px;height:42px;border:1px solid var(--ivory);border-radius:50%;background:rgba(61,47,40,.84);transform:translate(-50%,-50%);display:grid;place-items:center;color:var(--ivory);pointer-events:none;box-shadow:0 8px 28px rgba(0,0,0,.22)}.ztm-handle:before{content:"‹  ›";font:400 16px/1 Jost,sans-serif;letter-spacing:.04em}.ztm-range{position:absolute;inset:0;z-index:8;width:100%;height:100%;opacity:0;cursor:ew-resize}.ztm-meta{padding:20px 1px 0}.ztm-meta h2{margin:0;font:500 31px/1.05 'Cormorant Garamond',serif;color:var(--black)}.ztm-rule{width:42px;height:1px;background:var(--bronze);margin:13px 0 11px}.ztm-meta p{margin:0;font:500 11px/1.5 Jost,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--cocoa)}.ztm-no-results{text-align:center;font:400 18px/1.7 Jost,sans-serif;color:var(--cocoa)}.ztm-cta{text-align:center;margin-top:72px;padding:56px 24px;background:var(--cocoa);color:var(--ivory)}.ztm-cta h2{font:500 48px/1 'Cormorant Garamond',serif;margin:0 0 28px}.ztm-cta a{display:inline-flex;padding:17px 28px;background:var(--bronze);color:var(--ivory);font:600 10px/1 Jost,sans-serif;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}

/* ===== CUSTOM MOBILE/PWA MANAGER ===== */
.ztm-mobile-page{margin:0;background:#F7F3EE;color:#1E1A17;font-family:Jost,sans-serif;min-height:100vh}.ztm-mobile-page *{box-sizing:border-box}.ztm-custom-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 20%,rgba(156,122,60,.14),transparent 30%),linear-gradient(135deg,#F7F3EE 0%,#E8E1D9 100%)}.ztm-login-panel{width:min(460px,100%);padding:42px;background:rgba(247,243,238,.94);border:1px solid rgba(61,47,40,.14);box-shadow:0 24px 70px rgba(61,47,40,.14)}.ztm-login-brand{text-align:center;margin-bottom:30px}.ztm-login-mark,.ztm-app-logo,.ztm-install-icon{display:grid;place-items:center;margin:auto;border:1px solid #9C7A3C;color:#9C7A3C;font-family:'Cormorant Garamond',serif}.ztm-login-mark{width:64px;height:64px;font-size:24px}.ztm-login-brand>p:first-of-type{font-size:10px;letter-spacing:.25em;color:#9C7A3C;margin:18px 0 4px}.ztm-login-brand h1{font:500 44px/.98 'Cormorant Garamond',serif;margin:0;color:#1E1A17}.ztm-login-brand>span{display:block;width:46px;height:1px;background:#9C7A3C;margin:20px auto}.ztm-login-copy{font-size:14px;line-height:1.65;color:#3D2F28}.ztm-login-form label,.ztm-manager-form label{display:block;margin:16px 0 6px;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.ztm-login-form input,.ztm-manager-form input,.ztm-manager-form textarea,.ztm-manager-form select,.ztm-inline-form input{width:100%;padding:13px 14px;border:1px solid rgba(61,47,40,.25);border-radius:0;background:transparent;font:400 15px Jost,sans-serif;color:#1E1A17}.ztm-login-error{padding:12px;background:#f6e4df;color:#7b342f;margin-bottom:12px;font-size:13px}.ztm-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 17px;border:1px solid #9C7A3C;background:#9C7A3C;color:#fff!important;text-decoration:none;font:600 10px/1 Jost,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;border-radius:0}.ztm-btn-wide{width:100%;margin-top:20px}.ztm-btn.ghost{background:transparent;color:#3D2F28!important}.ztm-btn.danger{background:#7b342f;border-color:#7b342f}.ztm-app-layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.ztm-app-sidebar{position:sticky;top:0;height:100vh;background:#3D2F28;color:#F7F3EE;padding:24px 18px;display:flex;flex-direction:column;z-index:50}.ztm-app-brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid rgba(247,243,238,.12)}.ztm-app-logo{width:44px;height:44px;margin:0;font-size:18px}.ztm-app-brand small{display:block;font-size:8px;letter-spacing:.2em;color:#B89A5B}.ztm-app-brand strong{display:block;font:500 25px 'Cormorant Garamond',serif}.ztm-app-sidebar nav{display:grid;gap:5px;padding-top:22px}.ztm-app-sidebar nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;color:rgba(247,243,238,.82);text-decoration:none;font-size:13px}.ztm-app-sidebar nav a span{width:22px;color:#B89A5B}.ztm-app-sidebar nav a:hover,.ztm-app-sidebar nav a.is-active{background:rgba(247,243,238,.09);color:#fff}.ztm-sidebar-bottom{margin-top:auto;display:grid;gap:5px;border-top:1px solid rgba(247,243,238,.12);padding-top:18px}.ztm-sidebar-bottom a{color:#F7F3EE;text-decoration:none;padding:10px 12px;font-size:12px}.ztm-app-main{min-width:0}.ztm-app-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:17px 28px;background:rgba(247,243,238,.96);border-bottom:1px solid rgba(61,47,40,.12);backdrop-filter:blur(10px)}.ztm-app-topbar small{display:block;font-size:8px;letter-spacing:.2em;color:#9C7A3C}.ztm-app-topbar h1{margin:1px 0 0;font:500 32px/1 'Cormorant Garamond',serif}.ztm-menu-toggle{display:none;border:0;background:transparent;font-size:25px}.ztm-top-add{padding:11px 15px;background:#9C7A3C;color:#fff;text-decoration:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.ztm-app-content{padding:28px;max-width:1180px;margin:auto}.ztm-dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.ztm-dashboard-grid a{padding:24px;background:#fff;border:1px solid rgba(61,47,40,.11);text-decoration:none;color:#1E1A17}.ztm-dashboard-grid strong{display:block;font:500 44px 'Cormorant Garamond',serif}.ztm-dashboard-grid span{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#9C7A3C}.ztm-panel{background:#fff;border:1px solid rgba(61,47,40,.11);padding:24px;margin-bottom:22px}.ztm-panel h2{font:500 34px/1 'Cormorant Garamond',serif;margin:0 0 22px}.ztm-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.ztm-panel-head h2{margin:0}.ztm-panel-head>a:not(.ztm-btn){color:#9C7A3C;text-decoration:none;font-size:12px}.ztm-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-top:1px solid rgba(61,47,40,.1)}.ztm-row strong{font-family:'Cormorant Garamond',serif;font-size:22px}.ztm-row span{display:block;font-size:12px;color:#68584e;margin-top:3px}.ztm-row>a{color:#9C7A3C;text-decoration:none;font-size:12px}.ztm-project-list{display:grid;gap:14px}.ztm-project-card{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px;border:1px solid rgba(61,47,40,.11)}.ztm-project-thumb img{width:100%;height:110px;object-fit:cover}.ztm-project-info h3{font:500 26px 'Cormorant Garamond',serif;margin:0}.ztm-project-info p{font-size:12px;color:#68584e}.ztm-mobile-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ztm-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ztm-check{display:flex!important;align-items:center;gap:9px}.ztm-check input{width:auto!important}.ztm-mobile-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.ztm-mobile-preview img{width:100%;aspect-ratio:4/3;object-fit:cover}.ztm-inline-form{display:flex;gap:9px;margin-bottom:18px}.ztm-inline-form input{flex:1}.ztm-danger-link{color:#8d3832!important}.ztm-log-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:12px;padding:14px 0;border-top:1px solid rgba(61,47,40,.1);font-size:13px}.ztm-log-row small{color:#7c6d64}.ztm-help{display:block;margin-top:6px;font-size:11px;text-transform:none;letter-spacing:0;color:#74665c}.ztm-notice{padding:14px;background:#e9f5e7;border:1px solid #c8dfc4;margin-bottom:18px}.ztm-install-popup{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(30,26,23,.65)}.ztm-install-popup[hidden]{display:none}.ztm-install-popup>div{position:relative;width:min(390px,100%);background:#F7F3EE;padding:34px;text-align:center}.ztm-install-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:28px}.ztm-install-icon{width:58px;height:58px;font-size:21px}.ztm-install-popup h2{font:500 34px 'Cormorant Garamond',serif;margin:18px 0 10px}.ztm-install-popup p{font-size:14px;line-height:1.6;color:#3D2F28}.ztm-install-popup .ztm-btn{margin:7px 4px}

@media(max-width:1100px){.ztm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ztm-dashboard-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ztm-portfolio{padding:52px 18px}.ztm-head h1{font-size:45px}.ztm-intro{font-size:15px}.ztm-grid{grid-template-columns:1fr;gap:44px}.ztm-controls{margin-bottom:38px}.ztm-app-layout{display:block}.ztm-app-sidebar{position:fixed;left:0;top:0;width:270px;transform:translateX(-105%);transition:.25s}.ztm-app-sidebar.is-open{transform:translateX(0)}.ztm-menu-toggle{display:block}.ztm-app-topbar{padding:14px 16px}.ztm-app-topbar h1{font-size:27px}.ztm-app-content{padding:16px}.ztm-dashboard-grid{grid-template-columns:1fr 1fr;gap:10px}.ztm-dashboard-grid a{padding:17px}.ztm-dashboard-grid strong{font-size:34px}.ztm-panel{padding:17px}.ztm-project-card{grid-template-columns:82px 1fr}.ztm-project-thumb img{height:92px}.ztm-mobile-grid{grid-template-columns:1fr}.ztm-log-row{grid-template-columns:1fr}.ztm-login-panel{padding:28px 22px}.ztm-login-brand h1{font-size:38px}}
@media(max-width:430px){.ztm-dashboard-grid{grid-template-columns:1fr}.ztm-project-card{grid-template-columns:1fr}.ztm-project-thumb img{height:170px}.ztm-panel-head{align-items:flex-start;flex-direction:column}.ztm-inline-form{flex-direction:column}}
