 :root {
  --paper: #f6f4ed; --ink: #202c24; --muted: #687167; --green: #294638;
  --lime: #d8f36a; --sage: #dfe8d7; --peach: #f0d8c4; --line: rgba(32,44,36,.16);
  --display: "Manrope", sans-serif; --body: "DM Sans", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.announcement { min-height: 36px; padding: 8px 5.5%; background: var(--green); color: #f6f4ed; display:flex; align-items:center; justify-content:center; gap:10px; font-size:11px; letter-spacing:.03em; }
.announcement a { position:absolute; right:5.5%; color:var(--lime); font-weight:700; }
.announcement-dot { width:6px; height:6px; background:var(--lime); border-radius:50%; }
.site-header { height:86px; padding:0 5.5%; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; background:rgba(246,244,237,.94); backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark { display:flex; align-items:flex-end; gap:3px; height:28px; width:28px; }
.brand-mark span { display:block; width:7px; border:2px solid var(--green); transform:skewY(-25deg); }
.brand-mark span:nth-child(1) { height:16px; }.brand-mark span:nth-child(2) { height:23px; }.brand-mark span:nth-child(3) { height:28px; }
.brand-name { font-family:var(--display); font-size:15px; font-weight:800; letter-spacing:.08em; line-height:1.2; }
.brand-name small { display:block; font-family:var(--body); font-size:8px; letter-spacing:.22em; font-weight:700; margin-top:4px; }
.nav-links { display:flex; align-items:center; gap:36px; font-size:12px; font-weight:600; }
.nav-links > a:not(.nav-cta) { color:#4e5a50; transition:color .2s; }.nav-links > a:hover { color:#75912d; }
.nav-cta { background:var(--green); color:white; padding:13px 17px; border-radius:3px; }.nav-cta span { color:var(--lime); margin-left:14px; }
.menu-toggle { display:none; border:0; background:transparent; padding:8px; }
.section-shell { max-width:1440px; margin:0 auto; padding-left:8%; padding-right:8%; }
.hero { min-height:650px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:4%; padding-top:62px; padding-bottom:78px; position:relative; }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:9px; letter-spacing:.19em; font-weight:700; color:#63705f; }
.eyebrow-line { width:24px; height:1px; background:#7c8b70; display:inline-block; }
.hero h1,.section-heading h2,.about-copy h2,.contact-copy h2 { font-family:var(--display); font-size:clamp(48px,5.5vw,76px); letter-spacing:-.075em; line-height:.99; font-weight:600; margin:25px 0 24px; }
h1 em,h2 em { font-style:normal; color:#78904a; }
.outline-text { color:transparent; -webkit-text-stroke:1.4px var(--ink); }
.hero-description { max-width:420px; color:var(--muted); line-height:1.8; font-size:14px; }
.hero-actions { display:flex; align-items:center; gap:26px; margin-top:30px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 19px; border:0; cursor:pointer; font-size:11px; font-weight:700; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-3px); }
.button-dark { background:var(--green); color:#fff; }.button-dark span { color:var(--lime); font-size:16px; }
.text-link { font-size:11px; font-weight:700; border-bottom:1px solid #9da49a; padding-bottom:7px; }.text-link span { margin-left:8px; }
.hero-proof { display:flex; align-items:center; gap:13px; margin-top:45px; }
.proof-avatars { display:flex; }.proof-avatars span { width:29px; height:29px; border-radius:50%; display:grid; place-items:center; background:#dce6d0; border:2px solid var(--paper); font-size:10px; font-weight:800; margin-right:-7px; }.proof-avatars span:nth-child(2) { background:#f0d8c4; }.proof-avatars span:nth-child(3) { background:var(--lime); }
.hero-proof strong,.hero-proof small { display:block; }.hero-proof strong { font-size:10px; }.hero-proof small { color:var(--muted); font-size:9px; margin-top:4px; }
.hero-art { height:475px; position:relative; background:#e8e9dc; overflow:hidden; border-radius:2px; isolation:isolate; }
.sun-disc { position:absolute; width:270px; height:270px; border-radius:50%; background:#d7e0b7; top:44px; left:50%; transform:translateX(-50%); }
.hero-art:after { content:""; position:absolute; bottom:0; left:0; right:0; height:27%; background:#d9ddca; z-index:-1; }
.box { position:absolute; box-shadow:13px 20px 35px rgba(41,50,35,.12); }
.box-back { width:190px; height:150px; top:130px; left:20%; background:#c9a77e; transform:rotate(-8deg); color:#3d4633; display:grid; place-items:center; font-family:var(--display); font-size:17px; font-weight:800; text-align:center; line-height:1.2; }
.box-back small { font-size:6px; letter-spacing:.2em; }
.box-seam { position:absolute; top:0; bottom:0; left:50%; width:1px; background:rgba(66,56,39,.17); }
.box-front { width:225px; height:175px; left:31%; top:220px; background:#b88f64; transform:rotate(5deg); color:#f7eddb; }
.box-front:before { content:""; position:absolute; left:0; right:0; top:0; height:22px; background:rgba(248,228,192,.18); }
.box-stamp { position:absolute; left:23px; top:53px; font-size:11px; letter-spacing:.1em; font-weight:800; line-height:1.5; }
.box-leaf { position:absolute; right:20px; bottom:15px; font-size:35px; color:#e0e6bb; }
.box-side { width:78px; height:148px; top:238px; left:69%; background:#9c7958; transform:skewY(-25deg) rotate(5deg); }
.art-label { position:absolute; z-index:3; top:24px; left:24px; font-size:8px; letter-spacing:.12em; font-weight:700; color:#596650; }
.tiny-star { font-size:15px; margin-right:6px; color:#7a8d4b; }
.art-spark { position:absolute; color:#7a8e53; font-size:28px; }.spark-one { right:16%; top:100px; }.spark-two { left:11%; bottom:95px; font-size:17px; }
.art-caption { position:absolute; bottom:17px; left:23px; right:23px; display:flex; justify-content:space-between; font-size:8px; letter-spacing:.13em; color:#596650; }
.hero-bottom-note { position:absolute; bottom:24px; left:8%; display:flex; align-items:center; gap:12px; color:#768072; font-size:8px; letter-spacing:.15em; }.scroll-line { width:36px; height:1px; background:#9aa494; }
.ticker { background:var(--lime); overflow:hidden; padding:17px 0; }
.ticker-track { min-width:max-content; display:flex; align-items:center; justify-content:space-around; gap:45px; font-family:var(--display); font-size:10px; font-weight:800; letter-spacing:.14em; }.ticker-track b { font-size:17px; font-weight:400; }
.section-pad { padding-top:105px; padding-bottom:110px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:45px; }
.section-heading h2,.about-copy h2 { font-size:clamp(40px,4.5vw,58px); margin:18px 0 0; line-height:1.04; }
.section-heading > p { max-width:350px; color:var(--muted); font-size:13px; line-height:1.85; margin:0 0 5px; }
.solution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.solution-card { min-height:355px; padding:22px 24px 25px; display:flex; flex-direction:column; align-items:flex-start; }
.card-cream { background:#eeeadf; }.card-sage { background:#e0e8d8; }.card-peach { background:#f1ded0; }
.card-topline { width:100%; display:flex; justify-content:space-between; font-size:10px; color:#697568; }.card-arrow { font-size:17px; }
.mini-illustration { width:100%; height:125px; position:relative; display:flex; justify-content:center; align-items:center; }
.mini-box { position:absolute; width:77px; height:57px; background:#c3a47d; border:1px solid rgba(65,55,39,.16); box-shadow:5px 8px 12px rgba(45,50,36,.08); }
.mini-box:after { content:""; position:absolute; left:50%; top:0; height:100%; width:1px; background:rgba(65,55,39,.17); }
.mini-box-a { transform:translate(-28px,7px) rotate(-10deg); }.mini-box-b { transform:translate(26px,9px) rotate(9deg); background:#d0b28b; }.mini-box-c { width:68px; height:48px; transform:translate(0,-20px); background:#b89367; }
.custom-bag { width:83px; height:88px; background:#b9c6a3; transform:rotate(-7deg); display:grid; place-items:center; box-shadow:8px 9px 0 rgba(41,70,56,.08); color:#344b37; font-family:var(--display); font-size:15px; font-weight:800; line-height:1.05; text-align:center; }.custom-bag:before { content:""; position:absolute; top:-14px; width:29px; height:20px; border:3px solid #9ba988; border-bottom:0; border-radius:12px 12px 0 0; }
.custom-tag { width:27px; height:38px; background:#f6f4ed; position:absolute; right:calc(50% - 60px); top:24px; transform:rotate(16deg); border:1px solid #b4bda8; }
.roll { position:absolute; width:65px; height:65px; border-radius:50%; border:13px solid #c39b73; background:#f6e7d4; box-shadow:5px 8px 10px rgba(45,50,36,.09); }.roll-one { transform:translate(-25px,0); }.roll-two { transform:translate(32px,5px); border-color:#d2b894; }
.tape { position:absolute; width:42px; height:53px; background:#e8cba6; border:1px solid #c7a77d; transform:translate(2px,-28px) rotate(15deg); }
.solution-card h3 { font-family:var(--display); font-size:19px; letter-spacing:-.04em; margin:10px 0 8px; }.solution-card p { color:#687167; font-size:11px; line-height:1.75; margin:0 0 19px; max-width:270px; }.solution-card > a { margin-top:auto; font-size:10px; font-weight:700; border-bottom:1px solid rgba(32,44,36,.25); padding-bottom:6px; }.solution-card > a span { margin-left:14px; }
.about { background:#e8e9dd; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:9%; padding-left:10%; padding-right:10%; }
.about-visual { height:460px; position:relative; background:#d6ddc6; overflow:hidden; }
.about-shape { width:330px; height:330px; border-radius:50%; background:#bdcba7; position:absolute; left:50%; top:40px; transform:translateX(-50%); }
.about-box { position:absolute; width:245px; height:230px; top:126px; left:50%; transform:translateX(-50%) rotate(-4deg); }
.about-box-top { height:50px; background:#d2b28a; clip-path:polygon(0 0,100% 0,88% 100%,12% 100%); }
.about-box-front { height:180px; background:#b88f64; color:#f8edda; padding:30px; font-family:var(--display); font-size:20px; font-weight:800; line-height:1.15; position:relative; box-shadow:12px 18px 20px rgba(45,50,36,.12); }
.about-box-front b { position:absolute; bottom:18px; right:23px; font-size:33px; color:#e0e6bb; }
.round-stamp { position:absolute; z-index:2; width:104px; height:104px; border-radius:50%; background:var(--lime); right:8%; top:78px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; font-size:8px; font-weight:800; letter-spacing:.1em; line-height:1.5; transform:rotate(9deg); }.round-stamp b { font-size:20px; margin-top:3px; }
.about-note { position:absolute; bottom:20px; left:22px; font-size:10px; line-height:1.6; color:#5e6b56; }
.about-copy h2 { margin:20px 0; }.about-lead { font-size:13px; color:#596458; line-height:1.85; max-width:450px; }
.benefit-list { margin:30px 0; border-top:1px solid rgba(32,44,36,.17); }
.benefit { display:flex; gap:15px; padding:16px 0; border-bottom:1px solid rgba(32,44,36,.17); }.benefit-icon { flex:0 0 34px; height:34px; display:grid; place-items:center; border:1px solid rgba(32,44,36,.23); border-radius:50%; font-size:15px; }.benefit h3 { margin:0 0 5px; font-family:var(--display); font-size:12px; }.benefit p { margin:0; font-size:10px; line-height:1.6; color:#657064; }
.process { padding-top:100px; padding-bottom:110px; }.process-steps { display:grid; grid-template-columns:1fr 50px 1fr 50px 1fr; align-items:center; gap:13px; }.process-step { position:relative; padding:25px 20px 25px 0; min-height:190px; }.step-number { font-size:9px; letter-spacing:.13em; color:#829073; }.step-icon { width:48px; height:48px; border-radius:50%; background:#e4e9d9; display:grid; place-items:center; font-size:23px; color:#4a6146; margin:22px 0 17px; }.process-step h3 { font-family:var(--display); font-size:15px; letter-spacing:-.03em; margin:0 0 8px; }.process-step p { font-size:11px; line-height:1.75; color:var(--muted); margin:0; max-width:230px; }.step-connector { color:#8b9b7d; font-size:14px; overflow:hidden; white-space:nowrap; align-self:center; margin-top:20px; }
.contact { background:var(--green); color:#f6f4ed; padding-left:8%; padding-right:8%; }.contact-inner { max-width:1220px; margin:0 auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:10%; align-items:start; }.eyebrow-light { color:#c1cdb7; }.eyebrow-light .eyebrow-line { background:var(--lime); }
.contact-copy h2 { font-size:clamp(48px,5vw,68px); margin:25px 0; }.contact-copy h2 em { color:var(--lime); }.contact-copy > p { max-width:350px; color:#c3cdc1; font-size:13px; line-height:1.8; }.contact-direct { display:flex; align-items:center; gap:13px; margin-top:55px; }.direct-icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid #60776a; border-radius:50%; color:var(--lime); font-size:19px; }.contact-direct small,.contact-direct strong { display:block; }.contact-direct small { font-size:8px; letter-spacing:.14em; color:#c1cdb7; }.contact-direct strong { font-family:var(--display); font-size:13px; margin-top:5px; }
.contact-form { background:#f6f4ed; color:var(--ink); padding:30px 32px 25px; }.form-heading { display:flex; justify-content:space-between; font-size:9px; letter-spacing:.14em; font-weight:800; padding-bottom:23px; border-bottom:1px solid var(--line); margin-bottom:22px; }.form-heading span:last-child { color:#72836a; }.form-heading b { color:#314d3a; margin-left:8px; font-size:14px; }
.contact-form label { display:block; font-size:10px; font-weight:700; margin:16px 0 8px; }.contact-form input,.contact-form textarea,.contact-form select { display:block; width:100%; border:1px solid #d9dcd1; border-radius:0; background:#fbfaf6; padding:12px 13px; font-size:11px; color:var(--ink); outline:none; }.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-color:#82976b; box-shadow:0 0 0 2px rgba(130,151,107,.13); }.contact-form input::placeholder,.contact-form textarea::placeholder { color:#9ba195; }.contact-form textarea { resize:vertical; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.button-lime { width:100%; margin-top:22px; background:var(--lime); color:var(--ink); }.button-lime span { font-size:16px; }.form-note { color:#8a9186; font-size:9px; line-height:1.6; margin:13px 0 0; }.form-note code { font-size:9px; }.form-status { font-size:11px; color:#385a3d; line-height:1.5; }
.site-footer { min-height:95px; padding:25px 5.5%; display:flex; align-items:center; justify-content:space-between; gap:25px; }.footer-brand .brand-mark span { border-color:var(--green); }.footer-tagline { font-size:10px; color:#7b8377; }.footer-right { display:flex; gap:25px; font-size:9px; color:#687167; }.footer-right a { font-weight:700; color:var(--ink); }
@media (min-width:1500px) { .hero { min-height:720px; }.hero-art { height:520px; } }
@media (max-width:900px) { .section-shell { padding-left:5%; padding-right:5%; }.hero { gap:3%; }.hero h1 { font-size:clamp(48px,6.3vw,66px); }.hero-art { height:410px; }.box-back { left:13%; }.box-front { left:24%; }.box-side { left:67%; }.about { padding-left:6%; padding-right:6%; gap:6%; }.about-visual { height:400px; }.about-box { transform:translateX(-50%) scale(.85) rotate(-4deg); transform-origin:center; }.contact { padding-left:5%; padding-right:5%; }.contact-inner { gap:5%; } }
@media (max-width:680px) {
  .announcement { justify-content:flex-start; padding-left:5%; padding-right:5%; font-size:9px; }.announcement a { position:static; margin-left:auto; white-space:nowrap; }.site-header { height:72px; padding:0 5%; }.brand-name { font-size:13px; }.menu-toggle { display:flex; flex-direction:column; gap:5px; }.menu-toggle span { width:23px; height:2px; background:var(--green); }.nav-links { display:none; position:absolute; top:71px; left:0; right:0; background:var(--paper); padding:20px 5% 25px; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:0; }.nav-links.open { display:flex; }.nav-links > a { padding:14px 0; }.nav-links .nav-cta { margin-top:8px; padding:14px 16px; }.hero { grid-template-columns:1fr; padding-top:52px; padding-bottom:70px; gap:38px; }.hero h1 { font-size:clamp(54px,13vw,74px); }.hero-description { font-size:13px; }.hero-art { height:390px; }.box-back { left:17%; top:100px; }.box-front { left:27%; top:190px; }.box-side { left:68%; top:210px; }.sun-disc { top:25px; width:240px; height:240px; }.hero-bottom-note { bottom:23px; left:5%; }.section-pad { padding-top:70px; padding-bottom:75px; }.section-heading { display:block; margin-bottom:30px; }.section-heading h2,.about-copy h2 { font-size:45px; }.section-heading > p { margin-top:20px; font-size:12px; }.solution-grid { grid-template-columns:1fr; gap:12px; }.solution-card { min-height:315px; }.mini-illustration { height:105px; }.about { grid-template-columns:1fr; gap:45px; padding-left:5%; padding-right:5%; }.about-visual { height:370px; }.about-copy h2 { font-size:48px; }.process-steps { grid-template-columns:1fr; gap:0; }.process-step { min-height:0; padding:20px 0 25px 58px; border-bottom:1px solid var(--line); }.step-number { position:absolute; left:0; top:25px; }.step-icon { position:absolute; left:0; top:45px; width:40px; height:40px; margin:0; }.process-step h3 { padding-top:20px; }.step-connector { display:none; }.contact-inner { grid-template-columns:1fr; gap:35px; }.contact-copy h2 { font-size:55px; }.contact-direct { margin-top:30px; }.contact-form { padding:24px 20px; }.form-row { grid-template-columns:1fr; gap:0; }.site-footer { align-items:flex-start; flex-wrap:wrap; padding:25px 5%; }.footer-tagline { order:3; flex-basis:100%; }.footer-right { margin-left:auto; flex-direction:column; gap:8px; text-align:right; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
