:root {
  --dann-paper: #faf9f5;
  --dann-ink: #111;
  --dann-aqua: #16aeb9;
  --dann-sun: #ffbf2f;
  --dann-border: color-mix(in srgb, currentColor 14%, transparent);
  --dann-radius: 1.25rem;
  --dann-max: min(1440px, calc(100vw - 2rem));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; }
body[data-theme="dark"] { --dann-paper:#0e1113; --dann-ink:#f4f4f0; --dann-border:rgba(255,255,255,.16); color:var(--dann-ink); background:var(--dann-paper); }
a { text-underline-offset: .18em; }
.wp-site-blocks { min-height: 100vh; }
.dann-site-header { position: sticky; top: 0; z-index: 90; backdrop-filter: blur(16px); background: color-mix(in srgb, var(--dann-paper) 84%, transparent); border-bottom: 1px solid var(--dann-border); }
.dann-header-inner { max-width: var(--dann-max); margin:auto; min-height:72px; display:flex; align-items:center; gap:1.25rem; padding:.6rem 0; }
.dann-brand { display:inline-flex; align-items:center; min-width: 122px; text-decoration:none; font-weight:800; font-size:1.35rem; letter-spacing:-.04em; }
.dann-main-nav { margin-left:auto; display:flex; gap:clamp(.65rem,2vw,1.65rem); align-items:center; font-size:.9rem; }
.dann-main-nav a { text-decoration:none; opacity:.86; }
.dann-header-tools { display:flex; align-items:center; gap:.5rem; }
.dann-theme-toggle { border:1px solid var(--dann-border); color:inherit; background:transparent; width:2.35rem; height:2.35rem; border-radius:999px; cursor:pointer; }
.dann-main { max-width:var(--dann-max); margin:auto; }
.dann-standard-content { max-width: 860px; margin: 0 auto; padding: clamp(4rem,10vw,9rem) 0; }
.dann-footer { border-top:1px solid var(--dann-border); margin-top:clamp(4rem,10vw,9rem); }
.dann-footer-inner { max-width:var(--dann-max); margin:auto; padding:2rem 0 3rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1.5rem; font-size:.85rem; }
.dann-footer a { text-decoration:none; }
.dann-404 { min-height:60vh; display:grid; place-content:center; text-align:center; padding:4rem 1rem; }
.dann-404 strong { font-size:clamp(6rem,25vw,20rem); line-height:.8; letter-spacing:-.08em; }
@media (max-width: 800px) {
  .dann-header-inner { min-height:62px; }
  .dann-main-nav { display:none; }
  .dann-header-tools { margin-left:auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
}
/* Elementor / Elementor Pro is the visual composition layer; the theme keeps header/footer and data templates. */
body.elementor-page .dann-main.dann-standard-content{max-width:none;width:100%;padding:0}
body.elementor-page .dann-main.dann-standard-content>.wp-block-post-title{display:none}
body.elementor-page .dann-main.dann-standard-content>.wp-block-post-content{max-width:none;width:100%;margin:0;padding:0}
body.elementor-page .dann-footer{margin-top:0}
/* 1.4 Elementor Pro / Theme Builder integration */
.dann-main-nav-list{display:flex;gap:clamp(.65rem,2vw,1.65rem);align-items:center;list-style:none;margin:0;padding:0}
.dann-main-nav-list a{text-decoration:none;color:inherit}
.dann-brand .custom-logo-link{display:inline-flex;align-items:center}
.dann-brand .custom-logo{display:block;max-height:42px;width:auto}
.dann-elementor-content{max-width:none;width:100%;margin:0;padding:0}
body.elementor-page .dann-site-header + .dann-elementor-content{max-width:none}
body.dann-elementor-pro-active.elementor-page .dann-footer{margin-top:0}
@media(max-width:800px){.dann-main-nav-list{display:none}}
.dann-brand>a,.dann-brand .custom-logo-link{text-decoration:none;color:inherit}

/* 2.0.1 keeps the original 1.x palette/typography/layout tokens while Elementor Pro owns composition. */
body.dann-portfolio-theme{background:var(--dann-paper);color:var(--dann-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
body.dann-portfolio-theme h1,body.dann-portfolio-theme h2,body.dann-portfolio-theme h3,body.dann-portfolio-theme h4,body.dann-portfolio-theme h5,body.dann-portfolio-theme h6{font-weight:760;line-height:.98;letter-spacing:-.035em}
.elementor-page .dann-elementor-content{width:100%;max-width:none;margin:0;padding:0}
.elementor-location-header .dann-site-header{width:100%}
.elementor-location-footer .dann-footer{margin-top:0;width:100%}
