:root{--ink:#1a1208;--parchment:#f5f0e8;--gold:#b8893a;--gl:#e8c97a;--rust:#8b3a2a;--sage:#4a6741;--slate:#3d4f5c;--cream:#faf7f0;--border:#d4c4a0;--shadow:0 16px 38px rgba(26,18,8,.08);}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--parchment);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300;line-height:1.7;}
body::before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 20% 10%,rgba(184,137,58,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 90%,rgba(139,58,42,.06) 0%,transparent 50%);pointer-events:none;z-index:0;}
a{color:inherit;}
img{max-width:100%;display:block;}
.page{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:40px 24px 64px;}
.page--narrow{max-width:900px;}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 0 20px;margin-bottom:16px;border-bottom:1px solid var(--border);}
.brand{font-family:"Cinzel",serif;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);text-decoration:none;}
.topnav{display:flex;flex-wrap:wrap;gap:10px 16px;}
.topnav a,.crumbs a,.backlink,.project-link,.unit-link{color:var(--rust);text-decoration:none;}
.topnav a:hover,.crumbs a:hover,.backlink:hover,.project-link:hover,.unit-link:hover{text-decoration:underline;}
header{text-align:center;padding:18px 0 40px;border-bottom:1px solid var(--border);margin-bottom:40px;}
header::after{content:"✦";display:block;color:var(--gold);font-size:1.2rem;margin-top:20px;}
.cl{font-family:"Cinzel",serif;font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
h1{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(2.8rem,6vw,4.6rem);font-weight:300;line-height:1.06;}
h1 em{font-style:italic;color:var(--rust);}
.sub{margin:12px auto 0;font-size:.95rem;color:#6b5c3e;max-width:720px;}
.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px;}
.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--gold);background:var(--gold);color:#fff;text-decoration:none;border-radius:999px;font-size:.9rem;}
.button--ghost{background:transparent;color:var(--rust);}
.og{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:13px;margin-bottom:52px;}
.oc{background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--gold);padding:17px 15px;border-radius:2px;box-shadow:var(--shadow);}
.oc .lb{font-family:"Cinzel",serif;font-size:.57rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:5px;}
.oc .vl{font-family:"Cormorant Garamond",serif;font-size:1.08rem;font-weight:600;}
.st{font-family:"Cinzel",serif;font-size:.62rem;letter-spacing:.33em;text-transform:uppercase;color:var(--gold);margin:0 0 9px;padding-bottom:9px;border-bottom:1px solid var(--border);}
.hn{font-size:.86rem;color:#6b5c3e;margin:0 0 24px;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.card{position:relative;background:rgba(255,255,255,.72);backdrop-filter:blur(4px);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow);}
.card h2,.card h3{margin:0;}
.unit-card{display:flex;flex-direction:column;gap:14px;}
.unit-card-top{display:flex;align-items:flex-start;gap:14px;}
.card-overlay-link{position:absolute;inset:0;z-index:3;border-radius:inherit;}
.un{font-family:"Cormorant Garamond",serif;font-size:2.1rem;font-weight:300;color:var(--border);width:36px;line-height:1;}
.uth{font-family:"Cinzel",serif;font-size:.57rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:3px;}
.utl{font-family:"Cormorant Garamond",serif;font-size:1.45rem;font-weight:600;line-height:1.15;}
.utg{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.tg{font-size:.64rem;padding:2px 8px;border-radius:20px;border:1px solid;letter-spacing:.04em;}
.tc{color:var(--rust);border-color:var(--rust);background:rgba(139,58,42,.06);}
.ta{color:var(--sage);border-color:var(--sage);background:rgba(74,103,65,.06);}
.tn{color:var(--sage);border-color:var(--sage);background:rgba(74,103,65,.06);}
.tp{color:var(--slate);border-color:var(--slate);background:rgba(61,79,92,.06);}
.tab{color:var(--gold);border-color:var(--gold);background:rgba(184,137,58,.06);}
.ts{color:#6b5c3e;border-color:#b8a070;background:rgba(184,160,112,.08);}
.uwk{font-size:.78rem;color:#8a7455;}
.uit{font-family:"Cormorant Garamond",serif;font-size:1.08rem;font-style:italic;color:#3d3020;line-height:1.7;}
.uig{background:rgba(184,137,58,.06);border-left:3px solid var(--gl);padding:12px 15px;border-radius:0 2px 2px 0;}
.uig .gl{font-family:"Cinzel",serif;font-size:.51rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.uig p{margin:0;font-size:.84rem;color:#5a4a2e;}
.project-list{display:grid;gap:14px;}
.project-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px;align-items:start;background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow);}
.project-card-image{border-radius:12px;overflow:hidden;background:#e8e0d0;border:1px solid var(--border);aspect-ratio:4/3;}
.project-card-image img{width:100%;height:100%;object-fit:cover;}
.pct{font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:600;line-height:1.15;}
.med{display:inline-block;font-size:.68rem;color:var(--slate);background:rgba(61,79,92,.08);border:1px solid rgba(61,79,92,.2);padding:2px 8px;border-radius:12px;margin-top:6px;}
.pcw{font-size:.74rem;color:#8a7455;margin-top:6px;}
.pov{font-size:.92rem;color:#3d3020;margin:14px 0 0;line-height:1.64;}
.project-link{display:inline-block;margin-top:14px;font-weight:500;}
.unit-card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(26,18,8,.12);}
.unit-card > :not(.card-overlay-link),.project-card > :not(.card-overlay-link){position:relative;z-index:2;}
.project-card-image{position:relative;z-index:2;}
.summary{margin-bottom:52px;}
.sg,.ag{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:18px;}
.sc,.ac{background:var(--cream);border:1px solid var(--border);padding:17px 18px;border-radius:10px;box-shadow:var(--shadow);}
.sc h3{font-family:"Cinzel",serif;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rust);margin:0 0 9px;}
.sc ul{list-style:none;font-size:.82rem;color:#3d3020;margin:0;padding:0;}
.sc ul li{padding:3px 0;border-bottom:1px dotted var(--border);display:flex;justify-content:space-between;gap:12px;}
.sc ul li:last-child{border-bottom:none;}
.pr{color:var(--sage);font-weight:500;}
.bt{text-align:center;padding:20px;background:var(--cream);border:2px solid var(--gold);border-radius:12px;margin-bottom:52px;font-family:"Cormorant Garamond",serif;box-shadow:var(--shadow);}
.bt .am{font-size:1.85rem;font-weight:600;color:var(--gold);}
.bt .nt{font-size:.82rem;color:#6b5c3e;font-style:italic;}
.ac h3{font-family:"Cormorant Garamond",serif;font-size:1.05rem;font-weight:600;margin:0 0 8px;}
.ac p{margin:0;font-size:.82rem;color:#5a4a2e;line-height:1.6;}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.84rem;color:#8a7455;margin-bottom:18px;}
.page-head{margin-bottom:26px;}
.page-head h1{font-size:clamp(2.2rem,5vw,3.5rem);}
.page-head .sub{max-width:none;}
.section{margin-bottom:32px;}
.rl,.sl{font-family:"Cinzel",serif;font-size:.54rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:10px;}
.rl{color:#9a8060;}
.sl{color:var(--rust);margin-top:2px;}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;}
.step{counter-increment:s;display:grid;grid-template-columns:24px 1fr;gap:8px;margin-bottom:8px;align-items:start;}
.step::before{content:counter(s);font-family:"Cinzel",serif;font-size:.65rem;font-weight:600;color:#fff;background:var(--gold);border-radius:50%;width:19px;height:19px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.step p{margin:0;font-size:.87rem;color:#3d3020;line-height:1.6;}
.step strong{color:var(--ink);font-weight:500;}
.tip{background:rgba(74,103,65,.06);border-left:3px solid var(--sage);padding:10px 14px;margin-top:11px;border-radius:0 2px 2px 0;}
.tl{font-family:"Cinzel",serif;font-size:.49rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sage);margin-bottom:4px;}
.tip p{margin:0;font-size:.82rem;color:#3d4a30;}
.project-shell{background:rgba(255,255,255,.76);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow);}
.reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px;}
.reference-card{margin:0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);}
.reference-image{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;text-align:left;}
.reference-image img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8e0d0;}
.reference-copy{padding:14px 14px 16px;}
.reference-title{font-family:"Cormorant Garamond",serif;font-size:1.1rem;font-weight:600;line-height:1.2;}
.reference-desc{font-size:.8rem;color:#5a4a2e;margin-top:4px;line-height:1.45;}
.reference-hint{font-size:.72rem;color:#8a7455;margin-top:8px;}
.external-links{display:flex;flex-direction:column;gap:10px;}
.external-card{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;background:#fdfaf3;border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:10px;text-decoration:none;color:inherit;transition:all .15s;}
.external-card:hover{background:#fff;border-left-color:var(--rust);transform:translateX(2px);}
.external-card-icon{font-family:"Cinzel",serif;font-size:.95rem;color:var(--gold);flex-shrink:0;margin-top:1px;}
.external-card-title{font-family:"Cormorant Garamond",serif;font-size:.97rem;font-weight:600;color:var(--ink);margin-bottom:2px;line-height:1.3;}
.external-card-desc{font-size:.78rem;color:#5a4a2e;line-height:1.45;}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border);}
.pager a{text-decoration:none;color:var(--rust);}
.pager-label{font-family:"Cinzel",serif;font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:#9a8060;}
.pager-title{font-family:"Cormorant Garamond",serif;font-size:1.08rem;font-weight:600;}
.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(20,14,8,.84);z-index:10;}
.lightbox.is-open{display:flex;}
.lightbox__backdrop{position:absolute;inset:0;}
.lightbox__dialog{position:relative;max-width:min(1100px,92vw);max-height:90vh;z-index:1;}
.lightbox__image{max-width:100%;max-height:82vh;border-radius:12px;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 60px rgba(0,0,0,.45);background:#fff;}
.lightbox__caption{color:#f3eadb;font-size:.88rem;margin-top:10px;text-align:center;}
.lightbox__close{position:absolute;top:-16px;right:-16px;width:40px;height:40px;border-radius:999px;border:0;background:#fff;color:var(--ink);font-size:1.3rem;cursor:pointer;box-shadow:var(--shadow);}
footer{text-align:center;padding-top:34px;border-top:1px solid var(--border);font-size:.78rem;color:#9a8870;font-style:italic;font-family:"Cormorant Garamond",serif;margin-top:44px;}
@media(max-width:780px){.project-card{grid-template-columns:1fr;}.project-card-image{max-width:240px;}.sg,.ag{grid-template-columns:1fr;}.topbar{flex-direction:column;align-items:flex-start;}.page{padding:24px 14px 48px;}.project-shell{padding:18px;}}
@media(max-width:600px){.reference-grid,.cards{grid-template-columns:1fr;}.lightbox{padding:14px;}.lightbox__close{top:8px;right:8px;}.hero-actions{justify-content:flex-start;}header{text-align:left;}header::after{margin-left:0;}.sub{margin-left:0;}}
