@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Great+Vibes&display=swap');
:root {
  --cv-bg:#f6e9a8; --cv-fg:#3a2a14; --cv-muted:#6b5530; --cv-accent:#6b3e16;
  --cv-panel:#fff6c8; --cv-line:#d2b86a;
  --cv-display:"Great Vibes", Georgia, serif;
  --cv-body:"DM Sans", Georgia, serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.cv-body{margin:0;font-family:var(--cv-body);background:var(--cv-bg);color:var(--cv-fg);line-height:1.65}
a{color:var(--cv-accent);text-decoration-thickness:1px}
a:hover{opacity:.85}
img{display:none}
.cv-btn{appearance:none;border:1px solid var(--cv-accent);background:var(--cv-accent);color:var(--cv-bg);padding:.75rem 1.2rem;font:inherit;cursor:pointer}
.cv-btn-ghost{background:transparent;color:var(--cv-fg);border-color:var(--cv-line)}
.cv-form{display:grid;gap:1rem;max-width:32rem}
.cv-form label{display:grid;gap:.35rem;font-size:.92rem}
.cv-form input,.cv-form textarea{font:inherit;padding:.7rem .8rem;border:1px solid var(--cv-line);background:var(--cv-panel);color:var(--cv-fg)}
.cv-form-success{color:var(--cv-accent);font-weight:600}
.cv-contact-block p{margin:.25rem 0}
.cv-skip{position:absolute;left:-999px}
.cv-skip:focus{left:1rem;top:1rem;background:var(--cv-panel);padding:.5rem;z-index:100}

.cv-util{font-size:.8rem;padding:.35rem 1rem;background:var(--cv-dark);color:var(--cv-light)}
.cv-mainbar{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;background:var(--cv-panel);border-bottom:1px solid var(--cv-line)}
.cv-logo{font-family:var(--cv-display);font-size:1.8rem;color:var(--cv-accent);text-decoration:none}
.cv-nav-desktop{display:none;gap:.8rem;margin-left:auto}
.cv-nav-desktop a{color:var(--cv-fg);text-decoration:none;font-size:.9rem}
.cv-menu-btn{margin-left:auto;border:1px solid var(--cv-line);background:transparent;padding:.4rem .7rem}
.cv-nav-panel{display:none;flex-direction:column;gap:.7rem;padding:1rem;background:var(--cv-panel)}
.cv-nav-panel[data-open="true"]{display:flex}
@media(min-width:860px){.cv-nav-desktop{display:flex}.cv-menu-btn{display:none}}
.cv-hero-type{padding:3rem 1.2rem;background:linear-gradient(135deg,#e8c84a,#f6e9a8 40%,#d7b56a);position:relative}
.cv-script{font-family:var(--cv-display);font-size:2.4rem;margin:0;color:var(--cv-accent)}
.cv-outline{font-size:clamp(4rem,14vw,8rem);line-height:.85;margin:.2rem 0;color:transparent;-webkit-text-stroke:2px var(--cv-fg);font-weight:700;letter-spacing:.08em}
.cv-toc{padding:1.5rem 1.2rem}
.cv-toc ol{margin:0;padding-left:1.2rem}
.cv-dark{background:var(--cv-dark);color:var(--cv-light);padding:3rem 1.2rem}
.cv-light{background:var(--cv-light);padding:3rem 1.2rem;color:var(--cv-fg)}
.cv-contact-strip{background:var(--cv-accent);color:var(--cv-light);padding:2rem 1.2rem}
.cv-contact-strip a{color:var(--cv-light)}
.cv-footer{display:grid;grid-template-columns:1fr;min-height:12rem}
@media(min-width:700px){.cv-footer{grid-template-columns:1.2fr 1fr;clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)}}
.cv-diag-a{background:var(--cv-dark);color:var(--cv-light);padding:2rem 1.2rem}
.cv-diag-b{background:var(--cv-panel);padding:2rem 1.2rem}
.cv-page{padding:2rem 1.2rem;max-width:42rem}
.cv-page h1{font-family:var(--cv-display);font-weight:400;color:var(--cv-accent)}

.cv-cookie{position:fixed;z-index:90;max-width:24rem}
.cv-cookie-inner{padding:1rem 1.1rem;border:1px solid var(--cv-line)}
.cv-cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.cv-cookie-settings{display:grid;gap:.5rem;margin-top:.75rem}
.cv-cookie-text{margin:0;font-size:.9rem}
.cv-cookie{bottom:1rem;left:1rem}.cv-cookie-inner{background:var(--cv-panel);box-shadow:0 8px 24px rgba(0,0,0,.12)}
@media(min-width:960px){
  .cv-split-land{display:grid;grid-template-columns:18rem 1fr;min-height:100vh}
  .cv-fixed-brand{position:sticky;top:0;height:100vh;padding:2rem 1.2rem;background:var(--cv-dark);color:var(--cv-light);display:flex;flex-direction:column;justify-content:center}
  .cv-fixed-brand .cv-script{font-size:2rem}
  .cv-scroll-main{min-width:0}
}
.cv-fixed-brand{padding:1.5rem 1.2rem;background:var(--cv-dark);color:var(--cv-light)}
