:root{--ink:#26221e;--dark:#272a25;--cream:#f2eee6;--paper:#faf8f3;--clay:#c97d55;--tan:#d7c2a4;--muted:#6f6b63;--line:rgba(38,34,30,.17);--sans:"DM Sans",sans-serif;--display:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}body.open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:fixed;top:-5rem;left:1rem;background:white;padding:10px;z-index:99}.skip:focus{top:1rem}header{position:absolute;z-index:10;height:90px;left:0;right:0;top:0;color:#fff;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #ffffff38}.logo{display:flex;align-items:center;gap:12px;font-size:9px;line-height:1.2;letter-spacing:.18em}.logo b{font-size:15px;letter-spacing:.12em}.logo-mark{height:40px;width:40px;border:1px solid;display:grid;place-items:center;font-size:10px;letter-spacing:0}header nav{display:flex;gap:32px;margin-left:auto;margin-right:36px;font-size:12px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 22px;text-transform:uppercase;letter-spacing:.13em;font:600 10px var(--sans);border:1px solid transparent;cursor:pointer}.btn-small{padding:11px 15px}.btn-light{background:#fff;color:var(--ink)}.btn-clay{background:var(--clay);color:#fff}.btn-outline{border-color:currentColor}.menu,.mobile-nav{display:none}.hero{height:min(900px,100svh);min-height:690px;position:relative;color:white}.hero>img{height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#171510db 0%,#17151085 42%,#17151022 72%),linear-gradient(0deg,#171510b8,transparent 34%)}.hero-copy{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600;margin:0 0 24px}.eyebrow:before{content:"";display:inline-block;vertical-align:middle;width:34px;height:1px;background:currentColor;margin-right:13px}.pale{color:#ffffffa8}h1,h2{font:400 clamp(50px,6vw,88px)/.98 var(--display);letter-spacing:-.055em;margin:0}h1{max-width:820px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400}.hero-copy>p:not(.eyebrow){font-size:18px;color:#ffffffcf;max-width:520px;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:32px}.underlink{display:inline-block;padding-bottom:4px;border-bottom:1px solid;font-size:12px}.underlink.dark{margin-top:25px}.hero-foot{position:absolute;bottom:0;right:max(24px,calc((100vw - 1180px)/2));display:flex;text-transform:uppercase;font-size:9px;letter-spacing:.13em}.hero-foot span{padding:22px 25px;border-left:1px solid #ffffff45}.manifesto{padding:130px 0;display:grid;grid-template-columns:1fr 1fr;gap:10%}.manifesto h2,.title-row h2,.fit h2{font-size:clamp(44px,5vw,70px)}.manifesto>div:last-child{padding-top:50px;max-width:510px}.manifesto .lead{font-size:20px;line-height:1.7}.manifesto p:not(.lead){color:var(--muted)}.services{background:var(--cream);padding:110px 0 125px}.title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.title-row>p{width:330px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line);border-top:1px solid var(--line)}.cards article{min-height:450px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.cards .dark-card{background:var(--dark);color:white}.num{position:absolute;top:22px;left:25px;font-size:10px}.cards article>div:last-child{width:100%;position:relative;z-index:1}.cards small{text-transform:uppercase;letter-spacing:.15em;font-size:9px;opacity:.6}.cards h3{font:400 38px var(--display);letter-spacing:-.04em;margin:8px 0}.cards p{color:var(--muted);max-width:410px}.dark-card p{color:#ffffff8c}.cards a{display:flex;justify-content:space-between;border-top:1px solid;padding-top:12px;margin-top:25px;text-transform:uppercase;font-size:9px;letter-spacing:.13em}.sketch{position:absolute;right:-5%;top:8%;width:70%;height:55%;opacity:.12;background:repeating-linear-gradient(90deg,transparent 0 35px,currentColor 36px 37px),repeating-linear-gradient(0deg,transparent 0 35px,currentColor 36px 37px);transform:perspective(350px) rotateY(-12deg)}.reference{padding:120px 0}.reference-box{background:var(--tan);min-height:550px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.pinboard{margin:45px;background:#5e4b3d;position:relative;min-height:440px;transform:rotate(-1deg);box-shadow:0 16px 35px #32251d33}.note{position:absolute;left:10%;top:11%;background:#e9e0d2;width:45%;aspect-ratio:1;padding:32px;font:500 22px/1.3 var(--display);transform:rotate(-4deg)}.swatch{position:absolute;right:9%;top:18%;width:30%;height:47%;background:linear-gradient(#b27f58 0 33%,#8a947d 33% 66%,#d4c8b3 66%);transform:rotate(4deg)}.drawing{position:absolute;left:20%;bottom:6%;color:white;font-size:100px}.reference-copy{padding:70px 55px;align-self:center}.reference-copy h2{font-size:clamp(45px,4.6vw,65px)}.reference-copy p:not(.eyebrow){max-width:470px;margin:25px 0}.tape{position:absolute;background:#e9dfc6a8;width:100px;height:25px;z-index:2}.tape-one{left:3%;top:5%;transform:rotate(-28deg)}.tape-two{left:42%;bottom:3%;transform:rotate(12deg)}.process{background:var(--dark);color:white;padding:115px 0}.process-head{display:flex;justify-content:space-between;margin-bottom:70px}.process h2{font-size:clamp(48px,5vw,70px)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.steps article{border-top:1px solid #ffffff3d;padding-top:17px}.steps span{font-size:10px;color:var(--clay)}.steps h3{font:500 18px var(--display);margin:35px 0 10px}.steps p{font-size:13px;color:#ffffff8c}.process blockquote{font:italic clamp(27px,3.3vw,46px)/1.4 Georgia,serif;border-left:1px solid var(--clay);margin:90px 0 0;padding-left:45px;max-width:890px}.fit{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:120px 0}.fit-list p{display:grid;grid-template-columns:42px 1fr;border-top:1px solid var(--line);margin:0;padding:24px 0;font-size:17px}.fit-list span{font-size:10px;color:var(--clay)}.consult{background:#e1d8c9;padding:120px 0}.consult-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.consult-intro h2{font-size:clamp(47px,5vw,68px)}.consult-intro>p:not(.eyebrow){max-width:400px}.promise{margin-top:50px;border-top:1px solid var(--line);display:grid;gap:10px;padding-top:20px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.promise span:before{content:"✓";color:#5d724f;margin-right:9px}form{background:var(--paper);padding:38px}fieldset{border:0;padding:0;margin:0 0 25px}legend,form label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:600}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.choices input{position:absolute;opacity:0}.choices span{display:block;padding:11px 7px;border:1px solid var(--line);text-align:center;cursor:pointer}.choices input:checked+span{background:var(--dark);color:white}.form-row{display:grid;gap:12px;margin-bottom:15px}.form-row.two{grid-template-columns:1fr 1fr}.form-row.three{grid-template-columns:1fr 1fr 1fr}form label{display:grid;gap:6px}input,select,textarea{border:0;border-bottom:1px solid #aaa79e;background:transparent;padding:10px 2px;font:14px var(--sans);color:var(--ink);outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 1px var(--ink)}textarea{resize:vertical}.upload{margin-top:16px}.upload input{position:absolute;opacity:0;width:1px}.upload-box{border:1px dashed #aaa79e;padding:14px;text-align:center;font-weight:400;cursor:pointer}.check{display:flex!important;grid-template-columns:18px 1fr;align-items:start;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;margin:18px 0}.check input{margin-top:3px}.submit{width:100%}.fine{text-align:center;color:var(--muted);font-size:10px}.status{display:none;padding:14px;margin-bottom:20px;font-size:13px}.status.ok{display:block;background:#dae4d2}.status.bad{display:block;background:#efd7ce}.direct{background:var(--clay);color:white;padding:28px}.direct .wrap{display:flex;justify-content:center;gap:38px;align-items:center}.direct p{font:italic 22px Georgia,serif;margin:0}.direct a{font-size:10px;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid}footer{background:#1c1b19;color:white;padding-top:70px}.footer-top{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8%;padding-bottom:65px}.footer-top>p{color:#ffffff78;font-size:13px;margin:0}.footer-top>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.footer-bottom{border-top:1px solid #ffffff24;padding:20px 0;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.12em;color:#ffffff72;font-size:8px}
@media(max-width:800px){.wrap{width:min(100% - 32px,640px)}header{height:74px;padding:0 18px}header nav,header>.btn{display:none}.menu{display:flex;margin-left:auto;background:none;border:0;width:40px;height:40px;flex-direction:column;justify-content:center;gap:6px}.menu i{height:1px;width:100%;background:white}.mobile-nav{position:fixed;z-index:9;inset:74px 0 auto;background:var(--dark);color:white;padding:25px;flex-direction:column;gap:20px}.open .mobile-nav{display:flex}.hero{height:92svh;min-height:680px}.hero>img{object-position:62% center}.hero-copy{top:47%}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-actions{flex-direction:column;align-items:start;gap:20px}.hero-foot{right:0;left:0;justify-content:center}.hero-foot span{padding:14px 9px;font-size:7px}.manifesto,.fit,.consult-grid{grid-template-columns:1fr;padding:85px 0;gap:30px}.manifesto>div:last-child{padding-top:0}.services{padding:80px 0}.title-row,.process-head{display:block}.title-row>p{width:auto}.cards{grid-template-columns:1fr}.cards article{min-height:390px}.reference{padding:75px 0}.reference-box{grid-template-columns:1fr}.pinboard{margin:25px;min-height:360px}.reference-copy{padding:35px 25px 55px}.process{padding:85px 0}.steps{grid-template-columns:1fr}.steps h3{margin:12px 0 5px}.process blockquote{padding-left:22px;margin-top:65px}.fit-list p{font-size:15px}.consult{padding:0}.consult-grid{width:100%}.consult-intro{padding:75px 18px 20px}form{padding:28px 18px}.choices{grid-template-columns:1fr 1fr}.form-row.two,.form-row.three{grid-template-columns:1fr}.direct .wrap{flex-direction:column;gap:12px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;align-items:center;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Brand artwork */
.logo{display:flex;align-items:center}
.logo-image{display:block;width:68px;height:68px;object-fit:cover;object-position:center;border-radius:50%;clip-path:circle(47% at 50% 50%);transform:scale(1.06);box-shadow:0 3px 14px #00000024}
.footer-logo-image{width:96px;height:96px}
.floating-wa{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:9px;background:#25d366;color:#fff;padding:12px 16px 12px 12px;border-radius:999px;box-shadow:0 8px 28px #14251b42;font-size:11px;font-weight:600;letter-spacing:.03em;transition:transform .2s,box-shadow .2s}.floating-wa:hover{transform:translateY(-3px);box-shadow:0 12px 32px #14251b59}.floating-wa svg{width:27px;height:27px;flex:none}@media(max-width:800px){.floating-wa{right:16px;bottom:16px;width:56px;height:56px;padding:0;justify-content:center}.floating-wa span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.floating-wa svg{width:31px;height:31px}}

/* Two-second workshop-stamp welcome */
header .logo-image{transform-origin:50% 62%;animation:maker-welcome 2s cubic-bezier(.22,.75,.25,1) both}
header .logo:hover .logo-image{animation:maker-welcome 2s cubic-bezier(.22,.75,.25,1) both}
@keyframes maker-welcome{0%{transform:scale(.82) rotate(-18deg);filter:brightness(.8);opacity:0}24%{transform:scale(1.07) rotate(7deg);filter:brightness(1.08);opacity:1}43%{transform:scale(1) rotate(-5deg)}61%{transform:scale(1.025) rotate(3deg)}78%{transform:scale(1) rotate(-1.5deg)}100%{transform:scale(1.06) rotate(0);filter:brightness(1);opacity:1}}
@media(prefers-reduced-motion:reduce){header .logo-image,header .logo:hover .logo-image{animation:none;transform:scale(1.06)}}
.image-note{margin:18px 0;padding:14px 16px;border-left:2px solid var(--clay);background:#f2eee6;color:var(--muted);font-size:12px;line-height:1.6}.image-note strong{display:block;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.09em}

/* Animate only the bearded mark; keep the wordmark steady. */
header .logo-frame{position:relative;display:block;width:68px;height:68px;overflow:hidden;border-radius:50%;clip-path:circle(47% at 50% 50%);transform:scale(1.06)}
header .logo-image,header .logo:hover .logo-image{width:68px;height:68px;clip-path:none;border-radius:0;transform:none;animation:none}
header .logo-head{position:absolute;z-index:2;left:6px;top:19px;width:27px;height:31px;background:url("assets/rustic-innovations-logo.jpg") -6px -19px/68px 68px no-repeat;transform-origin:50% 72%;animation:head-welcome 3s cubic-bezier(.2,.75,.25,1) both}
header .logo:hover .logo-head{animation:head-welcome 3s cubic-bezier(.2,.75,.25,1) both}
@keyframes head-welcome{0%{transform:rotate(0)}18%{transform:rotate(-10deg) translateY(-1px)}34%{transform:rotate(8deg) translateY(1px)}50%{transform:rotate(-6deg) translateY(2px)}65%{transform:rotate(4deg) translateY(0)}80%{transform:rotate(-2deg) translateY(1px)}100%{transform:rotate(0) translateY(0)}}
@media(prefers-reduced-motion:reduce){header .logo-head,header .logo:hover .logo-head{animation:none}}

/* Wheel-centre welcome: three half-turns, then a weighted stop. */
header .logo-image{clip-path:circle(47% at 50% 50%);border-radius:50%;transform-origin:center;animation:wheel-stop 3s cubic-bezier(.12,.72,.18,1) both}
header .logo:hover .logo-image{animation:wheel-stop-hover 3s cubic-bezier(.12,.72,.18,1) both}
@keyframes wheel-stop{0%{transform:scale(.9) rotate(-540deg);opacity:.45}70%{transform:scale(1.06) rotate(12deg);opacity:1}84%{transform:scale(1.06) rotate(-5deg)}93%{transform:scale(1.06) rotate(2deg)}100%{transform:scale(1.06) rotate(0)}}
@keyframes wheel-stop-hover{0%{transform:scale(1.06) rotate(-540deg)}70%{transform:scale(1.06) rotate(12deg)}84%{transform:scale(1.06) rotate(-5deg)}93%{transform:scale(1.06) rotate(2deg)}100%{transform:scale(1.06) rotate(0)}}
@media(prefers-reduced-motion:reduce){header .logo-image,header .logo:hover .logo-image{animation:none;transform:scale(1.06)}}
