
/* KAOURIS v7: refined interactions, user-supplied imagery and portfolio */
:root{--line:#d3e1d1}
.nav .portfolio-nav{color:#316944;font-weight:800}
.nav .portfolio-nav::before{content:'';width:5px;height:5px;display:inline-block;background:#92bd56;border-radius:100%;margin-right:6px;vertical-align:middle}
.hero-photo{background:linear-gradient(90deg,#f7f8f4 0%,rgba(247,248,244,.96) 22%,rgba(247,248,244,.77) 40%,rgba(247,248,244,.07) 68%,transparent 85%),linear-gradient(0deg,rgba(10,41,30,.14),transparent 45%),url('assets/hero.webp') center center / cover}
.home-hero{height:clamp(590px,60vw,760px)}
.hero-content{padding-top:clamp(80px,8vw,128px)}
.hero-spotlight{position:absolute;z-index:4;right:max(var(--gutter),4vw);bottom:44px;width:min(355px,36vw);background:rgba(251,255,247,.92);border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 70px rgba(8,38,25,.23);backdrop-filter:blur(18px);border-radius:19px;padding:20px 22px 15px;color:#173c30;transition:transform .25s,box-shadow .25s}
.hero-spotlight:hover{transform:translateY(-4px);box-shadow:0 26px 80px rgba(8,38,25,.28)}
.spotlight-overline{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#367347}
.spotlight-overline small{margin-left:auto;letter-spacing:0;font-size:10px;color:#68826d}
.spotlight-pulse{height:8px;width:8px;border-radius:50%;background:#b7ea6f;box-shadow:0 0 0 4px rgba(157,205,93,.22)}
.hero-spotlight h2{font-size:23px;letter-spacing:-.045em;margin:10px 0 4px}
.hero-spotlight p{font-size:11px;line-height:1.65;min-height:53px;margin:0 0 13px;color:#3a5a49}
.spotlight-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.spotlight-controls button{border-radius:11px;border:1px solid #d2e0cd;background:#f7faf2;min-height:54px;font-size:19px;display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;color:#2d6845;transition:background .2s,color .2s,transform .2s}
.spotlight-controls button span{font-size:8px;font-weight:800;white-space:nowrap}
.spotlight-controls button:hover{transform:translateY(-2px);background:#e1f3c4}
.spotlight-controls button[aria-pressed="true"]{background:#174c35;color:#e7ffbe;border-color:#174c35}
.spotlight-note{font-size:9px;color:#6a7e70;margin-top:11px;line-height:1.5}
.landscape-img img{filter:none;object-position:center 52%}
.portfolio-showcase{background:linear-gradient(120deg,#edf3e5,#f9fbf7)}
.portfolio-showcase-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,90px);align-items:center}
.portfolio-image{position:relative;border-radius:23px;overflow:hidden;box-shadow:var(--shadow);height:420px}
.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.portfolio-image:hover img{transform:scale(1.065)}
.portfolio-image-label{position:absolute;bottom:20px;left:20px;color:#fff;background:#0d362eeb;padding:9px 13px;border-radius:9px;font-size:11px;font-weight:800;letter-spacing:.08em}
.portfolio-copy h2{max-width:600px}.portfolio-copy p{max-width:540px}
.portfolio-copy small{display:block;margin-top:13px;font-size:10px;color:#718278}
.portfolio-chips{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 26px}.portfolio-chips span{border:1px solid #ccdabb;border-radius:50px;background:#fff9;padding:6px 13px;font-size:11px;font-weight:750}
.feature-card:focus-visible{outline-offset:5px}
.feature-card .feature-visual img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s;filter:saturate(1.04)}
.feature-card:hover .feature-visual img{transform:scale(1.095);filter:saturate(1.16)}
.feature-card:hover .feature-info{background:linear-gradient(180deg,#fff,#f7faef)}
.pub-card,.gis-tabs,.qgis-data-panel{transition:box-shadow .3s,transform .25s}
.pub-card:hover{box-shadow:0 20px 50px #183e2a28}
.gis-tab-buttons button{transition:background .2s,color .2s,transform .2s}.gis-tab-buttons button:hover{transform:translateY(-2px)}
.terrain-datasource-status{font-size:12px;color:#286246;background:#ecf4e7;border-left:3px solid #87b867;padding:10px 14px;border-radius:0 9px 9px 0;margin:0 0 13px}
.qgis-integration{background:#fbfcf8}.qgis-integration-wrap{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(26px,6vw,90px)}
.qgis-integration-wrap>div:first-child p{max-width:590px;line-height:1.9}
.qgis-data-panel{border:1px solid #d1deca;padding:26px;border-radius:22px;background:#edf4e7;box-shadow:0 15px 38px rgba(25,70,36,.08)}
.qgis-data-panel strong{font-size:17px;color:#173e30}
.qgis-data-rows{display:flex;flex-direction:column;gap:0;margin-top:16px}
.qgis-data-rows>div{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #cfdec7}
.qgis-data-rows b{color:#5c8d41;font-size:13px}.qgis-data-rows span{font-size:14px;font-weight:750}.qgis-data-rows small{font-size:10px;color:#60746b}
.mini-disclaimer{font-size:11px;line-height:1.65;margin:17px 0 0}
@media(max-width:1250px){.nav{gap:8px}.nav>a{font-size:10px}.brand{min-width:230px}}
@media(max-width:1000px){.hero-spotlight{width:320px;bottom:34px;right:25px}.hero-content{padding-right:40%}}
@media(max-width:790px){.home-hero{min-height:0;height:auto;padding-bottom:20px}.hero-photo{background:linear-gradient(90deg,rgba(249,251,245,.97) 0%,rgba(249,251,245,.82) 67%,rgba(249,251,245,.32)),url('assets/hero.webp') center/cover}.hero-content{padding:67px 0 18px}.hero-spotlight{position:relative;width:calc(100% - 2 * var(--gutter));margin:10px auto 20px;right:auto;bottom:auto}.scroll-down{display:none}.portfolio-showcase-grid,.qgis-integration-wrap{grid-template-columns:1fr}.portfolio-image{height:320px}}
@media(max-width:540px){.hero-spotlight{padding:18px}.home-hero .hero-content>p{font-size:13px}.spotlight-controls button{min-height:50px}.qgis-data-rows>div{grid-template-columns:25px 1fr;gap:5px}.qgis-data-rows small{grid-column:2}.portfolio-image{height:255px}.terrain-toggle-grid label{flex:1 1 42%;font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-spotlight,.portfolio-image img,.spotlight-controls button{transition:none}}
