*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2f0eb;color:#171b18;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);position:sticky;top:0;z-index:30;background:rgba(245,243,238,.95);backdrop-filter:blur(10px);border-bottom:1px solid #d8d4cc}.logo,.footer-brand,.admin-logo{font-weight:900;letter-spacing:.13em}.site-header nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:700}.nav-cta{background:#172019;color:#fff;padding:11px 18px;border-radius:999px}.nav-toggle{display:none}.hero{height:min(760px,82vh);position:relative;overflow:hidden;background:#132018}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade,.detail-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,17,12,.88),rgba(9,17,12,.48) 48%,rgba(9,17,12,.08))}.hero-content{position:absolute;left:clamp(24px,7vw,110px);top:50%;transform:translateY(-50%);max-width:790px;color:#fff}.eyebrow{display:block;font-size:12px;font-weight:900;letter-spacing:.16em;color:#d5bd99;margin-bottom:18px}.eyebrow.dark{color:#8b6747}.hero h1,.projects-hero h1,.detail-copy h1{font-size:clamp(48px,6vw,88px);line-height:.98;letter-spacing:-.045em;margin:0 0 24px}.hero p{font-size:clamp(18px,2vw,24px);max-width:680px;color:#e6e9e5}.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;border-radius:999px;font-weight:800;border:1px solid transparent}.btn.light{background:#fff;color:#172019}.btn.ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn.dark{background:#172019;color:#fff;border:0;cursor:pointer}.trust{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid #ddd8cf}.trust div{padding:24px clamp(18px,3vw,48px);border-right:1px solid #e2ded6}.trust div:last-child{border:0}.trust b{display:block;font-size:20px}.trust span{font-size:13px;color:#747972}.section{padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px)}.intro .split,.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.split h2,.section-head h2,.process h2,.authority h2,.cta h2,.detail-info h2{font-size:clamp(36px,4.4vw,64px);line-height:1.02;letter-spacing:-.035em;margin:0}.split p,.detail-info p{font-size:19px;color:#5d625d;max-width:650px}.section-head{max-width:900px;margin-bottom:48px}.section-head.row{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:20px}.text-link{font-weight:800}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #cfcac0}.service-grid article{padding:30px 26px;border-right:1px solid #cfcac0}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border-right:0}.service-grid h3{font-size:22px;margin:0 0 10px}.service-grid p{font-size:14px;color:#686d67}.dark-section{background:#142019;color:#fff}.process-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;margin-top:62px}.process-grid b{color:#d5bd99}.process-grid h3{font-size:20px}.process-grid p{color:#bfc6c0;font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{position:relative;aspect-ratio:1.32/1;overflow:hidden;background:#ddd}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover img{transform:scale(1.035)}.card-overlay{position:absolute;inset:auto 0 0;padding:58px 22px 20px;background:linear-gradient(0deg,rgba(10,14,11,.85),transparent);color:#fff}.card-overlay>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#d5bd99}.card-overlay h3{margin:6px 0 2px;font-size:20px}.card-overlay p{margin:0;font-size:13px;color:#ddd}.authority{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#e7e4dd}.authority-list>div{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid #c8c3b9}.authority-list b{color:#8b6747}.authority-list p{margin:0;font-size:18px}.disclaimer{font-size:12px;color:#777;grid-column:2}.cta{background:#172019;color:#fff;padding:clamp(72px,10vw,140px) clamp(24px,7vw,110px);text-align:center}.cta h2{max-width:850px;margin:0 auto 18px}.cta p{color:#c7cdc8;font-size:18px}.cta .btn{margin-top:20px}.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding:60px clamp(24px,7vw,110px);background:#0d110f;color:#fff}.site-footer p{color:#9ca39d}.site-footer>div{display:flex;flex-direction:column;gap:9px}.site-footer strong{color:#d5bd99;margin-bottom:8px}.legal{background:#0d110f;color:#707770;padding:0 clamp(24px,7vw,110px) 30px}.projects-hero{padding:clamp(90px,10vw,160px) clamp(24px,7vw,110px) 60px}.projects-hero p{font-size:20px;color:#626761;max-width:700px}.projects-section{padding-top:20px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:36px}.filters button{border:1px solid #c9c4bb;background:#fff;padding:10px 15px;border-radius:999px;font-weight:700;cursor:pointer}.filters button.active{background:#172019;color:#fff;border-color:#172019}.project-card.hidden-card{display:none}.detail-hero{height:70vh;min-height:500px;position:relative}.detail-hero>img{width:100%;height:100%;object-fit:cover}.detail-copy{position:absolute;left:clamp(24px,7vw,110px);bottom:70px;color:#fff}.detail-copy h1{max-width:900px}.detail-info dl{margin-top:40px}.detail-info dl>div{display:grid;grid-template-columns:180px 1fr;padding:15px 0;border-bottom:1px solid #d2cec5}.detail-info dt{font-weight:800}.detail-info dd{margin:0;color:#626761}.gallery{padding:0 clamp(24px,7vw,110px) 110px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery img{width:100%;height:520px;object-fit:cover}.gallery img:first-child{grid-column:1/-1;height:680px}.admin-body{background:#eceae5}.admin-side{position:fixed;left:0;top:0;bottom:0;width:230px;background:#121915;color:#fff;padding:28px 24px;display:flex;flex-direction:column;gap:14px}.admin-logo{margin-bottom:30px}.admin-side a{padding:10px 0;color:#c9cec9}.admin-main{margin-left:230px;padding:54px;min-height:100vh}.admin-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.admin-head h1{font-size:48px;margin:0}.admin-head p{color:#6b706b}.admin-table{background:#fff;border-radius:18px;padding:10px 22px}.admin-project{display:grid;grid-template-columns:84px 1fr auto auto auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #e5e2dc}.admin-project img{width:84px;height:62px;object-fit:cover;border-radius:8px}.admin-project>div span{display:block;color:#777;font-size:13px}.status,.featured-tag{font-size:11px;padding:7px 10px;border-radius:999px;background:#e6e3dc}.status.published{background:#dce9df;color:#245a32}.status.hidden{background:#efe2d7;color:#764e2d}.featured-tag{background:#172019;color:#fff}.admin-form{background:#fff;padding:30px;border-radius:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-weight:800;font-size:13px}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #d3cfc6;border-radius:8px;font:inherit}.full{grid-column:1/-1}.checklabel{display:flex;align-items:center;gap:10px}.checklabel input{width:auto;margin:0}.admin-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 30px}.admin-gallery label{background:#f4f2ed;padding:10px;border-radius:10px;font-size:12px}.admin-gallery img{aspect-ratio:1.3/1;width:100%;object-fit:cover;margin-bottom:8px}.login-body{min-height:100vh;background:#121915;display:grid;place-items:center}.login-card{width:min(440px,92vw);background:#f6f4ef;padding:42px;border-radius:18px}.login-card h1{font-size:38px}.login-card label{display:block;font-weight:800;margin:16px 0}.login-card input{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid #cac6bd;border-radius:8px}.alert{padding:12px;background:#f7dddd;color:#822;border-radius:8px}.admin-note{background:#fff;padding:30px;border-radius:18px;max-width:900px}.back{font-weight:800;color:#666}@media(max-width:900px){.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#f5f3ee;padding:22px;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.nav-toggle{display:block;border:0;background:none;font-weight:800}.trust{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}.intro .split,.detail-info,.authority{grid-template-columns:1fr;gap:35px}.disclaimer{grid-column:auto}.site-footer{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{grid-column:auto;height:420px}.admin-side{position:static;width:auto}.admin-main{margin:0;padding:24px}.admin-project{grid-template-columns:70px 1fr auto}.admin-project .featured-tag{display:none}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.admin-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.hero h1,.projects-hero h1,.detail-copy h1{font-size:44px}.trust{grid-template-columns:1fr 1fr}.service-grid,.project-grid,.home-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.section-head.row{align-items:flex-start;flex-direction:column}.gallery img,.gallery img:first-child{height:320px}.admin-gallery{grid-template-columns:1fr}.admin-project{grid-template-columns:60px 1fr}.admin-project>.status,.admin-project>a{grid-column:2}}
.success{padding:12px;background:#dcebdd;color:#20552c;border-radius:8px;margin-bottom:18px}.danger-zone{margin-top:24px;padding-top:20px;border-top:1px solid #ddd}.danger-btn{background:none;border:0;color:#a23b31;text-decoration:underline;font-weight:800;cursor:pointer}.system-row{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #e5e2dc}.system-row>span:last-child{color:#6b706b}

/* ===== 2026 production hardening: photo consistency + admin accessibility ===== */
:root{--mds-ink:#171b18;--mds-paper:#f2f0eb;--mds-frame:#131915;--mds-accent:#8b6747;--mds-line:#d3cfc6}
:focus-visible{outline:3px solid #9b744f;outline-offset:3px}
.project-card{background:var(--mds-frame);border-radius:10px}
.project-card img{object-fit:contain;background:var(--mds-frame)}
.detail-hero{background:var(--mds-frame)}
.detail-hero>img{object-fit:contain;background:var(--mds-frame)}
.gallery img{object-fit:contain;background:var(--mds-frame);border-radius:10px}
.admin-project img{object-fit:contain;background:var(--mds-frame);border-radius:9px}

.admin-body{font-size:17px;color:#171b18}
.admin-side{width:250px;padding:30px 26px}
.admin-side nav{display:flex;flex-direction:column;gap:7px}
.admin-side a{font-size:16px;line-height:1.3;min-height:44px;display:flex;align-items:center;padding:10px 8px;border-radius:8px}
.admin-side a:hover{background:#202a24}
.admin-main{margin-left:250px;padding:48px clamp(28px,4vw,64px)}
.admin-head{align-items:flex-start}
.admin-head h1{font-size:clamp(38px,4vw,56px);line-height:1.05;margin-top:8px}
.admin-head p{font-size:17px;max-width:850px;line-height:1.55}
.admin-head .btn{font-size:16px;min-height:48px;white-space:nowrap}
.admin-table{border-radius:16px;padding:10px 24px}
.admin-project{grid-template-columns:96px minmax(220px,1fr) auto auto auto;min-height:92px}
.admin-project img{width:96px;height:72px}
.admin-project b{font-size:17px}
.admin-project>div span{font-size:14px;margin-top:4px}
.admin-project>a{font-weight:800;font-size:16px;padding:10px}
.status,.featured-tag{font-size:13px;line-height:1;padding:9px 12px;font-weight:800}
.admin-form{padding:clamp(22px,3vw,38px);border-radius:18px}
.admin-form-narrow{max-width:760px}
.form-grid{gap:24px}
.form-grid label{font-size:16px;line-height:1.35}
.form-grid input,.form-grid select,.form-grid textarea{font-size:17px;min-height:48px;padding:14px 15px;border:2px solid #d3cfc6;background:#fff;color:#171b18}
.form-grid textarea{min-height:150px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#8b6747;outline:none;box-shadow:0 0 0 3px rgba(139,103,71,.15)}
.checklabel{min-height:52px;padding-top:24px;font-size:16px!important}
.checklabel input{width:22px;height:22px;flex:0 0 auto}
.admin-primary{font-size:17px;min-height:50px;padding:14px 24px}
.admin-help,.upload-box small{display:block;color:#59605a;font-size:15px;line-height:1.5;margin-top:9px}
.upload-box{background:#f6f4ef;border:1px solid #ddd8cf;padding:20px;border-radius:12px}
.upload-box input[type=file]{background:#fff;border-style:dashed;cursor:pointer}
.upload-preview{margin-top:18px}
.preview-count{font-weight:800;margin:0 0 12px}
.preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.preview-item{min-width:0}
.preview-frame,.admin-photo-frame{display:flex;align-items:center;justify-content:center;background:var(--mds-frame);aspect-ratio:4/3;overflow:hidden;border-radius:9px}
.preview-frame img,.admin-photo-frame img{width:100%;height:100%;object-fit:contain;background:var(--mds-frame)}
.preview-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;color:#666}
.admin-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.admin-gallery .admin-photo{padding:12px;border:1px solid #dedad1;background:#f8f7f3}
.admin-gallery .admin-photo>span:not(.admin-photo-frame){display:flex;align-items:center;gap:8px;margin-top:9px;font-size:14px;font-weight:700}
.admin-gallery input[type=radio],.admin-gallery input[type=checkbox]{width:20px;height:20px}
.remove-photo{color:#8b2d26}
.sticky-save{position:sticky;bottom:16px;display:flex;justify-content:flex-end;margin-top:28px;pointer-events:none}
.sticky-save .btn{box-shadow:0 8px 26px rgba(0,0,0,.22);pointer-events:auto}
.password-rules{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;background:#f2efe8;border-radius:12px;padding:18px;margin-bottom:24px;color:#505650;font-size:15px}
.password-rules strong{grid-column:1/-1;color:#171b18;font-size:16px}
.password-rules span:before{content:'✓';font-weight:900;color:#3f6b49;margin-right:8px}
.login-card{width:min(500px,92vw);padding:44px;border-radius:20px}
.login-card h1{font-size:42px;line-height:1.05;margin:24px 0 8px}
.login-card p{font-size:17px;color:#59605a}
.login-card label{font-size:16px;margin:20px 0}
.login-card input{font-size:18px;min-height:50px;border:2px solid #cac6bd}
.login-help{font-size:14px!important;line-height:1.45;margin:18px 0 0!important}
.alert,.success{font-size:15px;line-height:1.45;padding:14px 16px}
.system-row{grid-template-columns:minmax(190px,1fr) auto minmax(240px,1.5fr);font-size:16px}
.system-row>span:last-child{font-size:15px;line-height:1.4}

@media(max-width:900px){
  .admin-side{position:static;width:auto;padding:18px 20px}
  .admin-side .admin-logo{margin-bottom:14px}
  .admin-side nav{display:flex;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:3px}
  .admin-side a{white-space:nowrap;background:#1a241e;padding:10px 14px}
  .admin-main{margin:0;padding:28px 20px 60px}
  .admin-head{flex-direction:column;gap:18px;margin-bottom:26px}
  .admin-project{grid-template-columns:82px minmax(0,1fr) auto;gap:14px}
  .admin-project img{width:82px;height:64px}
  .admin-project .featured-tag{display:none}
  .admin-project>a{grid-column:2/-1;justify-self:start;padding:4px 0}
  .preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-row{grid-template-columns:1fr auto;gap:8px 14px}
  .system-row>span:last-child{grid-column:1/-1}
}
@media(max-width:580px){
  .hero{height:76vh;min-height:610px}.hero h1,.projects-hero h1,.detail-copy h1{font-size:clamp(38px,12vw,50px);line-height:1.02}.hero p{font-size:18px}
  .project-card{aspect-ratio:4/3}.card-overlay{padding:48px 16px 15px}.card-overlay h3{font-size:18px}
  .detail-hero{height:62vh;min-height:470px}.detail-copy{bottom:38px}.detail-copy p{font-size:16px}
  .gallery{gap:12px;padding-bottom:70px}.gallery img,.gallery img:first-child{height:auto;aspect-ratio:4/3}
  .admin-main{padding:24px 16px 70px}.admin-head h1{font-size:38px}.admin-form{padding:18px 14px}
  .preview-grid,.admin-gallery{grid-template-columns:1fr 1fr}.password-rules{grid-template-columns:1fr}.admin-project{grid-template-columns:70px minmax(0,1fr)}.admin-project img{width:70px;height:58px}.admin-project>.status{grid-column:2;justify-self:start}.admin-project>a{grid-column:2}
  .sticky-save{bottom:10px}.sticky-save .btn{width:100%}
}
.admin-summary{display:flex;gap:10px;flex-wrap:wrap;margin:-10px 0 24px}.admin-summary span{background:#fff;border:1px solid #dedad1;border-radius:999px;padding:9px 14px;font-size:14px;color:#5c625d}.admin-summary b{color:#171b18;font-size:16px;margin-right:4px}.admin-search{display:block;font-size:15px;font-weight:800;margin-bottom:18px;max-width:560px}.admin-search input{display:block;width:100%;margin-top:8px;min-height:48px;padding:12px 14px;border-radius:10px;border:2px solid #d3cfc6;font:inherit;background:#fff}.admin-search input:focus{outline:none;border-color:#8b6747;box-shadow:0 0 0 3px rgba(139,103,71,.15)}.sticky-save{position:static;margin-top:28px}.sticky-save .btn{box-shadow:none}.admin-project[hidden]{display:none!important}
@media(max-width:900px){.admin-side nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.admin-side a{white-space:normal;justify-content:center;text-align:center}.admin-side a:last-child{grid-column:1/-1}.admin-summary{margin-top:0}}
/* WCAG contrast refinements for older users */
.admin-head p{color:#5f655f}.eyebrow.dark{color:#805e40}.admin-summary span{color:#5f655f}.admin-help,.upload-box small{color:#59605a}
