@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap");:root{--ink:#171715;--muted:#77766f;--line:#e7e5df;--paper:#fbfaf7;--white:#fff}*{box-sizing:border-box}body,html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}.topbar{height:82px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-weight:700;font-size:22px;letter-spacing:-1.4px}.wordmark span{font-weight:400;color:#9b8e7b;margin-left:2px}.topbar nav{display:flex;gap:38px;color:#57564f}.login-link,.topbar nav{font-size:12px}.login-link span{margin-left:8px}.hero{padding:105px 10vw 76px;min-height:510px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#8b8174}.auth-card h1,.hero h1,.simple-content h1{font-size:clamp(54px,8vw,104px);line-height:.99;letter-spacing:-5px;font-weight:500;margin:25px 0 38px}.hero h1 em,.simple-content h1 em{font-family:Playfair Display,Georgia,serif;font-weight:500}.hero-bottom{display:flex;align-items:end;justify-content:space-between}.hero-bottom p{font-size:13px;line-height:1.8;color:var(--muted)}.primary-link,.round-link{font-size:11px;border-bottom:1px solid #aaa397;padding:0 0 9px}.round-link span{margin-left:25px}.gallery-section{padding:55px 5.5vw 110px;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:24px}.section-heading h2{font-family:Playfair Display,Georgia,serif;font-size:34px;font-weight:500;margin:8px 0 0}.gallery-tools span,.section-heading>span{font-size:10px;color:var(--muted)}.gallery-tools{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.gallery-tools input{border:0;border-bottom:1px solid var(--line);padding:10px 0;width:260px;background:transparent;font:inherit;font-size:12px;outline:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:32px 18px;gap:32px 18px}.photo-card{margin:0;min-width:0}.image-placeholder,.photo-card img{display:block;width:100%;height:clamp(190px,27vw,390px);object-fit:cover;background:#eeece6}.photo-1 img,.photo-4 img{height:clamp(160px,22vw,320px)}.photo-caption{display:flex;justify-content:space-between;padding-top:11px;font-size:11px}.image-placeholder{display:grid;place-items:center;color:#aaa;font-family:Georgia,serif;letter-spacing:5px}.empty-state{text-align:center;padding:100px 20px}.empty-mark{font-family:Georgia,serif;font-size:64px;color:#b8afa2}.empty-state h3{font-family:Georgia,serif;font-size:28px;font-weight:400}.empty-state p,.notice p{font-size:12px;color:var(--muted)}.notice{padding:30px;background:#f6f4ef;font-size:13px}footer{padding:35px 5.5vw;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.auth-page{min-height:100vh;padding:38px 6vw}.auth-card{max-width:440px;margin:10vh auto}.auth-card h1{font-size:55px;letter-spacing:-2px;margin:20px 0}.auth-intro,.simple-content p{font-size:13px;line-height:1.8;color:var(--muted)}.auth-card form{display:grid;grid-gap:18px;gap:18px;margin-top:35px}.auth-card label{display:grid;grid-gap:8px;gap:8px;font-size:11px}.auth-card input{padding:13px;border:1px solid var(--line);background:white;font:inherit;font-size:13px}.auth-card form button,.secondary-button{padding:15px;background:var(--ink);color:white;border:0;font:inherit;font-size:11px;cursor:pointer}.auth-card form button:disabled{opacity:.5}.form-message{font-size:12px;padding:12px;background:#f0eee8}.switch-mode{font-size:11px;margin-top:25px}.text-button{border:0;background:none;text-decoration:underline;font:inherit;cursor:pointer}.back-link{display:inline-block;margin-top:30px;font-size:11px;color:var(--muted)}.simple-page{min-height:100vh}.simple-content{max-width:850px;margin:12vh auto;padding:0 30px}.simple-content h1{font-size:70px}.primary-link{display:inline-block;margin-top:25px}.secondary-button{margin-top:20px}.price-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:50px}.price-grid article{padding:28px;border:1px solid var(--line);background:white}.price-grid article>p:first-child{font-size:9px;letter-spacing:2px}.price-grid h2{font-size:34px;font-weight:500}.price-grid h2 span{font-size:12px;color:var(--muted)}.small-note{font-size:10px!important;margin-top:20px}@media(max-width:700px){.topbar{padding:0 22px;height:70px}.topbar nav{gap:13px}.topbar nav a{font-size:10px}.hero{padding:80px 25px 55px;min-height:430px}.hero h1{letter-spacing:-3px}.hero-bottom{align-items:start;gap:25px;flex-direction:column}.gallery-section{padding:40px 20px 70px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.image-placeholder,.photo-card img{height:210px}.photo-1 img,.photo-4 img{height:170px}.section-heading h2{font-size:27px}footer{padding:25px 20px;gap:15px;flex-wrap:wrap}.price-grid{grid-template-columns:1fr}.simple-content{margin:9vh auto}.simple-content h1{font-size:52px;letter-spacing:-3px}}.admin-page{min-height:100vh;padding:54px 5.5vw 80px;background:#f7f6f2}.admin-header{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:28px}.admin-header h1{font-size:clamp(38px,5vw,62px);letter-spacing:-2.5px;font-weight:500;margin:14px 0}.admin-header p:not(.eyebrow){font-size:12px;color:var(--muted)}.admin-header>a,.admin-toolbar button{font-size:11px;border:1px solid var(--line);background:#fff;padding:12px 16px;cursor:pointer}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:28px 0}.admin-stats article{background:#fff;border:1px solid var(--line);padding:22px}.admin-stats span{display:block;font-size:11px;color:var(--muted)}.admin-stats strong{display:block;font-size:32px;font-weight:500;margin-top:12px}.admin-catalog{background:#fff;border:1px solid var(--line);padding:26px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center}.admin-toolbar h2{font:500 27px Georgia,serif;margin:0 0 8px}.admin-footnote,.admin-toolbar p{font-size:11px;color:var(--muted)}.admin-search{width:min(100%,420px);padding:13px;border:1px solid var(--line);margin:22px 0;font:inherit;font-size:12px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.admin-table th{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600}.admin-table td,.admin-table th{padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.score-control{display:flex;align-items:center;gap:7px;white-space:nowrap}.score-control input{width:58px;padding:8px;border:1px solid var(--line);font:inherit}.score-control span{color:var(--muted);font-size:10px}.status{font-size:10px;padding:5px 7px;background:#f0eee8}.status.approved{background:#e9f1e9}.status.rejected{background:#f6e9e7}.toggle{border:1px solid var(--line);background:#fff;padding:8px 10px;font:inherit;font-size:10px;cursor:pointer}.toggle.published{background:#e9f1e9}.toggle:disabled{opacity:.45;cursor:not-allowed}.admin-message{padding:12px;background:#f2f0eb;font-size:11px}.admin-empty{padding:28px 0;color:var(--muted);font-size:12px}.admin-footnote{margin-top:18px;line-height:1.7}@media(max-width:700px){.admin-page{padding:30px 18px}.admin-header{align-items:start;gap:20px;flex-direction:column}.admin-stats{grid-template-columns:1fr}.admin-catalog{padding:16px}.admin-toolbar{align-items:start;gap:15px;flex-direction:column}}.admin-upload{margin-bottom:18px}.upload-form{margin-top:22px}.upload-fields label,.upload-file{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted)}.upload-file input{border:1px solid var(--line);padding:12px;background:#fff;color:#222;font:inherit}.upload-selected{font-size:11px;color:#444}.upload-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:18px}.upload-fields input,.upload-fields textarea{width:100%;border:1px solid var(--line);padding:12px;background:#fff;color:#222;font:inherit;font-size:12px;resize:vertical}.upload-wide{grid-column:1/-1}.upload-warning{font-size:11px;line-height:1.7;color:#75664e;background:#f7f4ed;padding:12px;margin:18px 0}.upload-submit{border:1px solid #222;background:#222;color:#fff;padding:13px 20px;font:inherit;font-size:11px;cursor:pointer}.upload-submit:disabled{opacity:.55;cursor:wait}@media(max-width:700px){.upload-fields{grid-template-columns:1fr}.upload-wide{grid-column:auto}}.admin-catalog-summary{display:flex;flex-direction:column;gap:14px;padding:16px 0;color:var(--muted);font-size:11px}.admin-bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-bulk-actions button{border:1px solid var(--line);background:#fff;padding:9px 12px;font:inherit;font-size:10px;cursor:pointer}.admin-bulk-actions button:disabled{opacity:.4;cursor:not-allowed}.admin-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.admin-photo-card{min-width:0;border:1px solid var(--line);background:#fff}.admin-photo-image{height:230px;position:relative;background:#efeee9;overflow:hidden}.admin-photo-image>img,.admin-photo-noimage{width:100%;height:100%;object-fit:cover;display:block}.admin-photo-noimage{display:grid;place-items:center;color:#aaa;font:18px Georgia,serif;letter-spacing:4px}.admin-photo-image>.status{position:absolute;right:10px;bottom:10px}.admin-select-photo{position:absolute;z-index:2;left:10px;top:10px;display:flex;align-items:center;gap:6px;padding:7px 9px;background:rgba(255,255,255,.94);font-size:10px;cursor:pointer}.admin-select-photo input{accent-color:#171715}.admin-photo-info{padding:13px}.admin-photo-info>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600}.admin-photo-info>small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.admin-photo-controls{padding:12px 0 10px}.admin-photo-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-photo-actions .toggle.featured{background:#f4eee1;border-color:#d8c7a9}.admin-photo-actions .toggle{font-size:9px}.gallery-load-more{display:flex;justify-content:center;align-items:center;gap:18px;padding:42px 0 10px}.gallery-load-more button{background:#171715;color:white;border:0;padding:14px 22px;font:inherit;font-size:11px;cursor:pointer}.gallery-load-more span{font-size:10px;color:var(--muted)}@media(max-width:900px){.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-photo-image{height:210px}}@media(max-width:560px){.admin-photo-grid{grid-template-columns:1fr}.admin-photo-image{height:260px}.admin-bulk-actions{display:grid;grid-template-columns:1fr 1fr}}.admin-batch-upload{margin-bottom:18px}.batch-upload-controls{display:grid;grid-gap:13px;gap:13px;margin-top:20px;max-width:900px}.batch-ai-option{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;color:#4f4d47;cursor:pointer}.batch-ai-option input{margin:1px 0 0;accent-color:#171715}.batch-progress{padding:12px;background:#f2f0eb;font-size:11px;color:#444}.gallery-masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;grid-gap:16px 18px;gap:16px 18px;width:100%}.masonry-photo{display:block;min-width:0;width:100%;margin:0}.masonry-photo .image-placeholder,.masonry-photo img{display:block;width:100%;aspect-ratio:4/3;height:auto;max-height:none;object-fit:contain;background:#fff}.masonry-photo img{transition:opacity .25s ease}.masonry-photo:hover img{opacity:.94}.masonry-photo .image-placeholder{aspect-ratio:4/3}.masonry-caption{display:flex;justify-content:space-between;gap:12px;padding-top:10px;font-size:11px;line-height:1.5}.masonry-caption span:first-child{overflow:hidden;text-overflow:ellipsis}.masonry-caption span:last-child{flex:0 0 auto;color:#8b8174}.masonry-loading{display:flex;align-items:center;justify-content:center;gap:18px;padding:38px 0 8px;color:var(--muted);font-size:10px}.masonry-loading button{border:1px solid var(--line);background:#fff;padding:12px 18px;color:var(--ink);font:inherit;cursor:pointer}.masonry-end,.masonry-loading small{font-size:10px}.masonry-end{padding:35px 0 0;text-align:center;color:var(--muted)}@media (max-width:900px){.gallery-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media (max-width:560px){.gallery-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.masonry-caption{font-size:9px}.masonry-loading{flex-wrap:wrap;gap:10px}}.hero{min-height:0;padding:54px 10vw 34px}.hero h1{font-size:clamp(48px,6.2vw,78px);line-height:.98;letter-spacing:-3.5px;margin:16px 0 22px}.hero-bottom p{margin:0;line-height:1.6}.gallery-section{padding-top:30px}@media (max-width:700px){.hero{min-height:0;padding:48px 25px 28px}.hero h1{font-size:clamp(43px,11vw,62px);letter-spacing:-2.5px;margin:15px 0 20px}.gallery-section{padding-top:26px}}.hero{min-height:0!important;padding-top:30px!important;padding-bottom:20px!important}.hero h1{margin-top:8px!important;margin-bottom:12px!important}.hero-bottom{max-width:760px}.hero-bottom p{margin:0!important;line-height:1.5!important}.gallery-section{padding-top:18px!important}@media (max-width:700px){.hero{min-height:0!important;padding:28px 25px 18px!important}.hero h1{margin:8px 0 12px!important}.gallery-section{padding-top:16px!important}}.masonry-photo{position:relative}.land45-ai-badge{position:absolute;z-index:3;left:12px;bottom:12px;display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:27px;padding:0 8px;border-radius:4px;background:rgba(255,255,255,.92);color:#171715;font:600 10px/1 Arial,sans-serif;letter-spacing:.2px;box-shadow:0 1px 5px rgba(0,0,0,.12);pointer-events:none}.admin-photo-image .land45-ai-badge{bottom:10px;left:10px}.gallery-type-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 22px}.gallery-type-filters button{border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--muted);padding:10px 15px;font:inherit;font-size:10px;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.gallery-type-filters button:hover{border-color:#8b8174;color:var(--ink)}.gallery-type-filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}@media (max-width:560px){.gallery-type-filters{gap:6px;padding-bottom:18px}.gallery-type-filters button{padding:9px 11px;font-size:9px}}