
:root{--ink:#29231f;--paper:#fff7e8;--cream:#fffdf7;--coral:#ff6b58;--blue:#5367df;--lime:#cce978;--yellow:#ffd76a;--pink:#f7bfd5;--mint:#bde6d0;--lavender:#cfc8f5;--line:rgba(41,35,31,.16)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.announcement{background:var(--blue);color:white;text-align:center;padding:9px 16px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;border-bottom:1px solid var(--line);background:rgba(244,240,232,.94);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}
.brand{display:flex;gap:12px;align-items:center;font-size:12px;line-height:1.05;text-transform:uppercase;letter-spacing:.1em}
.brand-mark{display:grid;place-items:center;background:var(--coral);color:white;width:48px;height:48px;border-radius:50% 44% 52% 42%;font-size:15px;font-weight:900;transform:rotate(-4deg)}
.nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}
.nav>a:not(.nav-cta){border-bottom:1px solid transparent;padding:10px 0}
.nav>a:hover{border-color:currentColor}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:999px;padding:15px 23px;border:1.5px solid var(--ink);font-weight:800;font-size:13px;transition:.2s ease}
.nav-cta{background:var(--ink);color:white}
.nav-cta:hover,.button:hover{transform:translateY(-2px);box-shadow:4px 5px 0 var(--ink)}
.menu-button{display:none;background:none;border:0;width:40px}
.menu-button span{display:block;height:2px;background:var(--ink);margin:6px}
.hero{min-height:680px;display:grid;grid-template-columns:47% 53%;border-bottom:1px solid var(--line)}
.hero-copy{padding:8vw 5vw 5vw;background:radial-gradient(circle at 8% 8%,#f7bfd577 0 70px,transparent 72px),var(--paper)}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:11px;margin:0 0 22px;display:flex;gap:10px;align-items:center}
.eyebrow:before{content:"";width:26px;height:3px;background:var(--coral)}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;margin:0;line-height:.91}
h1{font-size:clamp(58px,6.4vw,102px)}
h2{font-size:clamp(48px,5.2vw,80px)}
h1 em,h2 em{color:var(--coral);font-weight:400}
.hero-lead{font-size:17px;line-height:1.7;max-width:550px;margin:30px 0;color:#49463f}
.hero-actions{display:flex;align-items:center;gap:30px;margin:30px 0 50px}
.button.primary{background:var(--coral);color:white;border-color:var(--coral)}
.text-link{font-weight:800;font-size:13px;border-bottom:1px solid;padding:8px 0}
.hero-proof{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:22px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.hero-proof span{display:flex;flex-direction:column;gap:3px}
.hero-proof b{font-size:16px;text-transform:none;letter-spacing:0}
.hero-visual{position:relative;min-height:680px;background:#d8caba url('/hero-rug.webp') center/cover no-repeat;overflow:hidden}
.hero-sticker{position:absolute;right:7%;top:8%;background:var(--lime);width:126px;height:126px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:12px;text-transform:uppercase;transform:rotate(8deg);box-shadow:0 8px 30px #0003}
.texture-note{position:absolute;bottom:7%;left:6%;background:var(--cream);padding:13px 18px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:10px}
.texture-note span{width:18px;height:18px;border-radius:50%;background:repeating-radial-gradient(circle,var(--coral) 0 1px,var(--yellow) 2px 3px)}
.marquee{overflow:hidden;background:var(--yellow);color:var(--ink);padding:17px 0;white-space:nowrap;font-weight:900;font-size:13px;letter-spacing:.12em;border-block:1px solid var(--ink)}
.marquee div{word-spacing:14px;text-align:center}
.marquee i{color:var(--coral);font-style:normal}
.workshop-intro{position:relative;overflow:hidden;padding:9vw 15vw;text-align:center;background:var(--pink)}
.workshop-intro .eyebrow{justify-content:center}.workshop-intro h2{font-size:clamp(44px,5vw,76px);position:relative;z-index:2}.workshop-intro h2 em{color:var(--blue)}
.workshop-intro>p:not(.eyebrow){max-width:720px;margin:28px auto;line-height:1.8;font-size:17px;position:relative;z-index:2}.workshop-intro .text-link{display:inline-block;position:relative;z-index:2}
.wool-shape{position:absolute;width:150px;height:150px;border-radius:52% 48% 43% 57%;display:grid;place-items:center;font:italic 20px Georgia;box-shadow:8px 9px 0 var(--ink);border:1px solid var(--ink)}
.wool-a{background:var(--mint);left:5%;top:14%;transform:rotate(-12deg)}.wool-b{background:var(--yellow);right:4%;bottom:10%;transform:rotate(10deg)}
.section{padding:9vw 5vw}.inspirations{background:var(--cream)}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:60px}
.section-heading>p{line-height:1.8;color:#57534b;max-width:500px}
.gallery-feature{display:grid;grid-template-columns:1.35fr .65fr;background:var(--lavender);border:1px solid var(--ink);margin-bottom:20px;border-radius:34px;overflow:hidden;box-shadow:10px 12px 0 var(--ink)}
.gallery-feature img{width:100%;height:600px;object-fit:cover}
.gallery-feature>div{padding:45px;align-self:end}
.gallery-feature span{font:italic 16px Georgia}
.gallery-feature h3{font:400 36px Georgia;margin:20px 0 12px}
.gallery-feature p{line-height:1.7;color:#625d54}
.idea-tags{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 35px}
.idea-tags span{border:1px solid var(--ink);border-radius:999px;padding:10px 15px;font-size:11px;font-weight:800;text-transform:uppercase}.idea-tags span:nth-child(1){background:var(--yellow)}.idea-tags span:nth-child(2){background:var(--mint)}.idea-tags span:nth-child(3){background:var(--pink)}.idea-tags span:nth-child(4){background:var(--lavender)}
.button.dark{background:var(--ink);color:white}
.process{display:grid;grid-template-columns:1fr 1fr;background:var(--blue);color:white;border-block:14px solid var(--mint)}
.process-image{min-height:800px;background:#bf806b url('/process-tufting.webp') center/cover no-repeat;position:relative}
.process-label{position:absolute;left:7%;bottom:7%;background:var(--lime);color:var(--ink);width:150px;height:150px;border-radius:45% 55% 48% 52%;display:grid;place-content:center;text-align:center;text-transform:uppercase;font-size:12px;transform:rotate(-7deg)}
.process-copy{padding:8vw 6vw}
.process-copy h2 em{color:var(--lime)}
.process-copy ol{padding:35px 0 0;margin:0;list-style:none}
.process-copy li{display:grid;grid-template-columns:55px 1fr;gap:15px;border-top:1px solid #ffffff4d;padding:22px 0}
.process-copy li>span{font:italic 16px Georgia;color:var(--lime)}
.process-copy h3{margin:0 0 7px;font-size:17px}
.process-copy li p{margin:0;line-height:1.6;color:#ffffffb8;font-size:14px}
.section-heading.compact{margin-bottom:45px}
.price-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}
.price-table{border-top:2px solid var(--ink)}
.price-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:24px 5px;border-bottom:1px solid var(--line);align-items:center}
.price-row span:first-child{font:italic 22px Georgia}
.price-row span:nth-child(2){font-size:13px;color:#656056}
.price-row strong{text-align:right}
.price-table small{display:block;margin-top:18px;line-height:1.5;color:#6b665d}
.pricing{background:linear-gradient(135deg,var(--paper),#dff1e6)}.estimate-card{background:var(--yellow);padding:40px;position:relative;box-shadow:10px 12px 0 var(--ink);border-radius:28px;border:1px solid var(--ink)}
.scribble{font:italic 19px Georgia;position:absolute;right:25px;top:15px;transform:rotate(6deg)}
.estimate-card label{display:block;font-weight:800;font-size:12px;margin:22px 0 8px}
.estimate-card select,.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:0;border-bottom:1.5px solid var(--ink);background:#ffffff8c;padding:15px 12px;outline:none}
.estimate-result{margin:28px 0;background:var(--cream);padding:20px;display:flex;justify-content:space-between;align-items:center}
.estimate-result span{font-size:11px;text-transform:uppercase}
.estimate-result strong{font-size:18px}
.button.full{width:100%}
.quote{display:grid;grid-template-columns:1fr 1fr;background:var(--coral);color:white;padding:8vw 7vw;gap:10vw}
.quote h2 em{color:var(--lime)}
.quote-copy>p:not(.eyebrow){line-height:1.8;max-width:530px}
.quote-note{display:inline-block;border:1px solid #ffffff99;border-radius:999px;padding:10px 16px;margin-top:20px;font-size:12px}
.quote-form{background:var(--cream);color:var(--ink);padding:38px;box-shadow:10px 12px 0 var(--ink);border-radius:30px;border:1px solid var(--ink)}
.quote-form label{display:block;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;margin-bottom:17px}
.quote-form input,.quote-form select,.quote-form textarea{margin-top:7px;background:transparent}
.button.light{background:var(--lime);color:var(--ink);border-color:var(--ink)}
.quote-form small{display:block;text-align:center;margin-top:12px;color:#716b61;line-height:1.5}
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw;background:var(--yellow)}
.faq-list{border-top:1px solid var(--ink)}
details{border-bottom:1px solid var(--line);padding:21px 0}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-weight:800}
summary::-webkit-details-marker{display:none}
summary span{font-size:20px}
details[open] summary span{transform:rotate(45deg)}
details p{max-width:700px;color:#5c574e;line-height:1.7;font-size:14px}
footer{background:var(--ink);color:white;padding:7vw 5vw 25px}
.footer-brand{display:flex;align-items:center;gap:25px}
.footer-brand h2{font-size:clamp(45px,6vw,86px)}
.footer-brand em{color:var(--lime)}
.footer-links{display:flex;justify-content:flex-end;gap:80px;margin:50px 0}
.footer-links div{display:flex;flex-direction:column;gap:12px;font-size:13px}
.footer-links b{color:var(--lime);text-transform:uppercase;font-size:10px;letter-spacing:.14em;margin-bottom:8px}
.footer-bottom{border-top:1px solid #ffffff33;padding-top:22px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#ffffff8c}

@media(max-width:900px){.header{height:72px;padding:0 20px}
.brand-mark{width:41px;height:41px}
.menu-button{display:block;z-index:32}
.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--ink)}
.nav.open{display:flex}
.nav-cta{text-align:center}
.hero{grid-template-columns:1fr}
.hero-copy{padding:70px 23px 45px}
.hero-visual{min-height:500px}
.hero-proof{gap:15px;justify-content:space-between}
.section{padding:90px 23px}
.section-heading,.section-heading.compact{grid-template-columns:1fr;gap:20px;margin-bottom:38px}
.gallery-feature{grid-template-columns:1fr}
.gallery-feature img{height:430px}
.gallery-feature>div{padding:30px}
.process{grid-template-columns:1fr}
.process-image{min-height:520px}
.process-copy{padding:75px 23px}
.price-layout,.quote,.faq{grid-template-columns:1fr}
.quote{padding:80px 23px;gap:45px}
.quote-form{padding:27px 20px}
.footer-links{justify-content:flex-start}
.marquee div{text-align:left}
.footer-bottom{gap:15px;flex-direction:column}
}
@media(max-width:520px){h1{font-size:55px}
.hero-actions{align-items:flex-start;flex-direction:column}
.hero-visual{min-height:390px}
.hero-sticker{width:100px;height:100px}
.hero-proof{font-size:9px}
.price-row{grid-template-columns:1fr 1fr}
.price-row strong{grid-column:1/-1;text-align:left;margin-top:7px}
.estimate-card{padding:32px 22px}
.footer-brand{align-items:flex-start;flex-direction:column}
.footer-links{gap:50px}
.process-image{min-height:420px}
}

.seo-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.seo-header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:800}
.seo-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}
.seo-hero>div{padding:8vw 6vw;background:radial-gradient(circle at 8% 12%,#bde6d088 0 80px,transparent 82px)}
.seo-hero h1{font-size:clamp(52px,6vw,92px)}
.seo-hero p:not(.eyebrow){font-size:17px;line-height:1.75;color:#514d45;margin:30px 0;max-width:600px}
.seo-hero img{width:100%;height:100%;min-height:650px;object-fit:cover}
.seo-content{padding:9vw 6vw;display:grid;grid-template-columns:1fr .7fr;gap:10vw}
.seo-content article>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#5b564d}
.seo-content ul{list-style:none;padding:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seo-content li{border-top:1px solid var(--line);padding:15px 0;font-size:13px;font-weight:800}
.seo-content aside{background:var(--pink);padding:35px;box-shadow:9px 10px 0 var(--ink);border-radius:30px;border:1px solid var(--ink)}
.seo-content aside>span{font:italic 22px Georgia}
.seo-content aside div{border-top:1px solid #0005;margin-top:20px;padding-top:20px;display:flex;gap:22px;font-weight:800}
.seo-content aside b{color:var(--coral)}
.seo-steps{padding:8vw 6vw;background:var(--blue);color:white}
.seo-steps h2 em{color:var(--lime)}
.seo-steps>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}
.seo-steps article{border-top:1px solid #ffffff66;padding:23px 0}
.seo-steps article>b{color:var(--lime);font:italic 17px Georgia}
.seo-steps h3{font:400 25px Georgia;margin:22px 0 8px}
.seo-steps article p{color:#ffffffb8;line-height:1.6}
.seo-faq{padding:9vw 6vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw}
.related{padding:7vw 6vw;background:var(--mint)}
.related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.related a{background:var(--cream);padding:28px;border:1px solid var(--ink);display:flex;min-height:140px;justify-content:space-between;flex-direction:column;border-radius:24px;box-shadow:5px 6px 0 var(--ink)}
.related a span{font:400 25px Georgia}
.related a b{font-size:11px;text-transform:uppercase}
.seo-cta{padding:8vw 6vw;background:var(--coral);color:white;display:flex;justify-content:space-between;align-items:end;gap:40px}
.seo-cta h2 em{color:var(--lime)}
@media(max-width:900px){
 .workshop-intro{padding:80px 23px}.wool-shape{opacity:.35;width:90px;height:90px;font-size:14px}.wool-a{left:-30px}.wool-b{right:-25px}
 .seo-header{height:72px;padding:0 20px}.seo-header nav>a:not(.nav-cta){display:none}
 .seo-hero,.seo-content,.seo-faq{grid-template-columns:1fr}.seo-hero>div{padding:70px 23px}.seo-hero img{min-height:420px}
 .seo-content,.seo-faq{padding:80px 23px}.seo-steps{padding:80px 23px}.seo-steps>div,.related>div{grid-template-columns:1fr}
 .related{padding:70px 23px}.seo-cta{padding:75px 23px;align-items:flex-start;flex-direction:column}.seo-content ul{grid-template-columns:1fr}
}
