:root{--base:#fbfbf5;--soft:#feed9f;--accent:#f7d327;--gold:#d0a823;--dark:#504c41;--border:#efe6b8;--muted:#6b665a;--shadow:0 18px 36px #3232321f}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--base);color:var(--dark);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.page,.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.site-header{background:var(--base);border-bottom:1px solid var(--border);z-index:10;transition:background .2s,box-shadow .2s;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;max-width:1140px;margin:0 auto;padding:26px 20px;transition:padding .2s;display:flex}.logo{align-items:center;min-width:0;display:flex;position:relative}.logo:before{content:"";z-index:-1;filter:blur(2px);background:radial-gradient(circle,#f7d32773,#0000 60%);width:120px;height:120px;position:absolute;top:50%;left:-18px;transform:translateY(-50%)}.logo-image{filter:drop-shadow(0 8px 18px #50461e33);width:auto;max-width:200px;height:86px;transition:height .25s,transform .25s}.nav{flex-wrap:wrap;gap:14px;font-weight:600;display:flex}.nav a{white-space:nowrap;border-radius:12px;padding:8px 10px}.nav a:hover{background:var(--soft)}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:6px;padding:8px;display:none}.nav-toggle span{background:var(--dark);border-radius:999px;width:26px;height:2px;transition:transform .2s,opacity .2s}.site-header[data-shrink=true] .header-inner{padding:12px 20px}.site-header[data-shrink=true] .logo-image{height:46px;transform:translateY(1px)}.site-header[data-shrink=true] .logo:before{width:70px;height:70px;left:-10px}.band{width:100%;padding:80px 0;position:relative}.band:after{content:"";background:inherit;border-bottom-right-radius:50% 40px;border-bottom-left-radius:50% 40px;height:48px;position:absolute;bottom:-24px;left:0;right:0}.band-hero{background:var(--soft)}.band-light{background:var(--base)}.band-soft{background:#fff4c5}.band-cream{background:#fff8dc}.band-cta{background:var(--accent)}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center;gap:32px;display:grid}.hero-copy h1{margin-bottom:12px;font-size:clamp(2.2rem,3.6vw,3.2rem)}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.78rem;font-weight:800}.lead{font-size:1.1rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.hero-sub{color:var(--muted);margin-top:16px;font-size:.95rem}.hero-portrait{text-align:center;justify-items:center;gap:12px;display:grid}.photo-frame{background:var(--base);box-shadow:var(--shadow);border-radius:22px;width:100%;max-width:340px;padding:12px}.photo-frame img{object-fit:cover;border-radius:14px;width:100%;height:340px;display:block}.photo-caption strong{margin-bottom:4px;display:block}.btn{border-radius:999px;padding:12px 18px;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-block}.btn.primary{background:var(--dark);color:var(--base);box-shadow:var(--shadow)}.btn.ghost{border:1px solid var(--dark);color:var(--dark);background:0 0}.btn.accent{background:var(--accent);color:var(--dark)}.btn:hover{transform:translateY(-2px)}.section-header{max-width:720px;margin-bottom:28px}.section-header h2{margin-bottom:8px;font-size:2rem}.grid.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;display:grid}.card{background:var(--base);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;padding:24px}.card.playful{position:relative}.card.playful:before{content:"";background:var(--accent);opacity:.7;border-radius:50%;width:28px;height:28px;position:absolute;top:-10px;right:14px}.card.inset{background:var(--soft)}.split{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:28px;display:grid}.service-list{margin:16px 0 26px 18px}.muted{color:var(--muted)}.image-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;display:grid}.image-window{background:var(--base);border:2px dashed var(--gold);min-height:220px;color:var(--muted);border-radius:24px;place-items:center;font-weight:600;display:grid}.image-window.tall{min-height:320px}.image-window.wide{grid-column:span 2}@media (max-width:700px){.image-window.wide{grid-column:auto}}.cta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.site-footer{background:var(--base);border-top:1px solid var(--border)}.footer-inner{max-width:1140px;color:var(--muted);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 auto;padding:26px 20px;display:grid}.contact-panel{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;gap:28px;display:grid}.contact-info{gap:16px;display:grid}.contact-lines{background:var(--base);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;gap:12px;padding:16px;display:grid}.contact-lines strong{margin-bottom:4px;display:block}.contact-form{background:var(--base);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;gap:12px;padding:22px;display:grid}.contact-form label{gap:6px;font-weight:600;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--border);width:100%;font:inherit;background:#fffef8;border-radius:12px;padding:12px 14px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);border-color:var(--gold)}@media (max-width:800px){.header-inner{flex-direction:row;align-items:center;gap:12px;position:relative}.logo{flex:1}.logo-image{max-width:180px;height:60px}.header-cta{display:none}.nav{flex-flow:wrap;gap:10px;display:flex}.nav-toggle{margin-left:auto;display:none}.site-header[data-shrink=true] .nav{display:none}.site-header[data-shrink=true] .nav-toggle{display:flex}.site-header[data-menu=open] .nav{background:var(--base);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;padding:12px;animation:.25s menuDrop;display:flex}.site-header[data-menu=open] .nav-toggle{position:absolute;top:12px;right:16px}.site-header[data-menu=open] .nav-toggle span:first-child{transform:translateY(8px)rotate(45deg)}.site-header[data-menu=open] .nav-toggle span:nth-child(2){opacity:0}.site-header[data-menu=open] .nav-toggle span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}}@keyframes menuDrop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
