
:root{
 --ink:#17251f; --paper:#fffdf8; --cream:#f5ead8; --terracotta:#b85c38;
 --gold:#e2a93b; --sage:#7a9e7e; --pink:#e9b8b1; --muted:#5f675f;
 --shadow: 0 14px 35px rgba(23,37,31,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin:auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,253,248,.93);backdrop-filter:blur(12px);border-bottom:2px dashed #d8cbb9}
.nav{min-height:76px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-family:Georgia,serif;font-weight:800;font-size:22px;letter-spacing:.5px;margin-right:auto}
.brand img{width:45px;height:45px}
.socials{display:flex;gap:7px}
.icon-btn{width:35px;height:35px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:#fff;transition:.2s}
.icon-btn:hover{transform:rotate(-7deg) translateY(-2px);background:var(--cream)}
.icon-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.menu{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.menu a{font-size:13px;font-weight:750;padding:8px 10px;border-radius:12px}
.menu a:hover{background:var(--cream)}
.menu-toggle{display:none;border:2px solid var(--ink);background:white;border-radius:12px;padding:8px 11px;font-size:20px}
.hero{padding:150px 0 80px;min-height:88vh;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:55px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:40px auto auto -90px;width:250px;height:250px;border:4px dashed #e4cdb2;border-radius:50%;transform:rotate(15deg)}
.hero-copy{position:relative}
.kicker{display:inline-block;background:#fff0df;border:2px solid var(--ink);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800;transform:rotate(-2deg);margin-bottom:16px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(48px,7vw,86px);letter-spacing:-2px}
h1 span{color:var(--terracotta)}
.hero-copy p{font-size:18px;max-width:670px;color:var(--muted)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);padding:12px 18px;border-radius:14px;font-weight:850;box-shadow:4px 4px 0 var(--ink);transition:.2s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn.primary{background:var(--ink);color:#fff}
.btn.alt{background:#fff0df}
.hero-art{position:relative;max-width:470px;margin:auto}
.photo-frame{background:#fff;border:3px solid var(--ink);padding:13px;border-radius:40px 25px 45px 22px;box-shadow:12px 13px 0 #e6c6a8;transform:rotate(2deg)}
.photo-frame img{border-radius:28px;aspect-ratio:4/5;object-fit:cover}
.sticker{position:absolute;background:#f7e8ad;border:2px solid var(--ink);padding:12px 14px;border-radius:50%;font-weight:900;font-size:13px;box-shadow:4px 4px 0 var(--ink)}
.sticker.one{top:5%;right:-10%;transform:rotate(9deg)}
.sticker.two{bottom:3%;left:-12%;background:#dfeadf;transform:rotate(-9deg)}
.doodle-line{height:15px;width:190px;margin:15px 0;background:radial-gradient(circle,#b85c38 2px,transparent 3px) 0 0/15px 15px}
section{padding:90px 0;position:relative}
.section-head{max-width:760px;margin-bottom:42px}
.section-head .eyebrow{font-weight:900;color:var(--terracotta);text-transform:uppercase;letter-spacing:2px;font-size:12px}
.section-head h2{font-size:clamp(36px,5vw,58px)}
.section-head p{color:var(--muted)}
.paper{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}
.about-photo{border:3px solid var(--ink);border-radius:22px;padding:8px;background:white;box-shadow:9px 9px 0 #d6b999;transform:rotate(-2deg)}
.about-photo img{border-radius:15px;aspect-ratio:1/1;object-fit:cover}
.list{display:grid;gap:12px}
.list-item{padding:14px 16px;background:white;border:2px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 #d8cbb9}
.list-item b{display:block;margin-bottom:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{border:2px dashed var(--ink);padding:7px 10px;border-radius:999px;background:#fff}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:2px solid var(--ink);border-radius:20px;padding:14px;box-shadow:6px 7px 0 #ded2c2;transition:.2s}
.card:nth-child(2){transform:rotate(1deg)} .card:nth-child(3){transform:rotate(-1deg)}
.card:hover{transform:translateY(-5px) rotate(0)}
.card img{height:220px;width:100%;object-fit:cover;border-radius:13px;border:1px solid #d8cbb9}
.card h3{font-size:26px;margin:17px 0 7px}
.card p{margin:0;color:var(--muted)}
.hash{color:var(--terracotta);font-weight:900}
.impact{background:#17251f;color:#fff}
.impact .section-head p{color:#d9e2dc}
.impact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.metric{padding:22px 14px;border:2px solid #fff;border-radius:18px;background:#21362e;text-align:center;transform:rotate(var(--r))}
.metric strong{display:block;font-family:Georgia,serif;font-size:38px;color:#f5d28c}
.metric span{font-size:13px;color:#e4ebe7}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.feature img{width:100%;height:440px;object-fit:cover;border:3px solid var(--ink);border-radius:24px;box-shadow:10px 10px 0 #d9c5ab;transform:rotate(1deg)}
.feature-copy ul{padding-left:20px}
.gallery{columns:3 280px;column-gap:16px}
.gallery figure{break-inside:avoid;margin:0 0 16px;background:#fff;border:2px solid var(--ink);padding:8px;border-radius:16px;box-shadow:4px 4px 0 #dfd4c6}
.gallery img{width:100%;border-radius:10px;max-height:430px;object-fit:cover}
.gallery figcaption{font-weight:800;font-size:13px;padding:8px 3px 2px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blog{background:#fff;border:2px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:6px 6px 0 #e1d5c6}
.blog img{height:210px;width:100%;object-fit:cover}
.blog div{padding:18px}
.blog h3{font-size:24px}
.blog p{color:var(--muted)}
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.quote{background:#fff;border:2px solid var(--ink);padding:24px;border-radius:20px;position:relative;box-shadow:5px 5px 0 #decdb8}
.quote:before{content:"“";font-family:Georgia,serif;font-size:65px;line-height:.5;color:#d6a46d;position:absolute;top:23px;right:18px}
.quote p{font-family:Georgia,serif;font-size:18px;padding-right:30px}
.quote b{color:var(--terracotta)}
.faqs{display:grid;gap:12px;max-width:900px}
details{background:white;border:2px solid var(--ink);border-radius:14px;padding:14px 18px}
summary{font-weight:850;cursor:pointer}
.forms{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.form-card{background:#fff;border:2px solid var(--ink);border-radius:20px;padding:24px;box-shadow:6px 6px 0 #dfd0be}
label{display:block;font-weight:800;font-size:13px;margin:13px 0 6px}
input,textarea,select{width:100%;border:2px solid var(--ink);border-radius:11px;padding:12px 13px;font:inherit;background:#fffdf8}
textarea{min-height:130px;resize:vertical}
footer{background:#111b17;color:#fff;padding:45px 0}
.footer-grid{display:flex;justify-content:space-between;gap:25px;align-items:center}
.small{font-size:13px;color:#bfc9c3}
.backtop{border:2px solid #fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}
.note{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:1050px){
 .menu{display:none}.menu-toggle{display:block}.nav.open .menu{display:flex;position:absolute;left:4%;right:4%;top:74px;background:var(--paper);border:2px solid var(--ink);border-radius:16px;padding:10px;flex-direction:column;align-items:stretch;box-shadow:6px 6px 0 #d9c9b5}
 .socials{margin-left:auto}.hero{grid-template-columns:1fr;min-height:auto;padding-top:125px}.hero-art{order:-1;max-width:390px}
 .about-grid,.feature{grid-template-columns:1fr}.cards,.blog-grid{grid-template-columns:1fr 1fr}.impact-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:650px){
 .nav{gap:8px}.brand span{display:none}.socials{gap:4px}.icon-btn{width:31px;height:31px}.hero{padding-bottom:50px}
 section{padding:65px 0}.cards,.blog-grid,.quote-grid,.forms{grid-template-columns:1fr}.impact-grid{grid-template-columns:1fr 1fr}
 h1{font-size:54px}.hero-copy p{font-size:16px}.feature img{height:320px}
}
