@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@300;400;500;600;700;800&display=swap');
:root{--bg:#101010;--fg:#f4f2ed;--muted:#9d9b96;--line:#363635;--accent:#d5d1c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:400 14px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}.header{height:86px;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10;background:var(--bg);border-bottom:1px solid #222}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:22px;letter-spacing:-1.2px}.brand-dot{color:#999}.nav{display:flex;gap:38px}.nav a,.menu-toggle{font-size:10px;letter-spacing:2px;font-weight:700;color:#aaa;transition:color .2s}.nav a:hover,.nav a.active{color:white}.menu-toggle{display:none;background:none;border:0;color:white;cursor:pointer}.eyebrow{color:#bdb8af;font-size:10px;letter-spacing:3px;font-weight:700}.hero{position:relative;height:min(760px,76vw);min-height:570px;overflow:hidden}.hero>img{height:100%;filter:brightness(.63);object-position:center 40%}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.44),transparent 75%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}.hero-copy{position:absolute;z-index:1;left:5.4%;bottom:12%;max-width:900px}.hero h1{font:500 clamp(58px,10vw,154px)/.94 Manrope,sans-serif;letter-spacing:-.085em;margin:25px 0 20px}.hero p{font-size:12px;letter-spacing:1.7px}.scroll-mark{position:absolute;bottom:7%;right:5.4%;z-index:1;writing-mode:vertical-rl;letter-spacing:3px;font-size:10px}.section{padding:115px 5.4%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:45px}.section h2,.inner-hero h1{font:500 clamp(45px,7vw,100px)/1.05 Manrope,sans-serif;letter-spacing:-.07em;margin:15px 0}.link-arrow{font-size:10px;letter-spacing:2px;font-weight:700;padding-bottom:12px;border-bottom:1px solid #aaa}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 26px}.project-tile{display:block;cursor:pointer}.image-wrap{overflow:hidden;background:#222}.project-tile img{height:clamp(280px,42vw,620px);transition:transform .65s ease,filter .5s;filter:saturate(.82)}.project-tile:hover img{transform:scale(1.035);filter:saturate(1)}.project-meta{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.project-meta h3{font:500 19px Manrope,sans-serif;letter-spacing:-.5px;margin:0}.project-meta span{font-size:10px;color:var(--muted);letter-spacing:1.5px}.statement{padding:120px 5.4%;background:#1b1b1a;display:flex;justify-content:space-between;align-items:end;gap:40px}.statement p{font:400 clamp(28px,4vw,58px)/1.25 Manrope,sans-serif;letter-spacing:-.06em;max-width:960px;margin:0}.statement small{min-width:max-content;letter-spacing:2px;color:var(--muted)}.footer{padding:32px 5.4%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;letter-spacing:1.6px}.footer a{color:var(--fg)}.inner-hero{padding:100px 5.4% 65px}.inner-hero p{color:var(--muted);max-width:620px;font-size:15px}.portfolio-page .projects-grid{padding:0 5.4% 120px}.project-hero{padding:75px 5.4% 45px}.back{color:var(--muted);font-size:11px;letter-spacing:2px}.project-hero h1{font:500 clamp(52px,8vw,115px)/1 Manrope,sans-serif;letter-spacing:-.075em;margin:32px 0 16px}.project-hero p{color:var(--muted);letter-spacing:1.4px;font-size:11px}.project-gallery{padding:0 5.4% 105px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-gallery img{max-height:900px;min-height:250px;object-fit:cover;background:#242424}.project-gallery img.wide{grid-column:span 2;max-height:850px}.about-layout{padding:5px 5.4% 120px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.about-layout img{height:630px}.about-text{align-self:center}.about-text h2{font:500 clamp(30px,4vw,55px)/1.2 Manrope,sans-serif;letter-spacing:-.05em}.about-text p,.contact-text{color:#aaa;font-size:16px;max-width:570px}.contact-page{min-height:67vh;padding:130px 5.4%}.contact-page h1{font:500 clamp(49px,10vw,145px)/1.08 Manrope,sans-serif;letter-spacing:-.08em;margin:30px 0}.contact-links{display:flex;gap:30px;flex-wrap:wrap}.contact-links a{border-bottom:1px solid var(--muted);padding-bottom:8px;letter-spacing:2px;font-size:12px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:99;display:flex;align-items:center;justify-content:center;padding:65px}.lightbox img{width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain}.lightbox button{position:absolute;top:20px;right:35px;background:none;border:none;color:#fff;font-size:34px;cursor:pointer}.lightbox .hint{position:absolute;bottom:20px;font-size:10px;letter-spacing:2px;color:#999}.demo-note{font-size:11px;color:#8b8882;text-align:center;padding:20px}@media(max-width:700px){.header{height:70px;padding:0 5%}.brand{font-size:20px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#151515;padding:26px 5%;flex-direction:column;gap:23px;border-bottom:1px solid #333}.nav.open{display:flex}.hero{height:77vh;min-height:530px}.hero-copy{left:5%;bottom:13%}.hero h1{font-size:clamp(54px,13vw,100px)}.hero p{font-size:10px}.section{padding:75px 5%}.section-head{align-items:start}.section h2{font-size:55px}.projects-grid{grid-template-columns:1fr;gap:38px}.project-tile img{height:115vw;max-height:640px}.statement{padding:75px 5%;display:block}.statement small{display:block;margin-top:35px}.footer{padding:25px 5%;flex-wrap:wrap}.footer span:nth-child(2){display:none}.inner-hero{padding:70px 5% 45px}.portfolio-page .projects-grid{padding:0 5% 75px}.project-hero{padding:50px 5% 35px}.project-gallery{padding:0 5% 70px;grid-template-columns:1fr;gap:12px}.project-gallery img.wide{grid-column:auto}.project-gallery img{min-height:0;max-height:none}.about-layout{padding:0 5% 80px;grid-template-columns:1fr;gap:35px}.about-layout img{height:430px}.contact-page{padding:90px 5%;min-height:60vh}.lightbox{padding:30px 8px}}

/* Real-photo gallery adjustments */
.hero>img{object-position:center 38%;filter:brightness(.72)}
.project-gallery img{height:auto;max-height:none;object-fit:contain;cursor:zoom-in}
.project-gallery.single-image{grid-template-columns:minmax(0, 730px);justify-content:center}
.project-description{max-width:560px;letter-spacing:normal!important;font-size:14px!important;margin-top:20px;color:#bdb9b3!important}
.next-project{border-top:1px solid var(--line);margin:0 5.4% 90px;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.next-project span{font-size:10px;letter-spacing:2px;color:var(--muted)}
.next-project a{font:500 clamp(20px,3vw,36px) Manrope,sans-serif}
@media(max-width:700px){.hero>img{object-position:53% 50%}.project-gallery.single-image{grid-template-columns:1fr}.next-project{margin:0 5% 65px}}
/* Studio: editable projects, local browser storage */
.studio{max-width:1500px;padding:75px 5.4% 130px;margin:auto}.studio h1{font:500 clamp(66px,11vw,135px)/1 Manrope,sans-serif;letter-spacing:-.09em;margin:16px 0}.studio h1 span{color:#86817a}.studio-intro{max-width:850px;color:#a9a69f;font-size:14px;line-height:1.9}.studio-intro strong{color:#fff}.studio-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:35px 0 52px}.studio button,.studio-btn,.studio-upload{cursor:pointer}.studio-btn,.studio-primary,.studio-upload{border:1px solid #777;background:transparent;color:#f4f2ed;padding:13px 17px;font:700 10px DM Sans,sans-serif;letter-spacing:1.5px;display:inline-flex;align-items:center;justify-content:center}.studio-primary{background:#eeeae2;color:#151515;border-color:#eeeae2}.studio button:disabled{opacity:.3;cursor:default}.studio-projects{display:grid;gap:24px}.studio-card{border:1px solid #373737;display:grid;grid-template-columns:minmax(190px,35%) 1fr;background:#181818}.studio-thumb{background:#252525;min-height:380px}.studio-thumb img{height:100%;max-height:690px}.studio-card-main{padding:30px;min-width:0}.studio-card-main label:not(.studio-upload){display:block;color:#bbb;font-size:11px;letter-spacing:1px;margin:15px 0}.studio input:not([type=file]),.studio textarea{width:100%;background:#101010;color:white;border:1px solid #414141;padding:13px;margin-top:6px;border-radius:0;font:14px DM Sans,sans-serif}.studio textarea{resize:vertical}.studio-images{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.studio-image{width:105px;background:#222}.studio-image img{height:120px;object-fit:cover}.studio-image-ctrl{display:flex}.studio-image-ctrl button{flex:1;min-width:0;border:0;border-right:1px solid #444;background:#282828;color:white;font-size:14px;padding:6px 0}.studio-card-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px;align-items:center}.studio-card-actions button,.studio-card-actions a{background:none;border:1px solid #555;color:#ddd;padding:9px 11px;font-size:11px}.studio-card-actions .danger{color:#e9a6a6;border-color:#704747}.studio-upload{margin-top:6px}.import-label{cursor:pointer}@media(max-width:850px){.studio-card{grid-template-columns:1fr}.studio-thumb{height:360px;min-height:0}.studio-thumb img{object-position:center 30%}.studio-card-main{padding:22px}.studio{padding:55px 5% 75px}}

.studio-login {max-width:420px;display:grid;gap:18px;margin-top:30px}.studio-login label{display:grid;gap:10px;color:#aaa;font-size:12px;letter-spacing:.08em}.studio-login input{width:100%;padding:15px;background:#191919;border:1px solid #555;border-radius:2px;color:white;font-size:15px}.studio-login button{justify-self:start}.project-form button{margin:10px 0 18px}.studio #studio-status{min-height:20px;font-size:13px;margin:16px 0}.studio code{color:#ddd}

/* Safari-compatible file picker: input remains part of layout but off-screen */
.studio-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none;}
.studio-upload:focus-visible{outline:2px solid #fff;outline-offset:3px;}

/* Native Safari-compatible file chooser: not hidden, not clicked by JS */
.studio-picker{margin:20px 0;display:grid;gap:12px;border:1px dashed #777;padding:18px;}
.studio-picker label{font-size:12px;font-weight:700;letter-spacing:1px;color:#eee;}
.studio-picker .studio-file-input{position:static!important;width:100%!important;height:auto!important;opacity:1!important;overflow:visible!important;pointer-events:auto!important;display:block!important;color:#eee;font-size:14px;}
.studio-picker .studio-file-input::file-selector-button{padding:12px;border:1px solid #bbb;background:#eee;color:#111;cursor:pointer;margin-right:14px;}

/* SNOPKOVA: photos keep their original colors in every interaction state. */
.project-tile img,
.project-tile:hover img,
.project-tile:focus img,
.project-tile:focus-visible img,
.project-gallery img,
.about-layout img,
.lightbox img,
.hero > img {
  filter: none !important;
}
/* Keep a subtle zoom, without any color transition. */
.project-tile img { transition: transform .65s ease; }
/* The hero's editorial gradient remains only for text legibility. */

/* v5: gallery navigation (desktop arrows, keyboard and touch swipe) */
.project-gallery img[data-expand]{cursor:zoom-in;}
.lightbox-gallery{padding:66px 90px;touch-action:pan-y;}
.lightbox-gallery .viewer-photo{max-width:100%;max-height:100%;object-fit:contain;filter:none!important;user-select:none;-webkit-user-drag:none;}
.lightbox-gallery button{appearance:none;background:rgba(18,18,18,.55);border:1px solid rgba(255,255,255,.25);color:white;cursor:pointer;display:grid;place-items:center;z-index:2;}
.lightbox-gallery button:focus-visible{outline:2px solid #fff;outline-offset:4px;}
.lightbox-gallery .viewer-close{top:18px;right:24px;width:46px;height:46px;font-size:32px;line-height:1;}
.lightbox-gallery .viewer-prev,.lightbox-gallery .viewer-next{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:72px;font-size:52px;line-height:1;font-family:Arial,sans-serif;}
.lightbox-gallery .viewer-prev{left:20px;right:auto;}
.lightbox-gallery .viewer-next{right:20px;left:auto;}
.lightbox-gallery button[hidden]{display:none;}
.lightbox-gallery .viewer-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#ddd;font-size:12px;letter-spacing:2px;}
@media(max-width:700px){.lightbox-gallery{padding:64px 13px 58px;}.lightbox-gallery .viewer-prev,.lightbox-gallery .viewer-next{width:37px;height:54px;font-size:36px;background:rgba(0,0,0,.35)}.lightbox-gallery .viewer-prev{left:3px}.lightbox-gallery .viewer-next{right:3px}.lightbox-gallery .viewer-close{right:12px;top:12px}}

/* v6 — compact editorial grid for individual project pages. */
.project-gallery {
  max-width: 1120px;
  margin-inline: auto;
  padding: 0 34px 105px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}
.project-gallery img, .project-gallery img.wide {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  object-fit: contain;
  grid-column: auto;
}
.project-gallery.single-image {
  max-width: 760px;
  grid-template-columns: minmax(0,1fr);
}
@media (max-width: 700px) {
  .project-gallery {
    max-width: none;
    padding: 0 12px 65px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .project-gallery.single-image {
    max-width: none;
    padding-inline: 12px;
    grid-template-columns: minmax(0,1fr);
  }
}

/* v7 — reveal the model's face on the desktop home hero.
   Keep the existing mobile hero crop unchanged. */
@media (min-width: 701px) {
  .hero > img {
    object-position: 50% 0%;
  }
}

/* Hero editor v8 */
.hero>img{object-position:var(--hero-desktop-x,50%) var(--hero-desktop-y,25%)!important}
@media(max-width:700px){.hero>img{object-position:var(--hero-mobile-x,53%) var(--hero-mobile-y,50%)!important}}
.hero-settings{border:1px solid #454545;padding:28px;margin:0 0 44px;background:#161616}
.hero-settings h2{font:500 clamp(28px,4vw,48px)/1.1 Manrope,sans-serif;letter-spacing:-.05em;margin:12px 0}
.hero-settings p{color:#aaa;margin-bottom:24px}
.hero-settings label{display:block;font-size:12px;color:#ddd;margin:14px 0}
.hero-settings select{display:block;background:#101010;color:#fff;border:1px solid #555;padding:13px;width:100%;margin:9px 0 24px}
.hero-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:22px 0}
.hero-preview-label{color:#aaa;font-size:10px;letter-spacing:2px;margin-bottom:9px}
.hero-preview{background:#222;overflow:hidden;border:1px solid #4b4b4b}
.hero-preview img{height:100%;width:100%;object-fit:cover;filter:none!important}
.hero-preview-desktop{aspect-ratio:16/9}
.hero-preview-mobile{aspect-ratio:9/14;max-width:220px}
.hero-settings input[type=range]{display:block;width:100%;margin:8px 0 18px;accent-color:#ddd}
.hero-settings output{float:right}
@media(max-width:700px){.hero-edit-grid{grid-template-columns:1fr}.hero-settings{padding:18px}}

/* v9: Keep faces visible in portfolio cards on desktop and mobile.
   Only project previews change; the hero image remains controlled by Studio. */
.project-tile .image-wrap img,
.portfolio-page .project-tile .image-wrap img {
  object-position: center top;
}

/* About editor v10 */
.about-editor-grid{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:30px;align-items:start}
.about-editor-preview{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;background:#222}
.about-settings input:not([type=file]),.about-settings textarea{display:block;width:100%;box-sizing:border-box;background:#101010;border:1px solid #555;color:#f3f1ed;padding:12px;margin-top:9px;font:inherit}
.about-settings input[type=file]{display:block;width:100%;margin-top:10px;color:#ddd}
.about-settings small{display:block;color:#bbb;line-height:1.6;margin-top:8px}
.about-paragraph{white-space:pre-line}
@media(max-width:700px){.about-editor-grid{grid-template-columns:1fr}.about-editor-preview{max-width:280px}}

/* Language switch and multilingual studio */
.language-switch{margin-left:22px;flex-shrink:0}.language-switch select{appearance:none;-webkit-appearance:none;background:#171717;border:1px solid #484848;color:#f4f2ed;border-radius:2px;padding:8px 23px 8px 10px;font:700 11px 'DM Sans',sans-serif;letter-spacing:.14em;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#ddd 50%),linear-gradient(135deg,#ddd 50%,transparent 50%);background-position:calc(100% - 12px) 49%,calc(100% - 8px) 49%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.language-switch select:focus-visible{outline:2px solid #f4f2ed;outline-offset:3px}.i18n-editor textarea,.i18n-editor select{display:block;width:100%;background:#101010;border:1px solid #555;color:#f3f1ed;padding:12px;margin-top:9px;font:inherit;box-sizing:border-box}.i18n-editor label{display:block;margin:16px 0}.i18n-editor textarea{min-height:65px;resize:vertical}.translation-project{border-top:1px solid #444;margin-top:22px;padding-top:20px}
@media(max-width:750px){.language-switch{margin-left:auto;margin-right:14px}.language-switch select{padding:8px 22px 8px 9px;font-size:11px}.header{gap:0}.menu-toggle{flex-shrink:0}.nav.open{z-index:9}}

/* v13: consistent 4:5 editorial covers with independently editable focal point */
.project-tile .image-wrap {aspect-ratio:4/5;overflow:hidden;background:#222;}
.project-tile .image-wrap img,.portfolio-page .project-tile .image-wrap img {width:100%;height:100%;aspect-ratio:auto;object-fit:cover;filter:none!important;}
.project-tile:hover .image-wrap img {filter:none!important;}
.studio-thumb{aspect-ratio:4/5;min-height:0;overflow:hidden;}
.studio-thumb img{width:100%;height:100%;max-height:none;object-fit:cover;}
.cover-position-form{border-top:1px solid #454545;margin-top:22px;padding-top:20px;}
.cover-position-form .cover-help{font-size:12px;color:#aaa;line-height:1.7;}
.cover-position-form label{display:block;color:#ddd;font-size:12px;margin:14px 0;}
.cover-position-form label output{float:right;}
.cover-position-form input[type=range]{display:block;width:100%;margin:10px 0 20px;accent-color:#eee;}
@media(max-width:700px){.project-tile img{max-height:none;height:100%;}.studio-thumb{height:auto;aspect-ratio:4/5;}.studio-thumb img{height:100%;}}


/* v20: mobile scroll-reveal. Never modify photo saturation, brightness or hue. */
@media (max-width:700px) and (prefers-reduced-motion:no-preference){
  .mobile-photo-reveal {
    opacity:0;
    transform:translate3d(0,26px,0);
    transition:opacity .7s ease,transform .85s cubic-bezier(.2,.7,.2,1);
  }
  .mobile-photo-reveal.mobile-photo-visible {
    opacity:1;
    transform:translate3d(0,0,0);
  }
  .project-tile .image-wrap img {transition:transform .7s ease;filter:none!important;}
  .project-tile:active .image-wrap img {transform:scale(1.018);filter:none!important;}
}
@media (prefers-reduced-motion:reduce){
  .mobile-photo-reveal {opacity:1!important;transform:none!important;transition:none!important;}
}
