/* Base stylesheet for Flores ApS static site */
:root { --bg:#0e1113; --bg-alt:#12171a; --text:#e7ecef; --text-dim:#b4bcc2; --accent:#62b5d6; --muted:#9aa4ad; --border:#1e2428; --focus:#ffbf3c; --radius:8px; --shadow:0 4px 18px -6px rgba(0,0,0,.45),0 1px 2px 0 rgba(0,0,0,.3);
	/* Spacing scale */
	--space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem; --space-5:1.5rem; --space-6:2rem; --space-7:2.5rem; --space-8:3rem; --space-9:4rem; --space-10:5rem;
}
* { box-sizing:border-box; }
html { font-family: "Inter", system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; line-height:1.55; -webkit-text-size-adjust:100%; height:100%; }
body { margin:0; background:radial-gradient(circle at 30% 20%, #182127, #0e1113 60%) fixed; color:var(--text); -webkit-font-smoothing:antialiased; min-height:100%; display:flex; flex-direction:column; }
a:focus-visible, button:focus-visible, .skip-link:focus { outline:2px solid var(--focus); outline-offset:2px; }
.skip-link { position:absolute; left:-999px; top:0; padding:.6rem 1rem; background:#202a30; z-index:1000; }
a { color:var(--accent); text-decoration:none; }
a:hover,a:focus { text-decoration:underline; }
img { max-width:100%; height:auto; }
.wrap { width:100%; max-width:960px; margin:0 auto; padding:0 var(--space-5); }
.lead { font-size:1.15rem; font-weight:500; }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); border:0; }

.site-header { background:rgba(18,23,26,.82); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:50; }
.site-header .wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-3) var(--space-5); }
.logo { font-weight:600; font-size:1.05rem; letter-spacing:.5px; color:var(--text); text-decoration:none; }
.primary-nav ul { list-style:none; display:flex; gap:var(--space-5); padding:0; margin:0; }
.primary-nav a { padding:.35rem .25rem; border-radius:4px; color:var(--text-dim); font-size:.875rem; font-weight:500; }
.primary-nav a:hover { color:var(--text); text-decoration:none; }
.primary-nav a:focus-visible { outline:2px solid var(--focus); outline-offset:2px; color:var(--text); }

main { padding:0 0 3rem; flex:1; }
/* Interior content pages (privacy, terms) use main.wrap */
main.wrap { padding-top: var(--space-9); padding-bottom: var(--space-8); }
main h1 { margin:0 0 var(--space-5); font-size:clamp(2.4rem,6vw,3.75rem); letter-spacing:-1px; line-height:1.05; }
main h2 { font-size:1.35rem; letter-spacing:.3px; margin:0 0 var(--space-3); }
/* Removed .principles list styling (lists simplified into paragraphs) */
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
pre { background:#1a2124; padding:1rem; border:1px solid var(--border); border-radius:var(--radius); overflow:auto; }

.notice { background:#142027; padding:1rem 1.25rem; border-left:4px solid var(--accent); border-radius:var(--radius); }
.table-like { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.table-like dl { display:flex; flex-wrap:wrap; margin:0; }
.table-like dt, .table-like dd { padding:.65rem .9rem; border-bottom:1px solid var(--border); }
.table-like dt { flex:0 0 160px; font-weight:600; background:#141a1d; }
.table-like dd { flex:1 0 200px; margin:0; }
.table-like dt:nth-last-child(2), .table-like dd:last-child { border-bottom:0; }

/* Hero section */
.hero { position:relative; padding:clamp(var(--space-9),11vh,var(--space-10)) 0 clamp(var(--space-8),8vh,var(--space-9)); overflow:hidden; }
.hero-backdrop { position:absolute; inset:0; background:radial-gradient(circle at 65% 40%,rgba(98,181,214,.10),transparent 55%), linear-gradient(160deg,rgba(98,181,214,.14),transparent 60%); pointer-events:none; mask:linear-gradient(#000,rgba(0,0,0,.5)); }
.hero-content { position:relative; z-index:2; }
.hero-lead { font-size:1.125rem; line-height:1.6; color:var(--text-dim); text-align:justify; text-justify:inter-word; margin:0; }
.hero-cta { display:flex; gap:.9rem; margin-top:2rem; flex-wrap:wrap; }

/* (Removed unused button styles) */

/* Overview section */
.overview { padding:var(--space-9) 0 var(--space-6); background:var(--bg-alt); border-top:1px solid var(--border); border-bottom:1px solid var(--border); position:relative; }
.pill-heading { display:inline-block; padding:calc(var(--space-2) - 2px) var(--space-3); background:#1c252a; font-size:.7rem; letter-spacing:1px; text-transform:uppercase; border:1px solid var(--border); border-radius:999px; margin:0 0 var(--space-5); font-weight:600; color:var(--muted); }
.features-grid { display:grid; gap:var(--space-7) clamp(var(--space-4),3vw,var(--space-7)); grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.feature h2 { margin:.2rem 0 var(--space-3); font-size:1.15rem; }
.feature p { margin:0; color:var(--text-dim); }

/* Company info */
.company-info { padding:var(--space-8) 0 var(--space-6); }
.two-col { display:grid; gap:var(--space-8) clamp(var(--space-6),4vw,var(--space-8)); grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); align-items:start; }
.info-card { background:#141b20; border:1px solid var(--border); border-radius:var(--radius); padding:var(--space-4) var(--space-5) var(--space-4); box-shadow:var(--shadow); display:flex; flex-direction:column; justify-content:flex-start; }
.card-title { margin:0 0 var(--space-3); font-size:.95rem; letter-spacing:.5px; text-transform:uppercase; font-weight:600; color:var(--muted); }
.kv { display:grid; grid-template-columns:110px 1fr; gap:var(--space-2) var(--space-3); font-size:.85rem; margin:0; }
.kv dt { font-weight:600; color:var(--text); }
.kv dd { margin:0; color:var(--text-dim); }

/* Footer */
.site-footer { background:#0d1215; border-top:1px solid var(--border); padding:var(--space-8) 0 var(--space-6); font-size:.8rem; color:var(--text-dim); }
.footer-main { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:var(--space-7); align-items:start; margin:0 0 var(--space-6); }
.footer-brand { font-size:1rem; }
.footer-brand .tagline { margin:var(--space-2) 0 0; font-size:.75rem; color:var(--muted); }
.footer-nav { list-style:none; padding:0; margin:0; display:grid; gap:var(--space-2); }
.footer-nav a { color:var(--muted); text-decoration:none; }
.footer-nav a:hover { color:var(--text); }
.company-address { font-style:normal; line-height:1.4; color:var(--muted); }
.legal-small { border-top:1px solid var(--border); padding-top:var(--space-4); font-size:.7rem; letter-spacing:.5px; text-transform:uppercase; color:#6d7680; }

/* Utility */
.wrap.full { max-width:1240px; }

@media (max-width:640px){
	.hero { padding:var(--space-9) 0 var(--space-8); }
	.hero-lead { font-size:1.02rem; }
	.features-grid { gap:var(--space-6) var(--space-4); }
	.two-col { gap:var(--space-6) var(--space-4); }
	.footer-main { gap:var(--space-6) var(--space-4); }
	main.wrap { padding-top: var(--space-8); padding-bottom: var(--space-7); }
}

/* (Removed legacy footer cols rule) */

/* (Removed form element styles not in use) */

@media (max-width:640px){ .primary-nav ul { flex-wrap:wrap; gap:.75rem 1rem; } main { padding:2rem 0 2.5rem; } }
