.report{width:210mm;height:297mm;background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden;display:grid;grid-template-rows:273.5mm 23.5mm;color:var(--ink);print-color-adjust:exact;-webkit-print-color-adjust:exact}
.report-main{display:grid;grid-template-columns:52.84% 47.16%;min-height:0}
.left-column{background:var(--forest);display:grid;grid-template-rows:128.1mm 11.2mm 52mm 82.2mm;min-height:0}
.photo-frame{position:relative;overflow:hidden;background:#101a16;isolation:isolate}
.photo-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%;user-select:none;-webkit-user-drag:none;transition:filter .15s,transform .12s ease-out}
.photo-placeholder{position:absolute;left:8%;right:8%;top:50%;transform:translateY(-50%);z-index:2;display:none;flex-direction:column;align-items:center;justify-content:center;min-height:20mm;padding:3.6mm 4mm;border:1.4px dashed #aeb7c2;border-radius:3mm;background:rgba(243,244,246,.96);color:#374151;text-align:center;font-size:3.25mm;line-height:1.18;font-weight:850;letter-spacing:.01em;text-shadow:none;box-shadow:0 1.2mm 3mm rgba(0,0,0,.18),inset 0 0 0 .25mm rgba(255,255,255,.72);pointer-events:none;box-sizing:border-box}
.photo-placeholder::before{content:'';display:block;width:9.2mm;height:6.8mm;margin-bottom:1.8mm;border:.45mm solid #6b7280;border-radius:1mm;background:linear-gradient(135deg,transparent 0 58%,rgba(107,114,128,.18) 58% 100%),linear-gradient(45deg,transparent 0 62%,rgba(107,114,128,.14) 62% 100%);box-shadow:inset 0 -1.6mm 0 rgba(107,114,128,.10)}
.gallery-grid .photo-placeholder,.bottom-photo .photo-placeholder{left:10%;right:10%;min-height:15mm;padding:2.8mm 3mm;border-radius:2.4mm;font-size:2.75mm;line-height:1.14}
.gallery-grid .photo-placeholder::before,.bottom-photo .photo-placeholder::before{width:7.4mm;height:5.4mm;margin-bottom:1.25mm;border-width:.38mm;border-radius:.8mm}
.photo-frame img[src$="placeholder-transparent.gif"] + .photo-placeholder{display:flex}
.photo-frame:has(img[src$="placeholder-transparent.gif"]){background:linear-gradient(135deg,#294237,#13241d)}
.hero-photo .photo-placeholder{top:39%}

.photo-frame:hover img{filter:brightness(.96)}
.photo-frame .edit-photo{position:absolute;right:3mm;bottom:3mm;border:0;border-radius:999px;background:rgba(0,42,26,.86);color:#fff;padding:2.2mm 3.2mm;font-size:2.5mm;font-weight:700;opacity:0;transition:.15s;z-index:4}
.photo-frame:hover .edit-photo{opacity:1}
.photo-frame::after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.12);z-index:3}
.hero-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,.18) 56%,rgba(0,0,0,.84) 100%);z-index:1;pointer-events:none}
.hero-title{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 5.7mm 5.7mm;max-width:none;color:#fff;text-shadow:0 .45mm .9mm rgba(0,0,0,.88),0 1.1mm 2.1mm rgba(0,0,0,.72)}
.hero-title h1{font-family:"Arial Black",Arial,sans-serif;font-size:11.6mm;line-height:.94;margin:0;letter-spacing:-.32mm}
.hero-title h2{font-family:Georgia,"Times New Roman",serif;font-size:5.2mm;line-height:1.05;margin:1.8mm 0 2.2mm;font-style:italic;font-weight:500;color:rgba(255,255,255,.98)}
.hero-title p{font-size:2.85mm;font-weight:900;margin:0;text-transform:uppercase;letter-spacing:.08mm;color:rgba(255,255,255,.98)}
.gallery-heading{display:grid;place-items:center;background:var(--forest);color:#fff;font-size:4.2mm;font-weight:900;text-transform:uppercase}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.05mm;padding:0 1.45mm .65mm;background:var(--forest)}
.gallery-grid .photo-frame,.bottom-photo{border:.35mm solid #fff}
.bottom-photo{margin:0 1.45mm 1.2mm}
.right-column{background:var(--cream);display:grid;grid-template-rows:12.2mm 27.4mm 28.1mm 43.7mm 47.4mm 50mm 64.7mm;min-height:0}
.right-kicker{background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:3.25mm;font-weight:900;letter-spacing:.04mm;text-align:center;white-space:nowrap;overflow:hidden}
.right-kicker span{white-space:nowrap}
.total-block{padding:3.2mm 6mm 1.8mm;display:grid;grid-template-columns:42% 58%;align-items:center;border-bottom:.35mm solid var(--line)}
.total-number{font-family:"Arial Black",Arial,sans-serif;font-size:18.5mm;line-height:.86;letter-spacing:-1.2mm;color:#001e13}
.total-copy{font-size:5.1mm;line-height:1.02;font-weight:900;text-transform:uppercase;padding-left:2mm}
.meta-grid{display:grid;grid-template-columns:1fr 1fr 1fr;margin:0 5.4mm;border-bottom:.35mm solid var(--line)}
.meta-item{position:relative;text-align:center;padding:.6mm 1mm .7mm;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;min-height:0}
.meta-item:not(:last-child)::after{content:'';position:absolute;right:0;top:2.2mm;bottom:2.2mm;width:.3mm;background:var(--line)}
.meta-icon{height:8.2mm;width:10.5mm;display:flex;align-items:center;justify-content:center;margin-bottom:1.2mm;flex:0 0 auto}
.meta-icon img{max-width:100%;max-height:100%;object-fit:contain}
.meta-label{font-size:3.85mm;font-weight:900;text-transform:uppercase;line-height:1.1;letter-spacing:.015mm}
.meta-value{font-size:3.85mm;font-weight:850;margin-top:1.25mm;line-height:1.14;max-width:100%;overflow-wrap:normal}
.meta-sub{font-size:2.95mm;margin-top:.9mm;line-height:1.16;max-width:100%}
.chart-section{padding:2.4mm 4.8mm 1.2mm;min-height:0;background:#fbf6ec}
.chart-title{text-align:center;font-size:3.85mm;font-weight:900;text-transform:uppercase;margin:0 0 1.6mm;color:#173325;letter-spacing:.02mm}
.chart-host{width:100%;height:calc(100% - 7.2mm);min-height:0}
.chart-host svg{display:block;width:100%;height:100%;overflow:visible}
.cards-row{display:grid;grid-template-columns:1fr;grid-template-rows:27mm minmax(0,1fr);gap:2mm;padding:0 4.5mm 1.5mm;box-sizing:border-box;min-height:0}
.info-card{border:.32mm solid #bfb29e;border-radius:1.7mm;overflow:hidden;background:#f8f0e2;min-width:0;min-height:0}
.info-card.dark{background:var(--forest);border-color:var(--forest);color:#fff;display:grid;grid-template-rows:8.4mm minmax(0,1fr)}
.card-head{height:auto;min-height:0;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:4.15mm;font-weight:900;text-transform:uppercase;text-align:center;letter-spacing:.03mm;padding:0 2mm;box-sizing:border-box}
.activity-body{height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;column-gap:1.4mm;padding:0 2.2mm;box-sizing:border-box}
.activity-stat{display:flex;align-items:center;justify-content:center;gap:2.1mm;padding:0;min-width:0;width:100%;text-align:left}
.activity-stat:first-child{border-right:.3mm solid rgba(255,255,255,.85);padding-right:1.6mm}
.activity-stat img{width:9.8mm;height:9.8mm;object-fit:contain;flex:0 0 auto}
.activity-copy{--activity-label-size:17px;--activity-value-size:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2mm;white-space:nowrap;min-width:0;max-width:100%;flex:1 1 auto;overflow:hidden;text-align:center}
.activity-label{display:block;width:100%;max-width:100%;min-width:0;font-size:var(--activity-label-size);font-weight:900;line-height:.98;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-align:center}
.activity-copy strong{display:block;font-size:var(--activity-value-size);color:#fff;margin:0;line-height:1;font-weight:900;white-space:nowrap}
.peak-card{padding:0;text-align:center;display:grid;grid-template-rows:8.4mm minmax(0,1fr);min-height:0}
.peak-card-body{padding:2.2mm 4.2mm 2.5mm;display:flex;align-items:center;justify-content:center;min-height:0;box-sizing:border-box}
.peak-card h3{font-size:3.3mm;margin:0 0 2mm;text-transform:uppercase;color:#173325;letter-spacing:.02mm}
.peak-card p{font-size:3.05mm;line-height:1.18;margin:0;font-weight:850;color:#203129;max-width:100%;overflow-wrap:anywhere}
.lower-grid{display:block;padding:0 4.5mm 1.8mm;min-height:0;box-sizing:border-box}
.panel-box{border:.3mm solid #c7b99f;border-radius:1.4mm;overflow:hidden;background:#f8f0e2;min-width:0}
.tech-panel-single{width:100%;height:100%}
.panel-title{height:8.4mm;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:4.25mm;font-weight:900;text-transform:uppercase;padding:0 1mm;letter-spacing:.08mm}
.tech-card-grid{height:calc(100% - 8.4mm);padding:1.5mm 1.7mm 1.6mm;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,minmax(0,1fr));gap:1mm 1.25mm;box-sizing:border-box}
.tech-card{min-width:0;min-height:0;overflow:visible;background:#fffaf2;border:.24mm solid #d7c9b4;border-radius:1.15mm;padding:.65mm 1.05mm;display:flex;flex-direction:column;justify-content:center}
.tech-card b{display:block;color:#375146;font-size:2.05mm;line-height:1.03;font-weight:900;text-transform:uppercase;letter-spacing:.025mm;margin-bottom:.5mm;white-space:normal;overflow:visible;text-overflow:clip}
.tech-card span{display:block;color:#102a20;font-size:3.15mm;line-height:1.06;font-weight:850;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal}
.tech-card.is-name span{font-size:3.1mm;font-style:normal}
.tech-card.is-scientific span{font-size:2.95mm;font-style:italic}
.tech-card.is-status span{font-size:2.85mm}
.tech-source{font-size:10px;color:#68736d;margin-top:6px}
.map-wrap{padding:1.1mm 1.4mm .7mm;text-align:center;height:25.8mm}
.map-wrap img{height:100%;max-width:100%;object-fit:contain}
.map-legend{display:grid;grid-template-columns:1fr 1fr;gap:.4mm 1.3mm;padding:0 1.2mm 1mm;font-size:1.55mm;line-height:1.05}
.legend-item{display:flex;gap:.7mm;align-items:center;white-space:nowrap}
.legend-item:last-child{grid-column:1/-1;justify-content:flex-end}
.legend-swatch{width:2.3mm;height:1.6mm;flex:0 0 auto}
.report-footer{background:var(--forest);color:#fff;display:grid;grid-template-columns:27% 46% 27%;align-items:center;padding:1.4mm 4mm 1.4mm;position:relative}
.footer-block{height:17.8mm;display:flex;align-items:center;justify-content:center;min-width:0;padding:0 4mm;box-sizing:border-box;overflow:visible}
.footer-block:not(:first-child){border-left:.3mm solid rgba(255,255,255,.68)}
.project-brand-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.project-brand .project-footer-logo{width:42mm;height:16.8mm;object-fit:contain;display:block;filter:drop-shadow(0 .35mm .45mm rgba(0,0,0,.22))}
.developer-block{gap:0;overflow:visible}
.signature{display:none!important}
.developer-credit{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;text-align:center}
.developer-credit span{color:var(--yellow);font-size:2.35mm;font-weight:900;line-height:1.05;text-transform:uppercase;letter-spacing:.025mm;white-space:nowrap}
.developer-name-logo{display:block;margin-top:.75mm;width:32mm;height:7.2mm;max-width:100%;object-fit:contain;object-position:center}
.qr-block{display:flex;align-items:center;justify-content:center;padding:0 4mm}
.qr-block img{width:15.5mm;height:15.5mm;object-fit:contain;background:#fff;display:block}

.report{flex:0 0 auto}


.photo-zoom-controls{position:absolute;right:3mm;top:3mm;z-index:6;display:flex;gap:1.2mm;opacity:0;transition:opacity .15s;pointer-events:auto}
.photo-frame:hover .photo-zoom-controls{opacity:1}
.photo-zoom-button{width:7mm;height:7mm;border:0;border-radius:999px;background:rgba(0,42,26,.88);color:#fff;font-size:4.2mm;line-height:1;font-weight:900;box-shadow:0 .45mm 1.1mm rgba(0,0,0,.22);cursor:pointer;display:flex;align-items:center;justify-content:center}
.photo-zoom-button:hover{background:rgba(0,65,41,.95)}
.photo-zoom-button:focus-visible{outline:.55mm solid rgba(255,255,255,.9);outline-offset:.4mm}
