@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,500;0,6..96,600;1,6..96,400;1,6..96,500&display=swap');

:root{
    --paper:#f5f1e9;
    --paper-bright:#fbfaf7;
    --paper-deep:#e9e2d7;
    --ink:#0d0d0d;
    --ink-soft:#45423d;
    --muted:#777169;
    --line:rgba(13,13,13,.16);
    --red:#d9202a;
    --red-dark:#a80d15;
    --success:#28783d;
    --warning:#b97700;
    --white:#fff;
    --serif:"Bodoni Moda","Bodoni MT",Didot,"Times New Roman",serif;
    --sans:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    --shadow:12px 12px 0 var(--paper-deep);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.dashboard-body,body.admin-body{background:#eee9df}
a{color:inherit}
img{max-width:100%}
button,input,select,textarea{font:inherit}
::selection{background:var(--red);color:#fff}
.frame{width:min(1420px,calc(100% - 48px));margin:0 auto}
.top-signal{height:3px;background:linear-gradient(90deg,var(--red) 0 12%,var(--ink) 12% 100%)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,241,233,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--ink)}
.header-inner{min-height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}
.wordmark{font:500 clamp(28px,2.7vw,39px)/1 var(--serif);letter-spacing:-.035em;text-decoration:none}
.wordmark em{font-weight:400;font-style:italic;color:var(--red)}
.main-nav{display:flex;align-items:center;justify-content:center;gap:28px}
.main-nav a,.header-auth a{font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;text-decoration:none}
.main-nav a{position:relative}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:.22s}
.main-nav a:hover:after{transform:scaleX(1);transform-origin:left}
.header-auth{display:flex;align-items:center;gap:14px}
.header-auth .cta{padding:11px 15px;background:var(--ink);color:#fff;border:1px solid var(--ink)}
.header-auth .cta:hover{background:var(--red);border-color:var(--red)}
.mobile-toggle{display:none;background:none;border:0;font-size:25px}
.site-footer{background:var(--ink);color:var(--paper)}
.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.55fr);gap:50px;padding:70px 0 55px}
.footer-brand{font:500 clamp(48px,6vw,92px)/.85 var(--serif);letter-spacing:-.06em}
.footer-brand em{font-style:italic;color:#f4aeb3;font-weight:400}
.footer-about{max-width:470px;color:rgba(245,241,233,.62);font-size:13px;margin-top:25px}
.footer-col h3{margin:0 0 19px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#f4aeb3}
.footer-col a{display:block;margin:10px 0;color:rgba(245,241,233,.72);text-decoration:none;font-size:13px}
.footer-bottom{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.16);font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.hero{border-bottom:1px solid var(--ink);background:var(--paper-bright)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px}
.hero-copy{padding:90px 6vw 70px 0;display:flex;flex-direction:column;justify-content:center}
.eyebrow,.section-label{display:flex;align-items:center;gap:14px;color:var(--red);font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.eyebrow:after,.section-label:before{content:"";width:48px;height:1px;background:currentColor}
.display-title{margin:28px 0 0;font:500 clamp(65px,8vw,132px)/.88 var(--serif);letter-spacing:-.055em}
.display-title em,.editorial-title em{font-style:italic;font-weight:400;color:var(--red)}
.hero-copy p{max-width:620px;color:var(--ink-soft);font-size:17px}
.hero-visual{position:relative;min-height:760px;overflow:hidden;background:var(--ink)}
.hero-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.72))}
.hero-overlay{position:absolute;z-index:2;left:35px;right:35px;bottom:35px;color:#fff}
.hero-overlay h2{margin:0;font:500 clamp(36px,4vw,67px)/.98 var(--serif);letter-spacing:-.04em}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.button,.button-outline,.button-red{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:49px;padding:0 20px;border:1px solid var(--ink);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.button{background:var(--ink);color:#fff}
.button:hover{background:var(--red);border-color:var(--red)}
.button-outline{background:transparent;color:var(--ink)}
.button-outline:hover{background:var(--ink);color:#fff}
.button-red{background:var(--red);border-color:var(--red);color:#fff}
.button-red:hover{background:var(--red-dark)}
.section{padding:90px 0}
.section-dark{background:var(--ink);color:var(--paper)}
.section-head{display:grid;grid-template-columns:.45fr 1.55fr;gap:60px;align-items:start;margin-bottom:55px}
.editorial-title{margin:0;font:500 clamp(44px,5vw,82px)/.98 var(--serif);letter-spacing:-.045em}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{border:1px solid var(--ink);background:var(--paper-bright);color:var(--ink)}
.card-media{aspect-ratio:4/5;overflow:hidden;background:#ddd6cb}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;filter:grayscale(.2)}
.card:hover .card-media img{transform:scale(1.025)}
.card-body{padding:22px}
.card-kicker{font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--red)}
.card h3{margin:9px 0 4px;font:500 29px/1.05 var(--serif)}
.card p{color:var(--muted);font-size:13px}
.badges{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border:1px solid var(--line);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.badge-red{color:#fff;background:var(--red);border-color:var(--red)}
.badge-dark{color:#fff;background:var(--ink);border-color:var(--ink)}
.profile-hero{display:grid;grid-template-columns:.85fr 1.15fr;border-bottom:1px solid var(--ink);min-height:650px}
.profile-photo{background:#ddd6cb;min-height:650px}
.profile-photo img{width:100%;height:100%;object-fit:cover}
.profile-copy{padding:65px clamp(35px,6vw,95px);display:flex;flex-direction:column;justify-content:center}
.profile-copy h1{margin:15px 0;font:500 clamp(55px,7vw,110px)/.9 var(--serif);letter-spacing:-.055em}
.profile-copy .location{font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--red)}
.measure-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink);margin-top:35px}
.measure{padding:17px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.measure span{display:block;font-size:8px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.measure strong{font:500 23px var(--serif)}
.filter-panel{border:1px solid var(--ink);padding:24px;margin-bottom:35px;background:var(--paper-bright)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 28px}
.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
input,select,textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);padding:10px 2px;outline:none;font-family:var(--serif);font-size:16px}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--red);box-shadow:0 1px var(--red)}
input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:auto;accent-color:var(--red)}
.check-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0}
.panel{border:1px solid var(--ink);background:var(--paper-bright);box-shadow:var(--shadow)}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;border-bottom:1px solid var(--ink)}
.panel-head h1,.panel-head h2{margin:0;font:500 30px var(--serif)}
.panel-body{padding:28px}
.alert{padding:13px 15px;margin-bottom:20px;border-left:3px solid currentColor;background:rgba(217,32,42,.06);color:var(--red);font-size:13px}
.alert-success{color:var(--success);background:rgba(40,120,61,.08)}
.alert-warning{color:var(--warning);background:rgba(185,119,0,.08)}
.table-wrap{overflow:auto;border:1px solid var(--ink)}
table{width:100%;border-collapse:collapse;background:var(--paper-bright);font-size:12px}
th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:8px;letter-spacing:.15em;text-transform:uppercase;background:#ebe4d8}
tr:last-child td{border-bottom:0}
.inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inline-form select,.inline-form input{width:auto;min-width:120px}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.stat-card{padding:22px;border:1px solid var(--ink);background:var(--paper-bright)}
.stat-card span{font-size:8px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.stat-card strong{display:block;margin-top:7px;font:500 39px var(--serif)}
.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:275px minmax(0,1fr)}
.dashboard-sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:var(--ink);color:var(--paper);padding:26px 22px}
.dashboard-sidebar .wordmark{display:block;margin-bottom:35px;color:#fff}
.sidebar-label{margin:24px 0 9px;color:#f4aeb3;font-size:8px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.sidebar-nav a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 8px;border-bottom:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.76);text-decoration:none;font-size:12px}
.sidebar-nav a:hover,.sidebar-nav a.active{color:#fff;background:rgba(255,255,255,.06)}
.dashboard-main{min-width:0}
.dashboard-topbar{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;background:var(--paper);border-bottom:1px solid var(--ink)}
.dashboard-content{padding:34px}
.user-chip{display:flex;align-items:center;gap:10px;font-size:11px}
.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-weight:700}
.dashboard-title{margin:0 0 28px;font:500 clamp(42px,5vw,72px)/1 var(--serif);letter-spacing:-.045em}
.auth-page{min-height:100vh;display:grid;grid-template-columns:.9fr 1.1fr}
.auth-image{position:relative;min-height:100vh;background:#111;overflow:hidden}
.auth-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.auth-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72))}
.auth-quote{position:absolute;z-index:2;left:35px;right:35px;bottom:40px;color:#fff;font:500 clamp(39px,5vw,72px)/.98 var(--serif)}
.auth-form-side{padding:55px clamp(30px,6vw,90px);display:flex;align-items:center;background:var(--paper)}
.auth-box{width:min(650px,100%);margin:auto}
.auth-box h1{font:500 clamp(50px,6vw,90px)/.9 var(--serif);letter-spacing:-.05em;margin:20px 0 30px}
.auth-box h1 em{color:var(--red);font-style:italic;font-weight:400}
.auth-links{margin-top:22px;font-size:12px;color:var(--muted)}
.empty{padding:42px;border:1px dashed var(--line);text-align:center;color:var(--muted)}
.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.media-item{position:relative;border:1px solid var(--ink);background:#fff}
.media-item img,.media-item video{width:100%;aspect-ratio:1/1;object-fit:cover}
.media-meta{padding:12px}
.thread-list{border:1px solid var(--ink);background:var(--paper-bright)}
.thread-item{display:grid;grid-template-columns:160px 1fr 150px;gap:18px;padding:17px;border-bottom:1px solid var(--line);text-decoration:none}
.message{max-width:75%;padding:14px 16px;margin:10px 0;border:1px solid var(--line);background:#fff}
.message.mine{margin-left:auto;background:var(--ink);color:#fff}
.message small{display:block;margin-top:7px;opacity:.6}
.guardian-box{border:1px solid var(--red);background:rgba(217,32,42,.05);padding:22px}
.payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.payment-method{position:relative;border:1px solid var(--ink);padding:23px;background:var(--paper-bright)}
.payment-method input{position:absolute;right:16px;top:16px}
.payment-method h3{font:500 27px var(--serif);margin:0 0 8px}
#pok-payment-container .pok-payment-button{background:var(--red)!important;border-radius:0!important}
#pok-payment-container .pok-payment-input{border-radius:0!important}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{padding:18px 0;font:500 23px var(--serif);cursor:pointer}
.faq p{color:var(--muted)}
.coming-page{min-height:100vh;background:var(--paper)}
.coming-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}
.coming-copy{padding:65px 6vw;display:flex;flex-direction:column;justify-content:center}
.coming-copy h1{font:500 clamp(65px,8vw,132px)/.86 var(--serif);letter-spacing:-.06em;margin:0}
.coming-copy h1 em{color:var(--red);font-style:italic;font-weight:400}
.coming-photo{position:relative;background:#111}
.coming-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.coming-card{margin-top:35px;border-top:1px solid var(--ink);padding-top:25px}
@media(max-width:1100px){
    .main-nav{display:none}.mobile-toggle{display:block}
    .hero-grid,.profile-hero,.coming-hero{grid-template-columns:1fr}
    .hero-copy{padding-left:0}.hero-visual{min-height:620px}
    .grid-4{grid-template-columns:repeat(2,1fr)}
    .grid-3{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1fr 1fr}
    .dashboard-shell{grid-template-columns:230px minmax(0,1fr)}
}
@media(max-width:760px){
    .frame{width:calc(100% - 28px)}
    .header-inner{grid-template-columns:1fr auto}.header-auth a:not(.cta){display:none}
    .hero-copy{padding:55px 0}.display-title{font-size:clamp(57px,17vw,90px)}
    .section{padding:65px 0}.section-head{grid-template-columns:1fr;gap:18px}
    .grid-2,.grid-3,.grid-4,.stat-grid,.payment-methods{grid-template-columns:1fr}
    .form-grid,.form-grid-3{grid-template-columns:1fr}.field.full{grid-column:auto}
    .measure-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1fr}.footer-bottom{padding:20px 0;flex-direction:column;align-items:flex-start}
    .dashboard-shell{display:block}.dashboard-sidebar{position:relative;height:auto}.dashboard-content{padding:22px 14px}.dashboard-topbar{padding:0 14px}
    .auth-page{grid-template-columns:1fr}.auth-image{display:none}.auth-form-side{min-height:100vh;padding:35px 20px}
    .media-grid{grid-template-columns:repeat(2,1fr)}
    .thread-item{grid-template-columns:1fr}
}

.cookie-banner{
    position:fixed;left:18px;right:18px;bottom:18px;z-index:200;
    display:flex;align-items:center;justify-content:space-between;gap:25px;
    padding:18px 20px;border:1px solid var(--ink);background:var(--paper-bright);
    box-shadow:10px 10px 0 rgba(13,13,13,.18)
}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:4px 0 0;color:var(--muted);font-size:12px}
@media(max-width:900px){
    .main-nav.mobile-open{position:absolute;display:flex;left:0;right:0;top:78px;
        flex-direction:column;align-items:flex-start;padding:20px 24px;
        background:var(--paper);border-bottom:1px solid var(--ink)}
    .cookie-banner{flex-direction:column;align-items:flex-start}
}

/* JoinModels account, notification, portfolio and booking update */
.registration-profile-picture[hidden]{display:none!important}
.profile-upload-card{display:grid;grid-template-columns:108px 1fr;gap:22px;align-items:center;padding:18px;border:1px solid var(--ink);background:var(--paper-bright)}
.profile-upload-preview{width:108px;height:132px;display:grid;place-items:center;background:var(--paper-deep);border:1px solid var(--ink);background-size:cover;background-position:center;font:500 30px var(--serif)}
.profile-upload-preview.has-image span{display:none}
.profile-upload-card small{display:block;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.5}

.dashboard-topbar-context span{color:var(--muted);font-size:11px}
.dashboard-topbar-actions{display:flex;align-items:center;gap:12px;min-width:0}
.plan-chip{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:5px 13px;border:1px solid var(--line);text-decoration:none;background:var(--paper-bright)}
.plan-chip span,.plan-chip small{font-size:7px;line-height:1.25;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.plan-chip strong{font:500 17px/1.15 var(--serif)}
.user-chip-copy{line-height:1.2}
.user-chip-copy small{display:block;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis}
.topbar-logout{margin:0}
.notification-center{position:relative}
.notification-bell{position:relative;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--ink);background:var(--paper-bright);font-size:25px;cursor:pointer}
.notification-bell:hover{background:var(--ink);color:#fff}
.notification-bell b{position:absolute;right:-7px;top:-7px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font:700 9px var(--sans)}
.notification-popover{position:absolute;right:0;top:55px;z-index:150;width:min(420px,calc(100vw - 30px));border:1px solid var(--ink);background:var(--paper-bright);box-shadow:12px 12px 0 rgba(13,13,13,.16)}
.notification-popover[hidden]{display:none}
.notification-popover-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid var(--ink)}
.notification-popover-head strong{font:500 24px var(--serif)}
.notification-popover-head a{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.notification-popover-list{max-height:440px;overflow:auto}
.notification-popover-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);text-decoration:none;background:#fff}
.notification-popover-item:hover{background:var(--paper)}
.notification-popover-item.is-unread{background:rgba(217,32,42,.055)}
.notification-popover-item strong,.notification-popover-item small{display:block}
.notification-popover-item strong{font-size:12px}
.notification-popover-item small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.45}
.notification-popover-item time{font-size:8px;color:var(--muted);white-space:nowrap}
.notification-popover-empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}
.notification-type-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--red)}

.sidebar-account-card{margin-top:30px;padding:15px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.04)}
.sidebar-account-card span,.sidebar-account-card small{display:block;color:rgba(255,255,255,.55);font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.sidebar-account-card strong{display:block;margin:4px 0;font:500 24px var(--serif);color:#fff}
.sidebar-account-card a{display:inline-block;margin-top:10px;color:#f4aeb3;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.sidebar-logout-form{margin-top:12px}
.sidebar-logout{width:100%;min-height:42px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}
.sidebar-logout:hover{background:var(--red);border-color:var(--red)}
.dashboard-plan-banner{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px;padding:24px 27px;border:1px solid var(--ink);background:var(--ink);color:#fff}
.dashboard-plan-banner h2{margin:2px 0;font:500 35px var(--serif)}
.dashboard-plan-banner p{margin:2px 0;color:rgba(255,255,255,.62);font-size:12px}
.stat-card{text-decoration:none;color:inherit}
.stat-card:hover{background:var(--ink);color:#fff}
.stat-card:hover span{color:rgba(255,255,255,.6)}
.dashboard-home-grid{align-items:start}
.dashboard-latest-notifications{display:flex;flex-direction:column}
.dashboard-notification-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line);text-decoration:none}
.dashboard-notification-row.is-unread{background:rgba(217,32,42,.05)}
.dashboard-notification-row strong,.dashboard-notification-row small{display:block}
.dashboard-notification-row small{margin-top:3px;color:var(--muted);font-size:11px}
.dashboard-notification-row time{font-size:9px;color:var(--muted);white-space:nowrap}
.dashboard-quick-links{display:flex;flex-direction:column}
.dashboard-quick-links a{display:grid;grid-template-columns:42px 1fr;column-gap:13px;padding:16px 20px;border-bottom:1px solid var(--line);text-decoration:none}
.dashboard-quick-links a:hover{background:var(--paper)}
.dashboard-quick-links span{grid-row:1/3;color:var(--red);font-size:9px;font-weight:700}
.dashboard-quick-links strong{font:500 20px var(--serif)}
.dashboard-quick-links small{color:var(--muted)}
.notification-page-item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:18px;align-items:start;padding:22px 24px;border-bottom:1px solid var(--line)}
.notification-page-item.is-unread{background:rgba(217,32,42,.045)}
.notification-page-item h3{margin:7px 0 3px;font:500 25px var(--serif)}
.notification-page-item p{margin:0 0 5px;color:var(--muted)}
.notification-page-icon{color:var(--red)}

.portfolio-help{margin-top:26px;padding:14px 16px;border-left:3px solid var(--red);background:rgba(217,32,42,.055);font-size:12px}
.portfolio-manage-item{overflow:hidden}
.portfolio-manage-item.is-primary{outline:3px solid var(--red);outline-offset:-3px}
.portfolio-media-stage{position:relative;overflow:hidden;background:#111}
.portfolio-media-stage img,.portfolio-media-stage video{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.portfolio-hover-actions{position:absolute;inset:auto 0 0;padding:18px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9));transform:translateY(100%);transition:transform .22s ease}
.portfolio-manage-item:hover .portfolio-hover-actions,.portfolio-manage-item:focus-within .portfolio-hover-actions{transform:translateY(0)}
.portfolio-hover-actions form,.portfolio-hover-actions button{width:100%}
.portfolio-awaiting{display:block;padding:10px;background:rgba(0,0,0,.72);color:#fff;font-size:9px;font-weight:700;letter-spacing:.11em;text-align:center;text-transform:uppercase}
.external-video-tile{aspect-ratio:1/1;display:grid;place-items:center;background:var(--ink);color:#fff}

.booking-request-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start}
.booking-calendar-panel{position:sticky;top:95px}
.booking-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--ink)}
.booking-submit-bar small,.booking-submit-bar strong{display:block}
.booking-submit-bar small{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.booking-submit-bar strong{font:500 19px var(--serif)}
.booking-calendar-note{margin:14px 0 0;color:var(--muted);font-size:11px}
.availability-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start}
.availability-calendar-panel{min-width:0}
.availability-period-list{display:flex;flex-direction:column}
.availability-period{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 22px;border-bottom:1px solid var(--line)}
.availability-period strong,.availability-period p{display:block;margin:5px 0 0}
.availability-period p{color:var(--muted);font-size:11px}
.availability-period.is-booked{background:rgba(13,13,13,.04)}
.public-calendar-wrap{padding:28px;border:1px solid var(--ink);background:var(--paper-bright)}
.public-calendar-wrap>.button-red{margin-top:24px}

.jm-calendar{width:100%}
.jm-calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:15px}
.jm-calendar-toolbar strong{text-align:center;font:500 clamp(24px,3vw,38px) var(--serif)}
.jm-calendar-toolbar button{width:42px;height:42px;border:1px solid var(--ink);background:transparent;cursor:pointer}
.jm-calendar-toolbar button:hover{background:var(--ink);color:#fff}
.jm-calendar-weekdays,.jm-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.jm-calendar-weekdays span{padding:8px 3px;text-align:center;font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.jm-calendar-grid{border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.jm-calendar-day{position:relative;min-height:88px;padding:8px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper-bright);color:var(--ink);text-align:left;cursor:default}
.jm-calendar-selectable .jm-calendar-day:not(:disabled){cursor:pointer}
.jm-calendar-selectable .jm-calendar-day:not(:disabled):hover{box-shadow:inset 0 0 0 2px var(--red)}
.jm-calendar-day.is-outside{opacity:.3}
.jm-calendar-day.is-today .jm-calendar-day-number{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff}
.jm-calendar-day small{position:absolute;left:8px;right:8px;bottom:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.jm-calendar-day.status-available{background:rgba(40,120,61,.09)}
.jm-calendar-day.status-tentative{background:rgba(185,119,0,.12)}
.jm-calendar-day.status-unavailable{background:rgba(217,32,42,.12)}
.jm-calendar-day.status-booked{background:var(--ink);color:#fff}
.jm-calendar-day:disabled{cursor:not-allowed;opacity:.78}
.jm-calendar-day.is-in-range,.jm-calendar-day.is-range-start,.jm-calendar-day.is-range-end{background:rgba(217,32,42,.17);box-shadow:inset 0 0 0 2px var(--red)}
.jm-calendar-day.is-range-start,.jm-calendar-day.is-range-end{background:var(--red);color:#fff}
.jm-calendar-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:14px}
.jm-calendar-legend span{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.jm-calendar-legend i{width:12px;height:12px;border:1px solid var(--line)}
.jm-calendar-legend i.available{background:rgba(40,120,61,.25)}
.jm-calendar-legend i.tentative{background:rgba(185,119,0,.3)}
.jm-calendar-legend i.unavailable{background:rgba(217,32,42,.3)}
.jm-calendar-legend i.booked{background:var(--ink)}
.jm-calendar-legend i.selected{background:var(--red)}

.public-portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.public-portfolio-item{grid-column:span 4;background:#111;border:1px solid rgba(255,255,255,.2)}
.public-portfolio-item:nth-child(1),.public-portfolio-item:nth-child(6n){grid-column:span 8}
.public-portfolio-open{position:relative;display:block;width:100%;padding:0;border:0;background:#111;cursor:pointer;overflow:hidden}
.public-portfolio-open img,.public-portfolio-item video{display:block;width:100%;height:520px;object-fit:cover;filter:grayscale(.12);transition:transform .35s ease}
.public-portfolio-item:nth-child(1) .public-portfolio-open img,.public-portfolio-item:nth-child(6n) .public-portfolio-open img{height:620px}
.public-portfolio-open:hover img{transform:scale(1.025)}
.public-portfolio-open span{position:absolute;right:12px;bottom:12px;padding:8px 10px;background:rgba(0,0,0,.78);color:#fff;font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.public-portfolio-caption{display:flex;justify-content:space-between;gap:15px;padding:13px 15px;color:#fff}
.public-portfolio-caption small{color:rgba(255,255,255,.55)}
.jm-lightbox{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:45px;background:rgba(0,0,0,.94)}
.jm-lightbox[hidden]{display:none}
.jm-lightbox img{max-width:min(1400px,92vw);max-height:84vh;object-fit:contain}
.jm-lightbox>div{margin-top:12px;color:#fff;font:500 20px var(--serif)}
.jm-lightbox-close{position:fixed;right:24px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);background:#111;color:#fff;font-size:30px;cursor:pointer}
body.lightbox-open{overflow:hidden}

@media(max-width:1250px){
    .dashboard-topbar-actions .user-chip-copy,.plan-chip small{display:none}
    .booking-request-layout,.availability-layout{grid-template-columns:1fr}
    .booking-calendar-panel{position:relative;top:auto}
}
@media(max-width:900px){
    .dashboard-topbar{align-items:flex-start;padding-top:14px;padding-bottom:14px}
    .dashboard-topbar-actions{flex-wrap:wrap;justify-content:flex-end}
    .plan-chip,.topbar-logout{display:none}
    .public-portfolio-item,.public-portfolio-item:nth-child(1),.public-portfolio-item:nth-child(6n){grid-column:span 6}
    .public-portfolio-open img,.public-portfolio-item:nth-child(1) .public-portfolio-open img,.public-portfolio-item:nth-child(6n) .public-portfolio-open img{height:430px}
}
@media(max-width:650px){
    .profile-upload-card{grid-template-columns:1fr}.profile-upload-preview{width:100%;height:220px}
    .dashboard-plan-banner,.booking-submit-bar,.availability-period{align-items:flex-start;flex-direction:column}
    .dashboard-plan-banner{display:flex}
    .notification-popover{position:fixed;left:10px;right:10px;top:75px;width:auto}
    .jm-calendar-day{min-height:62px;padding:5px}.jm-calendar-day small{display:none}
    .jm-calendar-day-number{font-size:11px}
    .public-portfolio-item,.public-portfolio-item:nth-child(1),.public-portfolio-item:nth-child(6n){grid-column:span 12}
    .public-portfolio-open img,.public-portfolio-item:nth-child(1) .public-portfolio-open img,.public-portfolio-item:nth-child(6n) .public-portfolio-open img{height:440px}
    .jm-lightbox{padding:18px}
}
