:root{--color-bg: #fcfbf8;--color-bg-alt: #e6e2dd;--color-text: #2c2c2c;--color-text-muted: #5d5d5d;--color-accent: #d4cdc5;--color-white: #ffffff;--font-serif: "Playfair Display", serif;--font-sans: "Lato", sans-serif;--sp-xs: .5rem;--sp-sm: 1rem;--sp-md: 2rem;--sp-lg: 4rem;--sp-xl: 8rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.2}h1{font-size:3.5rem}h2{font-size:2.5rem;margin-bottom:var(--sp-md)}h3{font-size:1.75rem;margin-bottom:var(--sp-sm)}p{margin-bottom:var(--sp-sm);font-size:1.1rem;color:var(--color-text-muted)}a{color:inherit;text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.7}img{max-width:100%;display:block}button{cursor:pointer;border:none;background:none;font-family:var(--font-sans)}.container{max-width:1200px;margin:0 auto;padding:0 var(--sp-md)}.flex{display:flex}.grid{display:grid}.text-center{text-align:center}.section{padding:var(--sp-xl) 0}.btn{display:inline-block;padding:1rem 2rem;background-color:var(--color-text);color:var(--color-white);text-transform:uppercase;letter-spacing:1px;font-size:.9rem;border-radius:2px;transition:all .3s ease}.btn:hover{background-color:var(--color-text-muted);transform:translateY(-2px)}.fade-in{animation:fadeIn 1.5s ease forwards;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.navbar{position:fixed;top:0;left:0;width:100%;padding:1.5rem 0;z-index:1000;transition:all .4s ease;color:var(--color-white)}.navbar{color:var(--color-text);background:#fcfbf8f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:none;box-shadow:0 1px 15px #00000008}.navbar.scrolled{padding:1rem 0;box-shadow:0 2px 20px #0000000d}.navbar-container{display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;text-decoration:none;color:inherit;letter-spacing:-.02em}.nav-links{display:flex;gap:2rem}.nav-links a{font-family:var(--font-sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:inherit;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background-color:currentColor;transition:width .3s ease}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;z-index:1001}.hamburger .bar{width:100%;height:2px;background-color:currentColor;transition:all .3s ease}@media(max-width:768px){.hamburger{display:flex}.nav-links{display:flex;position:fixed;top:0;right:0;height:100vh;width:100%;background-color:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;transform:translate(100%);transition:transform .4s ease-in-out;z-index:999}.nav-links.active{transform:translate(0)}.navbar.menu-open{color:var(--color-text)}.nav-links a{font-size:1.5rem;margin-bottom:2rem;color:var(--color-text)}.menu-open .hamburger .bar:nth-child(1){transform:translateY(9.5px) rotate(45deg)}.menu-open .hamburger .bar:nth-child(2){opacity:0}.menu-open .hamburger .bar:nth-child(3){transform:translateY(-9.5px) rotate(-45deg)}}.brand-logo{display:block;width:174px;height:80px;object-fit:contain}.navbar,.navbar.scrolled{padding:.5rem 0}@media(max-width:768px){.nav-links:not(.active){visibility:hidden}}.hero{position:relative;height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.hero-background img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0003;background:linear-gradient(to bottom,#0006,#0000,#0003)}.hero-content{position:relative;z-index:1;max-width:800px;width:100%;padding:0 1rem;text-shadow:none}.hero-text-box{background:linear-gradient(#fcfbf8ed,#fcfbf8ed),url(/images/optimized/soft-and-fluffy-carpets__detail__carpet-fibre-closeup-640.webp);background-size:cover;background-position:center;padding:4rem 3rem;border-radius:4px;box-shadow:0 20px 60px #00000026;color:var(--color-text);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;max-width:650px;margin:0 auto}@media(max-width:768px){.hero-text-box{padding:2.5rem 1.5rem;width:90%;max-width:100%}.hero-text-box h1{font-size:2.5rem}.hero-sub{font-size:1.2rem;margin-bottom:2rem}.btn-hero{padding:1rem 2rem;width:100%}}.hero-text-box h1{color:var(--color-text);margin-bottom:1rem}.hero-sub{font-size:1.5rem;margin-bottom:2.5rem;font-family:var(--font-serif);font-style:italic;font-weight:300;color:var(--color-text-muted)}.btn-hero{background-color:var(--color-text);color:var(--color-white);padding:1.25rem 3.5rem;font-weight:600;letter-spacing:.1em;border:1px solid var(--color-text)}.btn-hero:hover{background-color:transparent;color:var(--color-text);transform:translateY(-2px)}.intro-section{background-color:var(--color-bg)}.max-w-md{max-width:800px;margin:0 auto}.lead-text{font-size:1.25rem;color:var(--color-text);margin-bottom:1.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.gallery-item{position:relative;overflow:hidden;border-radius:4px}.gallery-item img{width:100%;height:400px;object-fit:cover;transition:transform .7s ease}.gallery-item:hover img{transform:scale(1.05)}.page-header{padding-top:150px;padding-bottom:2rem;text-align:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}@media(max-width:768px){.grid-2{grid-template-columns:1fr;gap:2rem}.grid-2.reverse{display:flex;flex-direction:column-reverse}}.text-block{padding:2rem}.image-block img{width:100%;height:auto;border-radius:4px;box-shadow:0 10px 30px #0000001a}.alt-bg{background-color:var(--color-bg-alt)}.fade-in-page{animation:pageFadeIn .5s ease forwards}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.full-width-image{width:100%;height:60vh;overflow:hidden;margin:2rem 0}.full-width-image.flush-bottom{margin-bottom:0}.full-width-image img{width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width:768px){.full-width-image{height:40vh}}.experience-cta-section{position:relative;width:100%;height:60vh;margin:2rem 0;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}.experience-cta-section.flush-bottom{margin-bottom:0}.cta-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.cta-background img{width:100%;height:100%;object-fit:cover}.cta-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fcfbf8b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cta-content{position:relative;z-index:1}.mb-5{margin-bottom:3rem}.contact-form{background-color:var(--color-white);padding:3rem;border-radius:4px;box-shadow:0 10px 40px #0000000d}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-family:var(--font-sans);color:var(--color-text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea{width:100%;padding:1rem;border:1px solid var(--color-bg-alt);border-radius:2px;font-family:var(--font-sans);font-size:1rem;transition:border-color .3s ease;background-color:#fafafa}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-text);background-color:#fff}.btn-submit{width:100%;cursor:pointer}.success-message{padding:4rem;background-color:var(--color-bg-alt);border-radius:4px}.contact-details{margin-bottom:2rem;overflow-wrap:anywhere}.contact-details a,.form-error a{text-decoration:underline}.form-note{font-size:.9rem}.form-error{color:#8a2820}.btn-submit:disabled{opacity:.6;cursor:wait}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:600px){.contact-form,.success-message{padding:1.5rem}}.maintenance-content{max-width:850px;padding-inline:2rem}.maintenance-page .page-header{max-width:1000px}.maintenance-page .page-header p{margin-top:1.5rem}.maintenance-content h2:not(:first-child),.maintenance-content h3{margin-top:2rem}.maintenance-content .btn{margin-top:1.5rem}@media(max-width:600px){.maintenance-page h1{font-size:2.25rem}.maintenance-page h2{font-size:1.8rem}.maintenance-page .section{padding:3rem 1.5rem}}
