/* MeulenWorks site styles (brand from the 2026-09-16 logo work: oak, brass, charcoal, Millpond teal on paper).
   Shared by index.html and molding.html. Revised 2026-09-20 on Nick's ask: plainer, service-led. */
:root{--paper:#f6f3ed;--panel:#ffffff;--ink:#22282b;--ink2:#4a5256;--muted:#7f888c;--line:#dcd8cf;--oak:#6b4a2b;--oak-soft:#e9dfd3;--brass:#b4842f;--brass-soft:#f3e7cf;--teal:#1f6e6a;--teal-soft:#dcebe8;--pond:#4fb3ac;--display:'Outfit',system-ui,sans-serif;--body:'Source Sans 3',system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#121719;--panel:#1a2124;--ink:#ecebe4;--ink2:#c4c9c3;--muted:#8b948f;--line:#2b3438;--oak:#a97c52;--oak-soft:#2a221b;--brass:#d3a64e;--brass-soft:#2c2415;--teal:#4fb3ac;--teal-soft:#16302d;--pond:#4fb3ac}}
:root[data-theme="dark"]{--paper:#121719;--panel:#1a2124;--ink:#ecebe4;--ink2:#c4c9c3;--muted:#8b948f;--line:#2b3438;--oak:#a97c52;--oak-soft:#2a221b;--brass:#d3a64e;--brass-soft:#2c2415;--teal:#4fb3ac;--teal-soft:#16302d;--pond:#4fb3ac}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--body)}
a{color:var(--teal)}img,svg{max-width:100%}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
/* nav */
nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;gap:14px;height:64px}
nav .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 22px var(--display)}
nav .brand i{font-style:normal;color:var(--teal)}nav .brand svg{width:36px;height:36px}
nav .links{margin-left:auto;display:flex;gap:18px;font:600 14px var(--display);letter-spacing:.3px}
nav .links a{color:var(--ink2);text-decoration:none}nav .links a:hover,nav .links a.here{color:var(--teal)}
nav .cta{background:var(--teal);color:#fff!important;padding:8px 14px;border-radius:999px}
@media(max-width:640px){nav .links a:not(.cta){display:none}}
.wave{display:block;width:100%;height:14px;color:var(--teal)}
/* hero */
.hero{padding:64px 0 40px;display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:36px}}
.hero h1{font:700 clamp(34px,5.6vw,54px)/1.05 var(--display);margin:0 0 14px;letter-spacing:-.5px}
.hero h1 i{font-style:normal;color:var(--teal)}
.hero p.lead{font-size:20px;color:var(--ink2);max-width:54ch;margin:0 0 22px}
.hero .mark{width:min(300px,64vw);margin:0 auto;display:block}
.hero .mark .wheel{transform-origin:50px 50px;transform-box:view-box;animation:turn 30s linear infinite}
@keyframes turn{to{transform:rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){.hero .mark .wheel{animation:none}}
.hero .kicker{font:600 12px var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:10px}
.btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{display:inline-block;font:600 15px var(--display);padding:11px 18px;border-radius:999px;text-decoration:none;border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer}
.btn.ghost{background:transparent;color:var(--teal)}
.btn.oak{background:var(--oak);border-color:var(--oak);color:#fff}
/* trust strip under the hero */
.trust{display:flex;flex-wrap:wrap;gap:10px 28px;padding:18px 0 6px;color:var(--ink2);font:600 14px var(--display)}
.trust span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brass);margin-right:8px;vertical-align:1px}
/* sections */
section{padding:52px 0}
section.alt{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section h2{font:700 clamp(26px,3.6vw,36px)/1.15 var(--display);margin:0 0 8px;letter-spacing:-.3px}
section .eyebrow{font:600 12px var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}
section p.sub{color:var(--ink2);max-width:64ch;margin:0 0 26px;font-size:18px}
.card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--oak);border-radius:4px 12px 12px 12px;padding:18px 20px}
.card h3{font:700 19px var(--display);margin:0 0 6px}.card p{margin:0;color:var(--ink2);font-size:16px}
.card .n{font:700 34px var(--display);color:var(--brass);line-height:1;margin-bottom:8px}
.card.teal{border-left-color:var(--teal)}.card.brass{border-left-color:var(--brass)}
.card a.more{display:inline-block;margin-top:10px;font:600 14px var(--display);text-decoration:none}
/* services */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:760px){.svc{grid-template-columns:1fr}}
.svc .card ul{margin:10px 0 0;padding-left:18px;color:var(--ink2);font-size:15px}
.tag{display:inline-block;font:600 11px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);padding:3px 8px;border-radius:999px;margin-bottom:8px}
.tag.brass{color:var(--brass);background:var(--brass-soft)}
/* steps + two-column */
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
@media(max-width:760px){.split{grid-template-columns:1fr}}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{position:relative;padding:10px 0 10px 44px;border-bottom:1px dashed var(--line);counter-increment:s}
.steps li::before{content:counter(s);position:absolute;left:0;top:10px;width:30px;height:30px;border-radius:50%;background:var(--brass-soft);color:var(--brass);font:700 14px/30px var(--display);text-align:center}
.steps b{display:block;font:600 16px var(--display)}
.steps span{color:var(--ink2);font-size:15px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.panel h3{font:700 18px var(--display);margin:0 0 8px}
.panel ul{margin:0;padding-left:18px;color:var(--ink2);font-size:15px}.panel li{margin:4px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:760px){.grid3{grid-template-columns:1fr}}
/* capabilities table */
.caps{width:100%;border-collapse:collapse;font-size:15px}
.caps th,.caps td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.caps th{font:600 12px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.caps td:first-child{font-weight:600}
/* faq */
.faq details{border-bottom:1px solid var(--line);padding:10px 0}
.faq summary{cursor:pointer;font:600 17px var(--display);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--brass);font-weight:700}
.faq details[open] summary::after{content:"\2013"}
.faq p{color:var(--ink2);margin:8px 0 0;font-size:16px;max-width:70ch}
/* about */
.about{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:center}
@media(max-width:760px){.about{grid-template-columns:1fr}}
.about .mark{width:min(200px,50vw);margin:0 auto;display:block}
/* feed */
.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.feed .card{border-left-color:var(--teal)}
.feed .meta{font:12px var(--mono);color:var(--muted);margin-top:8px}
.stages{list-style:none;margin:10px 0 0;padding:0;display:flex;gap:3px}
.stages li{flex:1;height:6px;background:var(--line);border-radius:3px}
.stages li.done{background:var(--teal)}.stages li.now{background:var(--brass)}
/* quote form */
form.q{display:grid;grid-template-columns:1fr 1fr;gap:12px}
form.q .full{grid-column:1/-1}
@media(max-width:640px){form.q{grid-template-columns:1fr}}
label{display:block;font:600 12px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
textarea{min-height:110px;resize:vertical}
.note{font-size:14px;color:var(--muted)}
.ok{background:var(--teal-soft);border:1px solid var(--teal);border-radius:8px;padding:12px 14px;margin-top:10px;display:none}
footer{border-top:1px solid var(--line);padding:26px 0 40px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
footer b{font:700 16px var(--display);color:var(--ink)}footer b i{font-style:normal;color:var(--teal)}
footer a{color:var(--muted)}
