.about-hero{position:relative;min-height:70vh;display:flex;align-items:flex-end;padding-bottom:var(--space-xl);overflow:hidden}.about-hero__bg{position:absolute;inset:0;z-index:0}.about-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.about-hero__bg-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg-base) 0%,rgb(10 10 20 / .85) 30%,rgb(10 10 20 / .5) 60%,rgb(10 10 20 / .3) 100%);z-index:1}.about-hero__content{position:relative;z-index:2;max-width:800px}.about-hero__overline{margin-bottom:var(--space-md)}.about-hero__title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:var(--text-display);font-weight:400;line-height:1.05;color:var(--text-primary);margin-bottom:var(--space-md)}.about-hero__title em{color:var(--lime);font-style:normal}.about-hero__subtitle{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.7;max-width:600px}.about-story{padding:var(--space-3xl) 0;position:relative}.about-story__grid{display:grid;grid-template-columns:55fr 45fr;gap:var(--space-xl);align-items:start}.about-story__content{padding-right:var(--space-lg)}.about-story__content h2{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:var(--text-3xl);font-weight:400;line-height:1.15;color:var(--text-primary);margin:var(--space-sm) 0 var(--space-lg)}.about-story__content h2 em{color:var(--lime);font-style:normal}.about-story__content p{font-size:var(--text-base);color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-md)}.about-story__visual{position:relative}.about-story__image-stack{position:relative;padding-top:var(--space-lg)}.about-story__image{overflow:hidden;border-radius:4px}.about-story__image img{width:100%;height:100%;object-fit:cover;display:block}.about-story__image--primary{width:100%;aspect-ratio:4 / 3;border:1px solid var(--border-subtle)}.about-story__image--secondary{position:absolute;bottom:-3rem;left:-3rem;width:55%;aspect-ratio:3 / 4;border:1px solid var(--border-subtle);box-shadow:0 20px 60px rgb(0 0 0 / .5)}.about-story__badge{position:absolute;top:2rem;right:-1.5rem;width:100px;height:100px;border-radius:50%;background:var(--purple);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 40px rgb(122 79 151 / .4);z-index:2}.about-story__badge-number{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:2rem;color:var(--text-primary);line-height:1}.about-story__badge-number sup{font-size:.5em;vertical-align:super}.about-story__badge-label{font-family:'Inter',sans-serif;font-size:var(--text-xs);color:rgb(255 255 255 / .8);text-transform:uppercase;letter-spacing:.15em}.about-stats{padding:var(--space-xl) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface)}.about-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.about-stats__item{text-align:center;padding:var(--space-md);position:relative}.about-stats__item:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:var(--border-subtle)}.about-stats__number{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:var(--text-4xl);color:var(--lime);line-height:1;margin-bottom:var(--space-xs)}.about-stats__label{font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2xs)}.about-stats__detail{font-family:'Inter',sans-serif;font-size:var(--text-xs);color:var(--text-muted)}.about-innovation{padding:var(--space-3xl) 0}.about-innovation__header{text-align:center;max-width:700px;margin:0 auto var(--space-xl)}.about-innovation__header h2{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:var(--text-3xl);font-weight:400;line-height:1.15;color:var(--text-primary);margin-top:var(--space-sm)}.about-innovation__header h2 em{color:var(--lime);font-style:normal}.about-innovation__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.about-innovation__card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:var(--space-lg) var(--space-md);transition:border-color 0.4s ease,transform 0.4s ease}.about-innovation__card:hover{border-color:var(--border-accent);transform:translateY(-4px)}.about-innovation__card--featured{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;gap:var(--space-md);align-items:center;background:linear-gradient(135deg,var(--bg-elevated) 0%,rgb(122 79 151 / .08) 100%);border-color:var(--border-accent);padding:var(--space-lg)}.about-innovation__card--featured .about-innovation__card-icon{width:80px;height:80px;margin-bottom:0}.about-innovation__card-icon{width:48px;height:48px;margin-bottom:var(--space-md);color:var(--purple-light)}.about-innovation__card h3{font-family:'Inter',sans-serif;font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.about-innovation__card p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}.about-morph{padding:var(--space-2xl) 0;background:var(--bg-surface)}.about-morph__intro{text-align:center;max-width:600px;margin:0 auto var(--space-xl)}.about-morph__intro h2{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:var(--text-3xl);font-weight:400;line-height:1.15;color:var(--text-primary);margin-top:var(--space-sm)}.about-quote{padding:var(--space-3xl) 0;position:relative}.about-quote::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgb(122 79 151 / .06) 0%,transparent 70%);pointer-events:none}.about-quote__inner{position:relative;text-align:center;padding:var(--space-xl) var(--space-lg)}.about-quote__mark{margin-bottom:var(--space-md)}.about-quote__text{margin:0}.about-quote__text p{font-family:'Inter',sans-serif;font-size:var(--text-lg);color:var(--text-secondary);line-height:1.9;font-style:italic;font-weight:300;max-width:750px;margin:0 auto}.about-quote__attribution{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.about-quote__attribution img{border-radius:50%;border:2px solid var(--purple)}.about-quote__attribution div{text-align:left}.about-quote__attribution strong{display:block;font-size:var(--text-base);color:var(--text-primary)}.about-quote__attribution span{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.about-area{padding:var(--space-3xl) 0;background:var(--bg-surface)}.about-area__grid{display:grid;grid-template-columns:40fr 60fr;gap:var(--space-xl);align-items:center}.about-area__content h2{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:var(--text-3xl);font-weight:400;line-height:1.15;color:var(--text-primary);margin:var(--space-sm) 0 var(--space-md)}.about-area__content h2 em{color:var(--lime);font-style:normal}.about-area__content p{font-size:var(--text-base);color:var(--text-secondary);line-height:1.8}.about-area__visual{display:flex;justify-content:center}.about-area__radius{position:relative;width:440px;height:440px}.about-area__radius-ring{position:absolute;border-radius:50%;border:1px solid var(--border-subtle)}.about-area__radius-ring--outer{inset:0;border-color:rgb(122 79 151 / .15);animation:pulseRing 6s ease-in-out infinite}.about-area__radius-ring--mid{inset:60px;border-color:rgb(122 79 151 / .25);border-style:dashed;animation:pulseRing 6s ease-in-out 1s infinite}.about-area__radius-ring--inner{inset:130px;border-color:rgb(186 211 0 / .3);animation:pulseRing 6s ease-in-out 2s infinite}@keyframes pulseRing{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.about-area__radius-centre{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2}.about-area__radius-label{display:block;font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap}.about-area__radius-sub{display:block;font-size:var(--text-xs);color:var(--lime);text-transform:uppercase;letter-spacing:.2em;margin-top:2px}.about-area__town{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:2}.about-area__town-dot{width:8px;height:8px;border-radius:50%;background:var(--purple);box-shadow:0 0 12px rgb(122 79 151 / .5)}.about-area__town-name{font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:600;color:var(--text-primary);white-space:nowrap}.about-area__town-dir{font-size:.65rem;color:var(--text-muted);white-space:nowrap}.about-area__town--south{bottom:-10px;left:50%;transform:translateX(-50%)}.about-area__town--north{top:-10px;left:50%;transform:translateX(-50%)}.about-area__town--west{left:-20px;top:50%;transform:translateY(-50%)}.about-area__town--northwest{top:30px;left:20px}.about-location{padding:var(--space-3xl) 0}.about-location__grid{display:grid;grid-template-columns:55fr 45fr;gap:var(--space-xl);align-items:start}.about-location__info h2{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:var(--text-3xl);font-weight:400;line-height:1.15;color:var(--text-primary);margin:var(--space-sm) 0 var(--space-md)}.about-location__info h2 em{color:var(--lime);font-style:normal}.about-location__address{font-family:'Inter',sans-serif;font-size:var(--text-base);color:var(--text-secondary);line-height:1.8;font-style:normal;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle)}.about-location__hours h3{font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-sm)}.about-location__hours ul{list-style:none;padding:0;margin:0 0 var(--space-lg)}.about-location__hours li{display:flex;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-secondary)}.about-location__hours li span:last-child{color:var(--text-primary);font-weight:500}.about-location__contact{display:flex;gap:var(--space-sm);flex-wrap:wrap}.about-location__card{padding:var(--space-lg);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md)}.about-location__card-logo img{border-radius:50%;border:2px solid var(--purple);box-shadow:0 8px 30px rgb(122 79 151 / .3)}.about-location__card-details strong{display:block;font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-xs)}.about-location__card-details p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-xs)}.about-location__card-details a{color:var(--lime);text-decoration:none;transition:color 0.3s ease}.about-location__card-details a:hover{color:var(--lime-light)}.about-location__card-badge{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:center}.about-location__card-badge span{font-size:var(--text-xs);color:var(--purple-light);background:rgb(122 79 151 / .12);border:1px solid rgb(122 79 151 / .25);padding:4px 12px;border-radius:100px;text-transform:uppercase;letter-spacing:.08em}@media (max-width:1024px){.about-story__grid{grid-template-columns:1fr;gap:var(--space-lg)}.about-story__content{padding-right:0}.about-story__image--secondary{position:relative;bottom:auto;left:auto;width:70%;margin-top:calc(-1 * var(--space-xl));margin-left:auto}.about-stats__grid{grid-template-columns:repeat(2,1fr)}.about-stats__item:nth-child(2)::after{display:none}.about-innovation__grid{grid-template-columns:1fr 1fr}.about-innovation__card--featured{grid-column:1 / -1}.about-area__grid{grid-template-columns:1fr;gap:var(--space-lg)}.about-area__radius{width:360px;height:360px}.about-area__radius-ring--mid{inset:50px}.about-area__radius-ring--inner{inset:110px}.about-location__grid{grid-template-columns:1fr;gap:var(--space-lg)}}@media (max-width:768px){.about-hero{min-height:55vh;padding-bottom:var(--space-lg)}.about-hero__title{font-size:var(--text-4xl)}.about-stats__grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.about-stats__item::after{display:none}.about-stats__number{font-size:var(--text-3xl)}.about-innovation__grid{grid-template-columns:1fr}.about-innovation__card--featured{grid-template-columns:1fr;text-align:center}.about-innovation__card--featured .about-innovation__card-icon{margin:0 auto var(--space-sm)}.about-quote__inner{padding:var(--space-md) var(--space-sm)}.about-quote__text p{font-size:var(--text-base)}.about-area__radius{width:300px;height:300px}.about-area__radius-ring--mid{inset:40px}.about-area__radius-ring--inner{inset:90px}.about-area__town-name{font-size:.65rem}.about-area__town-dir{font-size:.55rem}.about-location__contact{flex-direction:column}}@media (max-width:375px){.about-hero{min-height:50vh}.about-stats__grid{grid-template-columns:1fr 1fr;gap:var(--space-sm)}.about-stats__item{padding:var(--space-sm)}.about-area__radius{width:260px;height:260px}}.bde-code-block>main{width:100%;align-self:stretch}.products-hero{position:relative;min-height:60vh;display:flex;align-items:flex-end;padding:0 0 clamp(3rem, 6vw, 6rem);overflow:hidden}.products-hero__bg{position:absolute;inset:0;z-index:0}.products-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.35;filter:saturate(.7)}.products-hero__bg-overlay{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg-base) 0%,rgb(10 10 20 / .4) 40%,var(--bg-base) 100%);z-index:1}.products-hero__content{position:relative;z-index:2;max-width:800px}.products-hero__overline{display:inline-block;font-family:'Inter',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--lime);margin-bottom:1.25rem}.products-hero__title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(2.8rem, 6vw, 5rem);font-weight:400;line-height:1.1;color:var(--text-primary);margin:0 0 1.25rem}.products-hero__subtitle{font-family:'Inter',sans-serif;font-size:clamp(1rem, 1.5vw, 1.15rem);line-height:1.7;color:var(--text-secondary);max-width:640px}.product-nav{position:sticky;top:96px;z-index:400;background:rgb(10 10 20 / .88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle);padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}@media (max-width:767px){.product-nav{top:76px}}.product-nav::-webkit-scrollbar{display:none}.product-nav__inner{display:flex;gap:0;max-width:1280px;margin:0 auto;padding:0 clamp(1rem, 3vw, 2rem)}.product-nav__link{flex-shrink:0;padding:.9rem 1.1rem;font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid #fff0;transition:color 0.3s,border-color 0.3s}.product-nav__link:hover,.product-nav__link.is-active{color:var(--lime);border-bottom-color:var(--lime)}.product-section{padding:clamp(4rem, 8vw, 8rem) 0;position:relative;overflow:hidden}.product-section+.product-section{border-top:1px solid var(--border-subtle)}.product-section__inner{display:grid;gap:clamp(2rem, 4vw, 4rem);align-items:start;position:relative}.product-section__inner::after{content:'';position:absolute;width:120px;height:120px;border-radius:50%;border:1.5px solid rgb(122 79 151 / .1);box-shadow:0 0 25px rgb(122 79 151 / .05);pointer-events:none;z-index:0;top:40px;right:-30px}.product-section:nth-child(even) .product-section__inner::after{top:auto;bottom:30px;right:auto;left:-25px;width:90px;height:90px;border-color:rgb(1 45 110 / .12);box-shadow:0 0 20px rgb(1 45 110 / .05)}.product-section__inner--7-5{grid-template-columns:7fr 5fr}.product-section__inner--5-7{grid-template-columns:5fr 7fr}.product-section__inner--8-4{grid-template-columns:8fr 4fr}.product-section__inner--4-8{grid-template-columns:4fr 8fr}.product-section__overline{display:inline-block;font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--purple-light);margin-bottom:.75rem}.product-section__line{width:40px;height:2px;background:var(--purple);border-radius:2px;margin-bottom:1.5rem}.product-section__title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(2rem, 4vw, 3.2rem);font-weight:400;line-height:1.15;color:var(--text-primary);margin:0 0 1.5rem}.product-section__body{font-family:'Inter',sans-serif;font-size:.95rem;line-height:1.8;color:var(--text-secondary)}.product-section__body p+p{margin-top:1.2rem}.product-section__body strong{color:var(--text-primary);font-weight:600}.glass-product-panel{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / .06);border-radius:16px;padding:clamp(1.5rem, 3vw, 2.5rem);position:relative;overflow:hidden;box-shadow:0 8px 32px rgb(0 0 0 / .3),inset 0 1px 0 rgb(255 255 255 / .08)}.glass-product-panel::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgb(255 255 255 / .18) 0%,rgb(255 255 255 / .06) 35%,transparent 60%,rgb(122 79 151 / .12) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}.glass-product-panel::after{content:'';position:absolute;inset:0;border-radius:16px;background:radial-gradient(ellipse at 30% 0%,rgb(122 79 151 / .08) 0%,transparent 60%);pointer-events:none}.product-section__image{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4 / 3;background:var(--bg-surface)}.product-section__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s cubic-bezier(.25,0,.15,1)}.product-section__image:hover img{transform:scale(1.04)}.product-section__image--tall{aspect-ratio:3 / 4}.product-section__image--wide{aspect-ratio:16 / 9}.product-section__placeholder{display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;font-family:'Inter',sans-serif;font-size:.8rem;color:var(--text-muted);letter-spacing:.05em;background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-elevated) 100%);border:1px dashed rgb(255 255 255 / .08);border-radius:12px}.product-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.product-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;font-family:'Inter',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.04em;color:var(--lime);background:rgb(186 211 0 / .08);border:1px solid rgb(186 211 0 / .15);border-radius:100px;white-space:nowrap}.product-tag--purple{color:var(--purple-light);background:rgb(122 79 151 / .1);border-color:rgb(122 79 151 / .2)}.product-tag--green{color:var(--green-light);background:rgb(38 181 57 / .08);border-color:rgb(38 181 57 / .15)}.shower-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}.shower-tier{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgb(255 255 255 / .06);border-radius:14px;padding:1.75rem;position:relative;transition:border-color 0.4s,transform 0.4s}.shower-tier:hover{border-color:rgb(255 255 255 / .12);transform:translateY(-4px)}.shower-tier--premium{border-color:rgb(186 211 0 / .2)}.shower-tier--premium::before{content:'Premium';position:absolute;top:-.6rem;right:1.25rem;padding:.2rem .6rem;font-family:'Inter',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--bg-base);background:var(--lime);border-radius:100px}.shower-tier__name{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:1.35rem;color:var(--text-primary);margin:0 0 .75rem}.shower-tier__desc{font-family:'Inter',sans-serif;font-size:.85rem;line-height:1.7;color:var(--text-secondary)}.shower-tier__spec{margin-top:1rem;font-family:'Inter',sans-serif;font-size:.75rem;color:var(--text-muted);font-style:italic}.hardware-showcase{padding:clamp(3rem, 5vw, 5rem) 0;overflow:hidden}.hardware-showcase__title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(1.6rem, 3vw, 2.2rem);color:var(--text-primary);margin:0 0 .5rem;text-align:center}.hardware-showcase__subtitle{font-family:'Inter',sans-serif;font-size:.85rem;color:var(--text-muted);text-align:center;margin-bottom:2.5rem;letter-spacing:.05em}.hardware-track{display:flex;gap:1.25rem;padding:0 clamp(1rem, 3vw, 2rem);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab}.hardware-track:active{cursor:grabbing}.hardware-track::-webkit-scrollbar{display:none}.hardware-chip{flex-shrink:0;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:100px;scroll-snap-align:start;transition:border-color 0.3s,background 0.3s}.hardware-chip:hover{border-color:rgb(255 255 255 / .12);background:var(--bg-overlay)}.hardware-chip__swatch{width:28px;height:28px;border-radius:50%;border:2px solid rgb(255 255 255 / .1);flex-shrink:0}.hardware-chip__label{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.svg-morph-section{padding:clamp(6rem, 10vw, 10rem) 0;position:relative;overflow:hidden}.svg-morph-section .container{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem, 4vw, 4rem);align-items:center}.svg-morph__visual{position:relative;aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;background:var(--bg-surface)}.svg-morph__drawing{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.svg-morph__drawing svg{width:80%;height:80%}.svg-morph__drawing svg path,.svg-morph__drawing svg line,.svg-morph__drawing svg rect,.svg-morph__drawing svg circle{stroke:var(--lime);stroke-width:1;fill:none;stroke-dasharray:1000;stroke-dashoffset:1000}.svg-morph__photo{position:absolute;inset:0;opacity:0;transition:opacity 0.1s linear}.svg-morph__photo img{width:100%;height:100%;object-fit:cover}.svg-morph__content{max-width:500px}.svg-morph__overline{font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--lime);margin-bottom:.75rem}.svg-morph__title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(1.8rem, 3.5vw, 2.8rem);color:var(--text-primary);margin:0 0 1.25rem;line-height:1.15}.svg-morph__body{font-family:'Inter',sans-serif;font-size:.95rem;line-height:1.8;color:var(--text-secondary)}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-subtle);border-radius:12px;overflow:hidden;margin-top:2.5rem}.stat-strip__item{background:var(--bg-surface);padding:1.5rem 1rem;text-align:center}.stat-strip__value{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(1.4rem, 2.5vw, 2rem);color:var(--lime);line-height:1;margin-bottom:.4rem}.stat-strip__label{font-family:'Inter',sans-serif;font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.additional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}.additional-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;padding:1.75rem;transition:border-color 0.3s,transform 0.4s}.additional-card:hover{border-color:rgb(255 255 255 / .1);transform:translateY(-3px)}.additional-card__icon{width:32px;height:32px;margin-bottom:1rem;color:var(--purple-light)}.additional-card__title{font-family:'Inter',sans-serif;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.additional-card__desc{font-family:'Inter',sans-serif;font-size:.85rem;line-height:1.65;color:var(--text-secondary)}.colour-range{display:flex;gap:3px;height:4px;border-radius:4px;overflow:hidden;margin:1.5rem 0}.colour-range span{flex:1;border-radius:4px}.compliance-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgb(38 181 57 / .06);border:1px solid rgb(38 181 57 / .15);border-radius:8px;margin-top:1.25rem}.compliance-badge__icon{width:16px;height:16px;color:var(--green);flex-shrink:0}.compliance-badge__text{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;color:var(--green-light)}.product-cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--lime);text-decoration:none;transition:gap 0.3s}.product-cta:hover{gap:.8rem}.product-cta svg{width:16px;height:16px}.product-section__glow{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;opacity:.4}.product-section__glow--purple{background:var(--purple)}.product-section__glow--green{background:var(--green)}.product-section__glow--lime{background:var(--lime)}.product-faq{margin-top:2.5rem}.product-faq__title{font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem}.product-faq__item{border-top:1px solid var(--border-subtle)}.product-faq__item:last-child{border-bottom:1px solid var(--border-subtle)}.product-faq__question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 0;background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:.9rem;font-weight:500;color:var(--text-primary);text-align:left;transition:color 0.3s}.product-faq__question:hover{color:var(--lime)}.product-faq__question svg{width:16px;height:16px;flex-shrink:0;color:var(--text-muted);transition:transform 0.3s}.product-faq__item.is-open .product-faq__question svg{transform:rotate(45deg)}.product-faq__answer{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(.25,0,.15,1)}.product-faq__item.is-open .product-faq__answer{max-height:300px}.product-faq__answer p{font-family:'Inter',sans-serif;font-size:.85rem;line-height:1.7;color:var(--text-secondary);padding-bottom:1rem}@media (max-width:1024px){.product-section__inner--7-5,.product-section__inner--5-7,.product-section__inner--8-4,.product-section__inner--4-8{grid-template-columns:1fr}.shower-tiers{grid-template-columns:1fr}.svg-morph-section .container{grid-template-columns:1fr}.stat-strip{grid-template-columns:repeat(2,1fr)}.additional-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.products-hero{min-height:50vh}.stat-strip{grid-template-columns:1fr 1fr}.additional-grid{grid-template-columns:1fr}.product-nav__link{padding:.75rem .85rem;font-size:.7rem}}@media (max-width:480px){.products-hero{min-height:45vh}.product-section{padding:clamp(3rem, 6vw, 5rem) 0}}.page-hero{position:relative;padding:clamp(8rem, 18vh, 12rem) 0 clamp(3rem, 6vh, 5rem);overflow:hidden}.page-hero .container{position:relative;z-index:2;max-width:720px}.page-hero__glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.12;pointer-events:none;z-index:0}.page-hero__title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(3rem, 8vw, 5.5rem);font-weight:400;line-height:1.05;color:var(--text-primary);margin:.25rem 0 1.25rem}.page-hero__title em{font-style:normal;color:var(--purple-light)}.page-hero__subtitle{font-size:clamp(1rem, 1.15vw, 1.15rem);color:var(--text-secondary);line-height:1.7;max-width:580px}.blog-archive-hero{text-align:center}.blog-archive-hero h1{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(2.2rem, 5vw, 3.5rem);font-weight:400;text-transform:uppercase;text-shadow:2px 2px 4px rgb(0 0 0 / .6),0 0 20px rgb(122 79 151 / .12);margin-bottom:var(--space-sm)}.blog-archive-hero .page-hero__subtitle{font-size:var(--text-lg);font-weight:300;max-width:580px;margin:0 auto;line-height:1.6}.blog-archive__filters{padding-bottom:var(--space-lg)}.blog-archive__filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center}.blog-archive__filter{padding:8px 20px;border-radius:100px;border:1px solid rgb(255 255 255 / .08);background:rgb(255 255 255 / .03);color:var(--text-secondary);font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease}.blog-archive__filter:hover{background:rgb(255 255 255 / .06);border-color:rgb(255 255 255 / .15);color:var(--text-primary)}.blog-archive__filter.is-active{background:rgb(122 79 151 / .2);border-color:rgb(122 79 151 / .4);color:#c9a0e8}.blog-archive__filter:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.blog-archive{padding-bottom:var(--space-2xl)}.blog-archive__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.blog-card{border-radius:var(--radius-lg);overflow:hidden;background:rgb(255 255 255 / .02);border:1px solid rgb(255 255 255 / .05);transition:border-color var(--duration-normal) ease,transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.blog-card:hover{border-color:rgb(122 79 151 / .25);transform:translateY(-4px);box-shadow:0 16px 48px rgb(0 0 0 / .3)}.blog-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.blog-card__image{position:relative;aspect-ratio:16/10;overflow:hidden}.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-out)}.blog-card:hover .blog-card__image img{transform:scale(1.05)}.blog-card__image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgb(10 10 20 / .4) 100%);pointer-events:none}.blog-card__content{display:flex;flex-direction:column;flex-grow:1;padding:var(--space-md) var(--space-lg) var(--space-lg)}.blog-card__category{display:inline-block;width:fit-content;padding:3px 10px;border-radius:100px;background:rgb(122 79 151 / .12);color:var(--purple-light);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-sm)}.blog-card__title{font-family:'Inter',sans-serif;font-size:var(--text-lg);font-weight:600;color:var(--text-primary);line-height:1.35;margin-bottom:var(--space-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-card__excerpt{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6;flex-grow:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-md)}.blog-card__meta{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted);padding-top:var(--space-sm);border-top:1px solid rgb(255 255 255 / .04)}.blog-card--featured{grid-column:1 / -1}.blog-card--featured .blog-card__link{flex-direction:row}.blog-card--featured .blog-card__image{flex:0 0 55%;aspect-ratio:auto;min-height:340px}.blog-card--featured .blog-card__content{justify-content:center;padding:var(--space-xl) var(--space-2xl)}.blog-card--featured .blog-card__title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(1.4rem, 2.2vw, 1.8rem);font-weight:400;text-transform:uppercase;text-shadow:2px 2px 4px rgb(0 0 0 / .6),0 0 20px rgb(122 79 151 / .12);-webkit-line-clamp:3}.blog-card--featured .blog-card__excerpt{font-size:var(--text-base);-webkit-line-clamp:4}.blog-archive__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blog-card.is-hidden{display:none!important}.blog-archive__grid.is-filtering .blog-card:not(.is-hidden){animation:blogCardIn 0.45s cubic-bezier(.2,.7,.2,1) both}.blog-archive__grid.is-filtering .blog-card:not(.is-hidden):nth-child(2){animation-delay:0.04s}.blog-archive__grid.is-filtering .blog-card:not(.is-hidden):nth-child(3){animation-delay:0.08s}.blog-archive__grid.is-filtering .blog-card:not(.is-hidden):nth-child(4){animation-delay:0.12s}.blog-archive__grid.is-filtering .blog-card:not(.is-hidden):nth-child(5){animation-delay:0.16s}.blog-archive__grid.is-filtering .blog-card:not(.is-hidden):nth-child(6){animation-delay:0.20s}@keyframes blogCardIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.blog-archive__grid.is-filtering .blog-card:not(.is-hidden){animation:none}}.blog-archive__empty{text-align:center;padding:var(--space-2xl) var(--space-lg);margin-top:var(--space-lg);border-radius:var(--radius-lg);background:rgb(255 255 255 / .02);border:1px solid rgb(255 255 255 / .05);animation:blogCardIn 0.5s cubic-bezier(.2,.7,.2,1) both}.blog-archive__empty[hidden]{display:none}.blog-archive__empty-title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(1.5rem, 3.5vw, 2.25rem);color:var(--text-primary);margin:0 0 var(--space-sm)}.blog-archive__empty-sub{color:var(--text-secondary);max-width:52ch;margin:0 auto var(--space-lg);line-height:1.6}.blog-archive__empty-sub a{color:var(--lime);text-decoration:none;border-bottom:1px solid rgb(186 211 0 / .4)}.blog-archive__empty-sub a:hover{border-bottom-color:var(--lime)}.blog-archive__empty-reset{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.85rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);background:#fff0;border:1px solid rgb(122 79 151 / .5);border-radius:999px;cursor:pointer;transition:border-color 0.2s ease,background 0.2s ease,transform 0.2s ease}.blog-archive__empty-reset:hover{border-color:var(--purple);background:rgb(122 79 151 / .12);transform:translateY(-1px)}.blog-hero{position:relative;width:100%;max-height:520px;overflow:hidden;margin-top:72px}.blog-hero__image{position:relative;width:100%;height:520px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 70%,transparent 100%)}.blog-hero__image img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}.blog-breadcrumb{padding:var(--space-md) 0 0}.blog-breadcrumb__list{display:flex;align-items:center;gap:var(--space-xs);list-style:none;padding:0;margin:0;font-size:var(--text-sm);color:var(--text-muted)}.blog-breadcrumb__list li:not(:last-child)::after{content:'/';margin-left:var(--space-xs);opacity:.4}.blog-breadcrumb__list a{color:var(--text-secondary);text-decoration:none}.blog-breadcrumb__list a:hover{color:var(--lime)}.blog-breadcrumb__list [aria-current="page"]{color:var(--text-primary)}.blog-layout{padding:var(--space-lg) 0 var(--space-2xl)}.blog-layout__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-2xl);align-items:start}.blog-article{max-width:820px}.blog-article__meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md);font-size:var(--text-sm);color:var(--text-muted)}.blog-article__category{display:inline-block;padding:4px 14px;border-radius:100px;background:rgb(122 79 151 / .15);border:1px solid rgb(122 79 151 / .3);color:var(--purple-light);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}.blog-article__category:hover{background:rgb(122 79 151 / .3)}.blog-article__title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(2rem, 4.5vw, 3.2rem);font-weight:400;line-height:1.15;color:var(--text-primary);text-transform:uppercase;text-shadow:2px 2px 4px rgb(0 0 0 / .6),0 0 20px rgb(122 79 151 / .12);margin-bottom:var(--space-lg)}.blog-article__excerpt{font-size:var(--text-xl);line-height:1.6;color:var(--text-secondary);font-weight:300;border-left:3px solid var(--purple);padding-left:var(--space-md);margin-bottom:var(--space-lg)}.blog-article__divider{border:none;height:1px;background:linear-gradient(90deg,transparent 0%,rgb(122 79 151 / .3) 30%,rgb(186 211 0 / .15) 70%,transparent 100%);margin:var(--space-lg) 0 var(--space-xl)}.blog-article__body{font-size:var(--text-base);line-height:1.85;color:var(--text-secondary)}.blog-article__body h2{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(1.4rem, 2.5vw, 1.9rem);font-weight:400;color:var(--text-primary);text-transform:uppercase;text-shadow:2px 2px 4px rgb(0 0 0 / .6),0 0 20px rgb(122 79 151 / .12);margin-top:var(--space-xl);margin-bottom:var(--space-md)}.blog-article__body h3{font-family:'Inter',sans-serif;font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.blog-article__body p{margin-bottom:var(--space-md)}.blog-article__body a{color:var(--lime);text-decoration:underline;text-underline-offset:3px}.blog-article__body strong{color:var(--text-primary);font-weight:600}.blog-article__figure{margin:var(--space-xl) 0;border-radius:1rem;overflow:hidden}.blog-article__figure img{width:100%;height:auto;display:block}.blog-article__figure figcaption{padding:var(--space-sm) 0;font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.blog-article__quote{position:relative;margin:var(--space-xl) 0;padding:var(--space-lg) var(--space-xl);background:rgb(122 79 151 / .06);border-left:3px solid var(--purple);border-radius:0 1rem 1rem 0}.blog-article__quote p{font-size:var(--text-lg);font-style:italic;color:var(--text-primary);line-height:1.7;margin-bottom:var(--space-sm)}.blog-article__quote cite{display:block;font-size:var(--text-sm);color:var(--text-muted);font-style:normal}.blog-article__table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0 var(--space-xl);font-size:var(--text-sm)}.blog-article__table thead{background:rgb(122 79 151 / .12)}.blog-article__table th{padding:var(--space-sm) var(--space-md);text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid rgb(122 79 151 / .25);white-space:nowrap}.blog-article__table td{padding:var(--space-sm) var(--space-md);color:var(--text-secondary);border-bottom:1px solid rgb(255 255 255 / .05)}.blog-article__tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid rgb(255 255 255 / .06)}.blog-article__tag{display:inline-block;padding:4px 12px;border-radius:100px;background:rgb(255 255 255 / .04);border:1px solid rgb(255 255 255 / .08);color:var(--text-secondary);font-size:.75rem;text-decoration:none}.blog-article__tag:hover{border-color:rgb(186 211 0 / .4);color:var(--lime)}.blog-article__author{display:flex;align-items:center;gap:1rem;margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.blog-article__author-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-elevated)}.blog-article__author-avatar img{width:100%;height:100%;object-fit:cover}.blog-article__author-info{display:flex;flex-direction:column;gap:.2rem}.blog-article__author-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.blog-article__author-role{font-size:var(--text-xs);color:var(--text-muted)}.blog-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:var(--space-lg)}.blog-sidebar__card{padding:var(--space-lg);border-radius:1rem}.blog-sidebar__heading{font-family:'Inter',sans-serif;font-size:var(--text-base);font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgb(255 255 255 / .06)}.blog-sidebar__social-link{display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;border-radius:.5rem;color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.blog-sidebar__social-link:hover{background:rgb(255 255 255 / .04);color:var(--text-primary)}.blog-sidebar__recent{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-md)}.blog-sidebar__recent-link{display:flex;gap:var(--space-sm);text-decoration:none}.blog-sidebar__recent-link:hover{opacity:.85}.blog-sidebar__recent-thumb{flex-shrink:0;width:64px;height:64px;border-radius:.5rem;overflow:hidden}.blog-sidebar__recent-thumb img{width:100%;height:100%;object-fit:cover}.blog-sidebar__recent-title{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-sidebar__recent-date{font-size:.7rem;color:var(--text-muted)}.blog-sidebar__cta-inner{padding:var(--space-xl) var(--space-lg);background:linear-gradient(135deg,rgb(122 79 151 / .12) 0%,rgb(5 26 88 / .15) 100%);border:1px solid rgb(122 79 151 / .2);border-radius:1rem;overflow:hidden}.blog-sidebar__cta-overline{display:block;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);margin-bottom:var(--space-sm)}.blog-sidebar__cta-title{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:1.3rem;font-weight:400;color:var(--text-primary);text-transform:uppercase;line-height:1.25;margin-bottom:var(--space-sm)}.blog-sidebar__cta-text{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-lg)}.blog-sidebar__cta-btn{width:100%;text-align:center}.contact-section{padding:clamp(2rem, 5vh, 4rem) 0 clamp(4rem, 8vh, 6rem)}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem, 4vw, 4rem);align-items:start}.contact-grid__info{display:flex;flex-direction:column;gap:1.25rem}.contact-card{display:flex;gap:1.25rem;padding:1.5rem 1.75rem;align-items:flex-start}.contact-card--phone{border-left:3px solid var(--lime)}.contact-card__icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgb(186 211 0 / .08)}.contact-card__body h3{font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .35rem}.contact-card__body a{color:var(--text-primary);text-decoration:none;transition:color 0.25s ease}.contact-card__body a:hover{color:var(--purple-light)}.contact-card__phone{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;display:block;margin-bottom:.15rem}.contact-card__note{font-size:.85rem;color:var(--text-muted);margin:0}.contact-card__body address{font-style:normal;color:var(--text-secondary);line-height:1.6;font-size:.95rem}.hours-list{list-style:none;padding:0;margin:0}.hours-list li{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.hours-list li:last-child{border-bottom:none}.hours-list li span:first-child{font-weight:500;color:var(--text-primary)}.contact-quick-actions{display:flex;gap:1rem;flex-wrap:wrap;padding-top:.5rem}.contact-social{padding-top:.5rem}.contact-social h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 .75rem}.contact-social__links{display:flex;flex-wrap:wrap;gap:.5rem}.contact-social__link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:100px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);text-decoration:none;font-size:.85rem;transition:all 0.25s ease}.contact-social__link:hover{border-color:var(--purple);color:var(--text-primary);background:rgb(122 79 151 / .08)}.map-section{padding:0 0 clamp(3rem, 6vh, 5rem)}.map-placeholder{border-radius:16px;border:1px solid var(--border-subtle);background:var(--bg-surface);overflow:hidden;aspect-ratio:21 / 7;min-height:280px;display:flex;align-items:center;justify-content:center}.map-placeholder__inner{text-align:center;padding:2rem}.map-placeholder__inner svg{margin-bottom:1rem;opacity:.6}.map-placeholder__text{color:var(--text-muted);font-size:1rem;margin-bottom:1.25rem}.huxley-banner{padding:0 0 clamp(4rem, 8vh, 6rem)}.huxley-banner__inner{display:flex;gap:1.5rem;padding:2rem 2.5rem;align-items:flex-start;border-left:3px solid var(--lime)}.huxley-banner__icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgb(186 211 0 / .08)}.huxley-banner__body h3{font-family:'Inter',sans-serif;font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0 0 .35rem}.huxley-banner__body p{color:var(--text-secondary);font-size:.95rem;line-height:1.65;margin:0}.about-huxley{padding:clamp(4rem, 8vh, 6rem) 0}.about-huxley__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem, 5vw, 5rem);align-items:center}.about-huxley__content{padding-right:var(--space-lg)}.about-huxley__content h2{margin:var(--space-sm) 0 var(--space-md);line-height:1.05}.about-huxley__content h2 em{color:var(--lime);font-style:normal}.about-huxley__retired{display:inline-block;font-family:'Inter',sans-serif;font-size:.42em;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);vertical-align:.45em;margin-left:.4em}.about-huxley__content p{color:var(--text-secondary);font-size:1.0625rem;line-height:1.7;margin:0 0 var(--space-md)}.about-huxley__visual{position:relative}.about-huxley__image{overflow:hidden;border-radius:16px;aspect-ratio:4/5;position:relative}.about-huxley__image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgb(10 10 20 / .4) 100%);pointer-events:none}.about-huxley__image img{width:100%;height:100%;object-fit:cover;display:block}.about-huxley__caption{margin-top:1rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.about-huxley__caption-line{font-family:'Bradley Hand',cursive;font-size:1.2rem;color:var(--lime);letter-spacing:.02em}.about-huxley__caption-sub{font-size:.75rem;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase}@media (max-width:768px){.about-huxley__grid{grid-template-columns:1fr;gap:clamp(2rem, 4vh, 3rem)}.about-huxley__content{padding-right:0;order:2}.about-huxley__visual{order:1;max-width:360px;margin:0 auto}.about-huxley__image{aspect-ratio:3/4}}.form-section{padding:clamp(2rem, 4vh, 3rem) 0 clamp(4rem, 8vh, 6rem)}.form-section__layout{display:grid;grid-template-columns:340px 1fr;gap:clamp(2rem, 4vw, 4rem);align-items:start}.form-section__sidebar{display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:6rem}.form-info-card{padding:1.75rem 2rem}.form-info-card h3{font-family:'Inter',sans-serif;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem}.form-info-card h4{font-family:'Inter',sans-serif;font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.form-info-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:.25rem 0 0}.form-info-card--alt{text-align:center;border-top:2px solid var(--purple)}.form-info-card--alt .contact-card__phone{display:block;font-size:1.35rem;font-weight:700;color:var(--text-primary);text-decoration:none;margin-bottom:.25rem}.form-info-card--alt .contact-card__phone:hover{color:var(--purple-light)}.form-steps{list-style:none;padding:0;margin:0}.form-steps li{display:flex;gap:1rem;padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border-subtle)}.form-steps li:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none}.form-steps__number{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgb(122 79 151 / .12);color:var(--purple-light);font-size:.75rem;font-weight:700;letter-spacing:.05em}.form-steps strong{display:block;font-size:.9rem;color:var(--text-primary);margin-bottom:.15rem}.form-steps p{font-size:.82rem;color:var(--text-muted);line-height:1.55;margin:0}.form-panel{padding:clamp(2rem, 3vw, 3rem);border-radius:20px}.form-panel__header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.form-panel__header h2,.form-panel__header h3{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:clamp(1.5rem, 2.5vw, 2rem);color:var(--text-primary);margin:0 0 .5rem}.form-panel__header p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0}form fieldset{border:none;padding:0;margin:0 0 2rem}form fieldset:last-of-type{margin-bottom:1.5rem}form legend{font-family:'Inter',sans-serif;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--purple-light);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid rgb(122 79 151 / .15);width:100%}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:.4rem}.form-hint{font-size:.78rem;color:var(--text-muted);margin:0 0 .6rem}.form-hint-inline{font-weight:400;color:var(--text-muted);font-size:.82rem}.required{color:var(--purple-light);font-weight:400}.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],.form-group input[type="date"],.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;font-family:'Inter',sans-serif;font-size:1rem;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:10px;outline:none;transition:border-color 0.25s ease,box-shadow 0.25s ease,background 0.25s ease;-webkit-appearance:none;appearance:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.7}.form-group input:hover,.form-group textarea:hover,.form-group select:hover{border-color:rgb(255 255 255 / .12)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgb(122 79 151 / .15);background:var(--bg-surface)}.form-group input.is-invalid,.form-group textarea.is-invalid,.form-group select.is-invalid{border-color:#E53E3E;box-shadow:0 0 0 3px rgb(229 62 62 / .12)}.form-group textarea{resize:vertical;min-height:100px}.form-group select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B6B80' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.form-group input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row--thirds{grid-template-columns:2fr 1fr}.radio-group{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.radio-label{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:100px;border:1px solid var(--border-subtle);background:var(--bg-base);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all 0.25s ease;user-select:none}.radio-label:hover{border-color:rgb(255 255 255 / .12)}.radio-label input[type="radio"]{position:absolute;opacity:0;width:0;height:0}.radio-custom{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-subtle);position:relative;flex-shrink:0;transition:all 0.25s ease}.radio-label input[type="radio"]:checked~.radio-custom{border-color:var(--purple);background:var(--purple)}.radio-label input[type="radio"]:checked~.radio-custom::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#fff}.radio-label:has(input[type="radio"]:checked){border-color:var(--purple);background:rgb(122 79 151 / .08);color:var(--text-primary)}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.checkbox-label{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-base);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all 0.25s ease;user-select:none}.checkbox-label:hover{border-color:rgb(255 255 255 / .12)}.checkbox-label input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{width:18px;height:18px;border-radius:5px;border:2px solid var(--border-subtle);position:relative;flex-shrink:0;transition:all 0.25s ease}.checkbox-label input[type="checkbox"]:checked~.checkbox-custom{border-color:var(--purple);background:var(--purple)}.checkbox-label input[type="checkbox"]:checked~.checkbox-custom::after{content:'';position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label:has(input[type="checkbox"]:checked){border-color:var(--purple);background:rgb(122 79 151 / .08);color:var(--text-primary)}.file-upload{position:relative}.file-upload input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}.file-upload__label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:2px dashed var(--border-subtle);border-radius:12px;background:var(--bg-base);text-align:center;transition:all 0.25s ease}.file-upload:hover .file-upload__label{border-color:var(--purple);background:rgb(122 79 151 / .04)}.file-upload__label span{font-size:.9rem;color:var(--text-secondary)}.file-upload__label strong{color:var(--purple-light)}.file-upload__hint{font-size:0.78rem!important;color:var(--text-muted)!important}.btn--full{width:100%;justify-content:center}.btn--sm{padding:.5rem 1.25rem;font-size:.82rem}.field-error{display:block;font-size:.78rem;color:#E53E3E;margin-top:.3rem;padding-left:.15rem}.form-submit-error{padding:1rem 1.25rem;border-radius:10px;background:rgb(229 62 62 / .08);border:1px solid rgb(229 62 62 / .25);color:#FC8181;font-size:.9rem;margin-bottom:1.5rem}.form-confirmation__inner{text-align:center;padding:3rem 2rem}.form-confirmation__inner svg{margin-bottom:1.25rem}.form-confirmation__inner h3{font-family:'fredericka-the-greatest','Fredericka the Great',cursive;font-size:1.75rem;color:var(--text-primary);margin:0 0 .75rem}.form-confirmation__inner p{color:var(--text-secondary);font-size:.95rem;line-height:1.65;margin:0 0 .5rem;max-width:480px;margin-inline:auto}.form-confirmation__inner a{color:var(--purple-light);text-decoration:none;font-weight:600}.form-confirmation__inner a:hover{color:var(--text-primary)}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}@media (max-width:1024px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}.form-section__layout{grid-template-columns:1fr;gap:2rem}.form-section__sidebar{position:static;flex-direction:row;flex-wrap:wrap}.form-section__sidebar>*{flex:1 1 280px}.map-placeholder{aspect-ratio:16 / 7}.blog-layout__grid{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.blog-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.blog-archive__grid{grid-template-columns:repeat(2,1fr)}.blog-card--featured .blog-card__link{flex-direction:column}.blog-card--featured .blog-card__image{flex:none;aspect-ratio:16/9;min-height:auto}.blog-card--featured .blog-card__content{padding:var(--space-md) var(--space-lg) var(--space-lg)}}@media (max-width:640px){.page-hero{padding:clamp(6rem, 14vh, 9rem) 0 clamp(2rem, 4vh, 3rem)}.form-row{grid-template-columns:1fr}.form-row--thirds{grid-template-columns:1fr}.checkbox-grid{grid-template-columns:1fr}.radio-group{flex-direction:column}.contact-quick-actions{flex-direction:column}.contact-quick-actions .btn{width:100%;justify-content:center}.huxley-banner__inner{flex-direction:column;padding:1.5rem}.map-placeholder{aspect-ratio:4 / 3;min-height:220px}.form-panel{padding:1.5rem}.form-section__sidebar{flex-direction:column}.form-section__sidebar>*{flex:1 1 auto}.form-info-card{padding:1.25rem 1.5rem}.blog-archive__grid{grid-template-columns:1fr}.blog-archive__filter{padding:6px 14px;font-size:.75rem}.blog-article__table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.blog-sidebar{grid-template-columns:1fr}.blog-hero__image{height:320px}}.hg-gallery{padding:var(--space-xl) 0 var(--space-2xl);max-width:1400px;margin:0 auto;padding-inline:max(1.25rem, 3vw)}.hg-gallery__filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--space-lg);padding:.75rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:999px;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.hg-gallery__chip{appearance:none;border:1px solid #fff0;background:#fff0;color:var(--text-secondary);font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.02em;padding:.5rem 1.1rem;border-radius:999px;cursor:pointer;transition:color 200ms var(--ease-out),background 200ms var(--ease-out),border-color 200ms var(--ease-out),transform 200ms var(--ease-spring);white-space:nowrap}.hg-gallery__chip:hover{color:var(--text-primary);background:rgb(255 255 255 / .04);border-color:rgb(255 255 255 / .1)}.hg-gallery__chip.is-active{color:#fff;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-light) 100%);border-color:#fff0;box-shadow:0 4px 14px rgb(122 79 151 / .35)}.hg-gallery__chip:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.hg-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.hg-gallery__item{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;border-radius:12px;border:1px solid var(--glass-border);background:var(--bg-surface);content-visibility:auto;contain-intrinsic-size:300px 225px;transition:transform 400ms var(--ease-spring),border-color 300ms var(--ease-out),box-shadow 300ms var(--ease-out)}.hg-gallery__item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgb(0 0 0 / .35) 100%);opacity:0;transition:opacity 300ms var(--ease-out);pointer-events:none}.hg-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 500ms var(--ease-out)}.hg-gallery__item:hover{transform:translateY(-3px);border-color:rgb(186 211 0 / .35);box-shadow:0 8px 24px rgb(0 0 0 / .35)}.hg-gallery__item:hover::after{opacity:1}.hg-gallery__item:hover img{transform:scale(1.06)}.hg-gallery__item[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){.hg-gallery__chip,.hg-gallery__item,.hg-gallery__item img,.hg-gallery__item::after{transition:none}.hg-gallery__item:hover{transform:none}.hg-gallery__item:hover img{transform:none}}.hg-gallery__pending{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:1rem;padding:var(--space-xl) 0}@media (max-width:768px){.hg-gallery{padding:var(--space-lg) 0 var(--space-xl)}.hg-gallery__filters{padding:.5rem;border-radius:20px;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hg-gallery__filters::-webkit-scrollbar{display:none}.hg-gallery__chip{font-size:.8125rem;padding:.45rem .9rem}.hg-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.hg-gallery__item{border-radius:8px}}