/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#252525;--muted:#545454;--purple:#8338ec;--pink:#ff006e;--blue:#3a86ff;--yellow:#ffbe0b;--pale:#fff7cb;--green:#29c873;--line:#e8e8e8;--soft:#f8f8f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:Lato,Arial,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3,h4,.brand,.btn{font-family:Rubik,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}img{max-width:100%;display:block}.shell{width:min(1170px,100% - 40px);margin-inline:auto}.header{z-index:50;background:#fff;height:100px;position:relative}.headrow{justify-content:space-between;align-items:center;height:100%;display:flex}.brand{align-items:center;width:205px;display:flex}.brand img{width:100%;height:auto}.nav{align-items:center;gap:32px;font-size:14px;font-weight:700;display:flex}.nav>a,.drop>a{white-space:nowrap;padding:38px 0}.nav a:hover{color:var(--purple)}.drop{position:relative}.drop>a{align-items:center;gap:7px;display:flex}.drop i{background:var(--purple);border-radius:50%;width:5px;height:5px}.dropmenu{border:1px solid var(--line);background:#fff;min-width:220px;padding:12px;display:none;position:absolute;top:72px;left:-22px;box-shadow:0 20px 45px #0002}.drop:hover .dropmenu{display:grid}.dropmenu a{padding:10px 12px}.head-actions,.socials{align-items:center;gap:10px;display:flex}.socials span{color:#fff;background:#f6a500;border-radius:50%;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.iconbtn,.hamb{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:50px;min-width:44px;height:44px;padding:0 13px;font-weight:700}.iconbtn b{color:var(--purple);background:#fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-left:5px;display:inline-grid}.hamb{padding:0;font-size:20px;display:none}.hero{background:#fafafa;height:980px;position:relative;overflow:hidden}.herogrid{z-index:2;grid-template-columns:550px 1fr;align-items:center;gap:70px;padding-top:130px;display:grid;position:relative}.hero-copy h1{letter-spacing:-2px;margin:0 0 28px;font-size:70px;font-weight:700;line-height:1.17}.hero-copy h1 em,.outline-kicker,.big404{color:#0000;-webkit-text-stroke:1.5px var(--ink);font-style:normal}.hero-copy p{color:var(--muted);font-size:18px}.actions{align-items:center;gap:26px;margin-top:35px;display:flex}.btn{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:100px;justify-content:center;align-items:center;min-height:60px;padding:0 38px;font-size:16px;font-weight:600;transition:all .2s;display:inline-flex}.btn:hover{background:#7025d5;transform:translateY(-2px)}.btn.ghost{color:var(--ink);background:#fff}.btn.small{min-height:42px;padding:0 19px;font-size:13px}.textlink{border-bottom:2px solid var(--purple);padding:3px 0;font-weight:700}.heroimage{height:610px;position:relative}.heroimage>img{object-fit:cover;width:100%;height:100%}.round-badge{text-align:center;background:#fff;border:2px dashed #f4a000;border-radius:50%;place-content:center;width:120px;height:120px;display:grid;position:absolute;top:-35px;right:-36px;box-shadow:0 10px 30px #0002}.round-badge b{color:var(--purple);font-size:22px}.round-badge span{letter-spacing:.12em;font-size:8px}.hero-wave{background:var(--blue);border-radius:48% 52% 0 0/35% 45% 0 0;height:270px;position:absolute;bottom:-80px;left:-5%;right:-5%;transform:rotate(-2deg)}.hero-wave:after{content:"";border-top:2px solid #ff9f00;border-radius:50%;width:68%;height:180px;position:absolute;top:-12px;left:38%}.darkband{background:var(--ink);color:#fff}.service-marquee{flex-wrap:wrap;align-content:center;align-items:center;gap:12px;min-height:360px;font-size:47px;line-height:1.22;display:flex}.service-marquee strong:nth-of-type(odd){color:#0000;-webkit-text-stroke:1px #fff}.service-marquee i{color:#777}.section{padding:120px 0}.section h2,.sectionhead h2,.centerhead h2{margin:0;font-size:48px;line-height:1.15}.outline-kicker{margin:0 0 4px;font-family:Rubik;font-size:34px;font-weight:600;line-height:1.1}.split{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.about-home{min-height:670px}.deco{position:relative;overflow:hidden}.deco:before,.deco:after{content:"";border:2px solid #ff9f00;border-radius:50%;width:310px;height:150px;position:absolute;bottom:50px;left:-190px;transform:rotate(55deg)}.deco:after{border-color:var(--green);inset:50px -230px auto auto;transform:rotate(75deg)}.collage{height:520px;position:relative}.image-tall,.image-wide{background:var(--soft);position:absolute;overflow:hidden}.image-tall{width:270px;height:360px;top:0;left:70px}.image-wide{width:350px;height:440px;top:80px;left:270px}.collage img{object-fit:cover;width:100%;height:100%}.colour-wheel{background:conic-gradient(#ff006e,#ffbe0b,#36d77a,#3a86ff,#8338ec,#ff006e);border:18px solid #fff;border-radius:50%;width:110px;height:110px;position:absolute;bottom:10px;left:0}.checks{margin:22px 0 28px;padding:0;list-style:none}.checks li{margin:8px 0}.checks li:before{content:"✓";color:var(--purple);margin-right:12px;font-weight:700}.sectionhead{justify-content:space-between;align-items:end;margin-bottom:46px;display:flex}.projectgrid{grid-template-columns:repeat(4,1fr);gap:28px;display:grid}.project{position:relative}.project img{object-fit:contain;background:#f7f7f7;width:100%;height:430px}.project span{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:700;display:grid;position:absolute;top:15px;right:15px}.project h3{font-size:18px}.yellow-cta,.yellow-band{background:var(--pale);min-height:640px}.stacked-products{height:460px;position:relative}.stacked-products img{object-fit:contain;background:#fff;width:330px;height:380px;padding:25px;position:absolute}.stacked-products img:first-child{bottom:0;left:0}.stacked-products img:last-child{top:0;right:0}.soft{background:#fafafa}.productgrid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.homeproducts{grid-template-columns:repeat(4,1fr)}.product{background:#fff;flex-direction:column;min-width:0;display:flex;position:relative}.productimg{background:#f7f7f7;height:300px;overflow:hidden}.productimg img{object-fit:contain;width:100%;height:100%;padding:25px;transition:all .35s}.product:hover .productimg img{transform:scale(1.05)}.productbody{flex-direction:column;flex:1;align-items:flex-start;padding:18px 0 8px;display:flex}.pill{color:#fff;background:#f6a500;border-radius:50px;padding:6px 11px;font-size:10px;font-weight:700;position:absolute;top:14px;right:14px}.product h3{margin:8px 0;font-size:17px}.product p{color:var(--muted);flex:1;font-size:14px}.rating{color:#f4a000;font-size:12px}.rating span{color:#777}.price{color:var(--purple);margin:10px 0;font-family:Rubik;font-size:18px;font-weight:700}.price del{color:#999;margin-left:8px;font-size:12px}.centerhead{text-align:center;margin-bottom:55px}.stepgrid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.stepgrid article{border-top:1px solid var(--line);padding:32px}.stepgrid b{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.material-guide{background:var(--ink);color:#fff}.material-guide .outline-kicker{-webkit-text-stroke-color:#fff}.material-list{grid-template-columns:1fr 1fr;gap:15px;display:grid}.material-list span{background:#333;gap:7px;padding:28px;display:grid}.material-list b{color:#c99fff}.pagehero{background:var(--blue);color:#fff;text-align:center;place-items:center;height:270px;display:grid;position:relative;overflow:hidden}.pagehero .shell{z-index:2;position:relative}.pagehero h1{margin:0 0 12px;font-size:55px;line-height:1.1}.pagehero p{display:none}.crumb{justify-content:center;gap:10px;font-size:13px;display:flex}.crumb b{color:var(--pink)}.confetti i{border-radius:50%;width:13px;height:13px;position:absolute}.confetti i:first-child{background:var(--pink);width:24px;height:24px;top:40%;left:7%}.confetti i:nth-child(2){background:#6f38eb;top:18%;left:24%}.confetti i:nth-child(3){background:var(--yellow);top:58%;right:18%}.confetti i:nth-child(4){background:var(--green);top:20%;right:7%}.confetti i:nth-child(5){background:#fff;width:8px;height:8px;bottom:22%;left:39%}.yellow-band .feature-image img{object-fit:cover;width:100%;height:420px}.service-icons{padding:110px 0 45px}.service-icons .shell{grid-template-columns:repeat(5,1fr);gap:20px;display:grid}.service-icons div{text-align:center;background:#fafafa;place-content:center;gap:12px;height:150px;display:grid}.service-icons b{color:var(--purple);font-size:28px}.detail-layout{grid-template-columns:1fr 280px;align-items:start;gap:55px;display:grid}.contentsection{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:42px;margin-bottom:70px;padding:0 0 70px;display:grid}.contentsection.alt .section-visual{order:2}.contentsection>div>span{color:var(--purple);font-weight:700}.contentsection h2{margin:8px 0 16px!important;font-size:34px!important}.contentsection p{color:var(--muted)}.section-visual img{object-fit:contain;background:#f8f8f8;width:100%;height:320px;padding:20px}.service-aside{background:#fafafa;padding:28px;position:sticky;top:25px}.service-aside h3{margin-top:0}.service-aside>a{border-bottom:1px solid #e2e2e2;justify-content:space-between;padding:12px 0;font-size:14px;display:flex}.service-aside>div{background:var(--ink);color:#fff;margin-top:25px;padding:22px}.service-aside>div a{color:#c89cff;font-weight:700}.faq-band{background:#fafafa;padding:110px 0}.faqrows{width:min(820px,100%);margin:auto}.faqrows details{border-bottom:1px solid var(--line);padding:20px 0}.faqrows summary{cursor:pointer;font-family:Rubik;font-weight:600}.shoplayout{grid-template-columns:1fr 285px;gap:45px;display:grid}.filters{background:#fafafa;grid-area:1/2;height:max-content;padding:26px}.filters+div{grid-area:1/1}.filters h3{margin:16px 0 12px;font-size:16px}.filters button{text-align:left;background:0 0;border:0;width:100%;padding:8px 0;display:block}.filters button.active{color:var(--purple);font-weight:700}.filters input[type=range]{width:100%;accent-color:var(--purple)}.filters label{margin:9px 0;display:block}.toolbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.toolbar>div{gap:10px;display:flex}.toolbar select,.toggle{background:#fafafa;border:0;height:45px;padding:0 16px}.productgrid.list{display:block}.product.list{grid-template-columns:280px 1fr;margin-bottom:25px;display:grid}.productdetail{padding-top:110px}.pdp{grid-template-columns:1fr 1fr;gap:80px;display:grid}.mainpic{background:#f7f7f7;height:570px;position:relative;overflow:hidden}.mainpic img{object-fit:contain;width:100%;height:100%;padding:35px;transition:all .4s}.mainpic:hover img{transform:scale(1.16)}.mainpic span{background:#fff;border-radius:50px;padding:7px 12px;font-size:11px;position:absolute;bottom:15px;right:15px}.thumbs{gap:28px;margin-top:28px;display:flex}.thumbs button{background:#f7f7f7;border:0;width:calc(33.3333% - 18.6667px);height:150px;padding:12px}.thumbs img{object-fit:contain;width:100%;height:100%}.pdpinfo h1{margin:10px 0;font-size:44px;line-height:1.12}.pdpinfo ul{padding:0;list-style:none}.stock{color:var(--green);margin:18px 0;font-weight:700}.pdpprice{font-family:Rubik;font-size:34px;font-weight:700}.pdpprice small{color:#777;font:12px Lato;display:block}.buyrow{gap:18px;margin:25px 0;display:flex}.qty{background:#fafafa;border-radius:50px;align-items:center;padding:0 7px;display:flex}.qty button{background:0 0;border:0;width:44px;height:55px}.deliverynote{background:#fafafa;padding:15px}.tabs{margin-top:80px}.tabs>div:first-child{border-bottom:1px solid var(--line);display:flex}.tabs button{background:0 0;border:0;padding:18px 30px;font-weight:700}.tabs button.active{color:var(--purple);border-bottom:2px solid var(--purple)}.tabs>p,.tabs table{max-width:800px;margin:32px 0}.tabs table{border-collapse:collapse;width:100%}.tabs th,.tabs td{border:1px solid var(--line);text-align:left;padding:15px}.contact-info{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.contact-card{grid-template-columns:70px 1fr;align-items:center;display:grid;margin:24px 0!important}.contact-card>b{background:var(--purple);color:#fff;place-items:center;height:70px;font-size:24px;display:grid}.contact-card span{padding-left:20px;display:grid}.map-card{text-align:center;color:#ccc;background:#f6f6f6;place-content:center;height:550px;display:grid}.map-card span{font-family:Rubik;font-size:90px;font-weight:700}.contact-form-band{background:#fafafa;padding:110px 0}.contact-form-band form{grid-template-columns:1fr 1fr;gap:28px;width:min(770px,100%);margin:auto;display:grid}.contact-form-band label span{position:absolute;left:-9999px}.wide{grid-column:1/-1}input,select,textarea{background:#fff;border:0;border-radius:50px;width:100%;padding:18px 22px}textarea{border-radius:24px}input:focus,select:focus,textarea:focus{outline:2px solid #bc8dff}.honeypot{left:-9999px;position:absolute!important}.formerror{color:#a30d34;grid-column:1/-1}.success{text-align:center;background:#eefbf4;padding:60px}.policy{max-width:850px}.notice{border-left:4px solid var(--purple);background:#f6f0ff;padding:18px}.scrim{z-index:80;opacity:0;pointer-events:none;background:#1119;transition:all .25s;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}.cart{z-index:90;background:#fff;flex-direction:column;width:min(470px,100%);height:100dvh;transition:all .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.cart.open{transform:none}.carthead{border-bottom:1px solid var(--line);justify-content:space-between;padding:24px;display:flex}.carthead button{background:0 0;border:0;font-size:30px}.empty{text-align:center;gap:20px;margin:auto;display:grid}.cartlines{padding:20px;overflow:auto}.cartlines>div{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr auto;gap:14px;padding:14px 0;display:grid}.cartlines img{object-fit:contain;background:#f8f8f8;width:70px;height:70px}.cartlines span{align-content:center;display:grid}.cartlines button{color:#a30d34;background:0 0;border:0}.summary{border-top:1px solid var(--line);margin-top:auto;padding:25px}.summary p,.ordersummary p{justify-content:space-between;display:flex}.summary .btn{width:100%}.total{border-top:1px solid var(--line);padding-top:16px;font-size:20px}.carttable{border-top:1px solid var(--line)}.cartlabels{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr 1fr 1fr;padding:20px 140px 20px 110px;display:grid}.cartrow{border-bottom:1px solid var(--line);grid-template-columns:30px 100px 1.6fr .7fr .7fr .7fr;align-items:center;gap:20px;padding:30px 0;display:grid}.cartrow>button{color:#aaa;background:0 0;border:0}.cartrow>img{object-fit:contain;background:#f7f7f7;width:100px;height:100px}.cartrow>span{display:grid}.purple-price{color:var(--purple)}.cart-bottom{grid-template-columns:1fr 570px;gap:80px;margin-top:80px;display:grid}.coupon{align-items:start;gap:18px;display:flex}.order-card{background:#fafafa;padding:38px}.order-card p{justify-content:space-between;display:flex}.order-card>div{grid-template-columns:1fr 1fr;gap:18px;display:grid}.cartempty{text-align:center}.checkout{grid-template-columns:1.2fr .8fr;gap:45px;display:grid}.checkout form{gap:18px;display:grid}.formrow{grid-template-columns:1fr 1fr;gap:18px;display:grid}.radio{align-items:center;display:flex}.radio input{width:auto}.ordersummary{background:var(--ink);color:#fff;padding:35px}.notfound{background:#fafafa;align-items:center;min-height:calc(100vh - 100px);display:grid}.notfound h1{margin:0;font-size:50px}.big404{-webkit-text-stroke-color:var(--pink);margin:0;font-family:Rubik;font-size:140px;font-weight:700}.searchbox{background:#fff;border-radius:50px;justify-content:space-between;padding:18px 22px;display:flex}.nf-art{height:520px;position:relative}.nf-art i,.nf-art b{clip-path:polygon(50% 0,100% 100%,0 100%);background:#ddd;width:310px;height:220px;position:absolute;bottom:60px}.nf-art i{left:40px}.nf-art b{height:300px;right:20px}.nf-art span{background:#ddd;border-radius:50%;width:90px;height:90px;position:absolute;top:90px;left:110px}footer{background:var(--ink);color:#ddd;padding-top:100px}.footergrid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:70px;padding-bottom:80px;display:grid}.footergrid h4{color:#fff;margin:0 0 18px}.footergrid>div{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.footergrid a:before{content:"•";color:var(--purple);margin-right:9px}.contactline{grid-template-columns:36px 1fr;align-items:center;display:grid!important}.contactline b{background:var(--purple);color:#fff;place-items:center;width:36px;height:36px;display:grid}.legal{color:#aaa;border-top:1px solid #494949;justify-content:space-between;align-items:center;padding:30px 0;font-size:12px;display:flex}.legal .brand{filter:brightness(0)invert();width:190px}.legal .socials span{width:34px;height:34px}@media (width<=1100px){.nav{gap:15px;font-size:12px}.socials{display:none}.brand{width:170px}.hero{height:auto;min-height:820px}.herogrid{grid-template-columns:1fr 1fr;padding-top:100px}.hero-copy h1{font-size:54px}.project img{height:340px}.homeproducts{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.shell{width:min(100% - 28px,690px)}.header{height:78px;position:sticky;top:0}.hamb{display:block}.nav{background:#fff;width:100%;padding:18px;display:none;position:absolute;top:78px;left:0;box-shadow:0 20px 40px #0002}.nav.open{display:grid}.nav>a,.drop>a{padding:10px}.dropmenu{display:none!important}.herogrid,.split,.pdp,.contact-info,.checkout{grid-template-columns:1fr}.herogrid{padding:70px 0 180px}.heroimage{height:480px}.service-marquee{font-size:35px}.projectgrid{grid-template-columns:1fr 1fr}.stepgrid,.detail-layout,.shoplayout{grid-template-columns:1fr}.filters,.filters+div{grid-area:auto/1}.filters{order:-1;grid-template-columns:repeat(3,1fr);display:grid}.filters h3,.filters input,.filters b,.filters label{grid-column:1/-1}.service-aside{display:none}.contentsection{grid-template-columns:1fr}.contentsection.alt .section-visual{order:0}.service-icons .shell{grid-template-columns:repeat(3,1fr)}.footergrid{grid-template-columns:1fr 1fr}.cart-bottom{grid-template-columns:1fr}.cartlabels{display:none}.cartrow{grid-template-columns:25px 80px 1fr auto}.cartrow>strong,.cartrow>.qty{grid-column:3/5}.contact-form-band form{grid-template-columns:1fr}.contact-form-band .wide{grid-column:1}.ordersummary{position:static}}@media (width<=540px){body{font-size:15px}.shell{width:calc(100% - 24px)}.brand{width:150px}.iconbtn{width:44px;padding:0;font-size:0}.iconbtn b{margin:0;font-size:12px}.hero-copy h1{font-size:44px}.heroimage{height:330px}.round-badge{width:90px;height:90px;right:-5px}.service-marquee{min-height:260px;font-size:28px}.section{padding:78px 0}.section h2,.sectionhead h2,.centerhead h2{font-size:36px}.outline-kicker{font-size:28px}.sectionhead .btn{display:none}.collage{height:430px}.image-tall{width:210px;height:300px;left:0}.image-wide{width:230px;height:330px;top:90px;left:130px}.projectgrid,.productgrid,.homeproducts,.material-list{grid-template-columns:1fr}.project img,.stacked-products{height:390px}.stacked-products img{width:260px;height:310px}.pagehero{height:220px}.pagehero h1{font-size:42px}.service-icons{padding:60px 0 25px}.service-icons .shell{grid-template-columns:1fr 1fr}.mainpic{height:360px}.thumbs{gap:10px}.thumbs button{width:calc(33.3333% - 6.66667px);height:100px}.pdpinfo h1{font-size:36px}.buyrow{display:grid}.tabs>div:first-child{overflow:auto}.tabs button{white-space:nowrap;padding:14px}.filters{grid-template-columns:1fr 1fr}.toolbar{align-items:flex-start}.toolbar>div{display:grid}.toggle{display:none}.product.list{grid-template-columns:120px 1fr}.contact-info{gap:35px}.map-card{height:350px}.footergrid{grid-template-columns:1fr}.legal{gap:20px;display:grid}.cartrow{grid-template-columns:22px 70px 1fr}.cartrow>strong,.cartrow>.qty{grid-column:3}.coupon{display:grid}.order-card>div{grid-template-columns:1fr}.big404{font-size:100px}.notfound h1{font-size:38px}.nf-art{height:350px}}@media (width>=1700px){.shell{width:min(1370px,100% - 80px)}.hero{height:1040px}.herogrid{grid-template-columns:600px 1fr}.heroimage{height:680px}.productgrid{grid-template-columns:repeat(3,1fr)}.homeproducts{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}

/* Markdown copy update helpers */
.copy-rich{line-height:1.72}.copy-rich p{margin:0 0 16px}.copy-rich h3{margin:24px 0 12px;font-size:1.22rem}.copy-rich strong{font-weight:800}.copy-rich a:not(.btn){font-weight:700;text-decoration:underline;text-underline-offset:3px}.copy-table-wrap{width:100%;overflow-x:auto;margin:18px 0 22px}.copy-table{width:100%;border-collapse:collapse;min-width:520px}.copy-table th,.copy-table td{padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.14);text-align:left;vertical-align:top}.copy-table th{font-weight:800}.hero-company{margin-top:16px;font-size:.9rem;opacity:.78}.shopnote{margin:24px 0 0;max-width:920px;line-height:1.65}.contact-copy-card{height:auto;min-height:260px;display:block;padding:28px}.contact-copy-card>.copy-rich{margin-top:18px}.contact-fields-copy{max-width:820px;margin:10px auto 0}.contact-form-band select{width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(0,0,0,.16);background:#fff;font:inherit}
.pagehero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;filter:saturate(.9) brightness(.62);z-index:0}.pagehero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,11,54,.72),rgba(58,18,115,.48),rgba(20,11,54,.72));z-index:1;pointer-events:none}.pagehero .confetti{z-index:2}.pagehero .shell{z-index:3}

/* Global typography override: Arial across all website pages */
html, body, body *, button, input, textarea, select, option {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* =========================================================
   Modern inner-page layout refresh
   Scoped to image-led content pages so Shop and checkout
   layouts remain unchanged.
   ========================================================= */
.pagehero-visual{
  height:520px;
  min-height:520px;
  text-align:left;
  place-items:center;
  isolation:isolate;
  background:#17131f;
}
.pagehero-visual .pagehero-img{
  opacity:1;
  filter:none;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
}
.pagehero-visual:after{
  background:
    linear-gradient(90deg,rgba(18,14,25,.92) 0%,rgba(28,19,40,.78) 38%,rgba(28,19,40,.34) 67%,rgba(18,14,25,.12) 100%),
    linear-gradient(0deg,rgba(18,14,25,.30),rgba(18,14,25,.04));
}
.pagehero-visual .confetti{display:none}
.pagehero-visual .shell{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:100%;
}
.pagehero-kicker{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  margin:0 0 18px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(131,56,236,.20);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.pagehero-visual h1{
  width:min(780px,72%);
  margin:0;
  color:#fff;
  font-size:clamp(48px,5.4vw,72px);
  line-height:1.02;
  letter-spacing:-.035em;
  text-wrap:balance;
  text-shadow:0 8px 28px rgba(0,0,0,.26);
}
.pagehero-visual .crumb{
  justify-content:flex-start;
  gap:10px;
  margin-top:24px;
  color:rgba(255,255,255,.74);
  font-size:12px;
  letter-spacing:.03em;
}
.pagehero-visual .crumb a{color:#fff;font-weight:700}
.pagehero-visual .crumb b{color:#b98bff}

/* Generic content pages */
.detail-layout{
  grid-template-columns:minmax(0,1fr) 310px;
  gap:48px;
}
.content-main{
  display:grid;
  gap:34px;
  min-width:0;
}
.contentsection{
  overflow:hidden;
  grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);
  align-items:stretch;
  gap:0;
  margin:0;
  padding:0;
  border:1px solid #eee9f5;
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 55px rgba(34,21,50,.075);
}
.contentsection:hover{
  border-color:#e1d6f2;
  box-shadow:0 22px 65px rgba(34,21,50,.11);
  transform:translateY(-2px);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.contentsection .section-visual{
  position:relative;
  min-height:380px;
  overflow:hidden;
  background:linear-gradient(145deg,#f3eefb,#fafafa);
}
.contentsection .section-visual:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(131,56,236,.06),transparent 45%);
}
.contentsection .section-visual img{
  width:100%;
  height:100%;
  min-height:380px;
  padding:0;
  object-fit:cover;
  background:transparent;
  transition:transform .45s ease;
}
.contentsection:hover .section-visual img{transform:scale(1.035)}
.contentsection .section-visual img[src*="product-"]{
  object-fit:contain;
  padding:44px;
  background:linear-gradient(145deg,#f6f1fc 0%,#fff 72%);
}
.contentsection>div:not(.section-visual){
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:46px 48px 48px;
}
.contentsection>div>span{
  align-self:flex-start;
  display:inline-flex;
  place-items:center;
  min-width:42px;
  height:30px;
  padding:0 11px;
  border-radius:999px;
  background:#f2eaff;
  color:#7131c9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.contentsection h2{
  margin:16px 0 18px!important;
  font-size:clamp(28px,3vw,36px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em;
}
.contentsection p{
  color:#5c5861;
  font-size:15.5px;
  line-height:1.78;
}
.contentsection .copy-rich p:last-child{margin-bottom:0}
.contentsection .copy-rich ul,
.contentsection .copy-rich ol{
  display:grid;
  gap:9px;
  margin:18px 0;
  padding-left:0;
}
.contentsection .copy-rich li{
  position:relative;
  padding-left:24px;
  color:#5c5861;
}
.contentsection .copy-rich li:before{
  content:"";
  position:absolute;
  top:.63em;
  left:2px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--purple);
}
.detail-layout .copy-rich table{
  width:100%;
  margin:22px 0 4px;
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid #e9e3ef;
  border-radius:16px;
  background:#fff;
  font-size:14px;
}
.detail-layout .copy-rich th,
.detail-layout .copy-rich td{
  padding:13px 14px;
  border-right:1px solid #eee9f3;
  border-bottom:1px solid #eee9f3;
  text-align:left;
  vertical-align:top;
}
.detail-layout .copy-rich th{
  background:#f7f3fb;
  color:#2b2630;
  font-weight:800;
}
.detail-layout .copy-rich tr:last-child td{border-bottom:0}
.detail-layout .copy-rich tr>*:last-child{border-right:0}

.service-aside{
  overflow:hidden;
  top:112px;
  padding:24px;
  border:1px solid #eee9f5;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 45px rgba(34,21,50,.07);
}
.service-aside h3{
  margin:0 0 10px;
  font-size:20px;
  letter-spacing:-.02em;
}
.service-aside>a{
  align-items:center;
  margin:2px 0;
  padding:11px 12px;
  border:0;
  border-radius:12px;
  color:#5a5660;
  font-size:13px;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.service-aside>a b{
  color:#9a68df;
  font-size:18px;
  line-height:1;
}
.service-aside>a:hover{
  background:#f5effc;
  color:#6f30c5;
  transform:translateX(2px);
}
.service-aside>div{
  margin-top:22px;
  padding:24px;
  border-radius:18px;
  background:linear-gradient(145deg,#241c2c,#17131c);
  box-shadow:0 16px 34px rgba(25,18,31,.18);
}
.service-aside>div b{font-size:16px}
.service-aside>div p{color:#cfc7d6;font-size:13px;line-height:1.65}
.service-aside>div a{color:#cba7ff}

/* About page first section */
.pagehero-visual + .yellow-band{
  min-height:auto;
  padding:94px 0;
  background:linear-gradient(180deg,#fff 0%,#faf8fc 100%);
}
.pagehero-visual + .yellow-band.deco:before,
.pagehero-visual + .yellow-band.deco:after{display:none}
.pagehero-visual + .yellow-band .split{
  gap:34px;
  align-items:stretch;
}
.pagehero-visual + .yellow-band .split>div:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px;
  border:1px solid #eee8f4;
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 55px rgba(34,21,50,.065);
}
.pagehero-visual + .yellow-band .outline-kicker{
  -webkit-text-stroke:0;
  color:var(--purple);
  font-size:13px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.pagehero-visual + .yellow-band h2{
  margin:12px 0 20px;
  font-size:clamp(34px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.pagehero-visual + .yellow-band .feature-image{
  overflow:hidden;
  min-height:510px;
  border-radius:30px;
  box-shadow:0 20px 60px rgba(34,21,50,.12);
}
.pagehero-visual + .yellow-band .feature-image img{
  width:100%;
  height:100%;
  min-height:510px;
  padding:0;
  object-fit:cover;
}
.pagehero-visual + .yellow-band .btn{margin-top:12px;align-self:flex-start}

/* Services capability strip */
.pagehero-visual + .service-icons{
  padding:54px 0 16px;
  background:#fff;
}
.pagehero-visual + .service-icons .shell{
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.pagehero-visual + .service-icons .shell>div{
  min-height:118px;
  height:auto;
  padding:20px 16px;
  border:1px solid #eee9f4;
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#faf8fc);
  box-shadow:0 10px 30px rgba(34,21,50,.045);
  transition:transform .2s ease,box-shadow .2s ease;
}
.pagehero-visual + .service-icons .shell>div:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(34,21,50,.08);
}
.pagehero-visual + .service-icons b{
  place-items:center;
  width:40px;
  height:40px;
  margin:auto;
  border-radius:12px;
  background:#f1e7ff;
  color:#7533cb;
  font-size:19px;
  display:grid;
}
.pagehero-visual + .service-icons span{
  color:#302b35;
  font-size:13px;
  font-weight:700;
}

/* Contact page */
.pagehero-visual + .section .contact-info{
  gap:28px;
  align-items:stretch;
}
.pagehero-visual + .section .contact-info>div:first-child{
  padding:46px;
  border:1px solid #eee9f5;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 55px rgba(34,21,50,.065);
}
.pagehero-visual + .section .contact-info .outline-kicker{
  -webkit-text-stroke:0;
  color:var(--purple);
  font-size:13px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.pagehero-visual + .section .contact-info h2{
  margin:10px 0 20px;
  font-size:44px;
  letter-spacing:-.03em;
}
.contact-copy-card{
  position:relative;
  overflow:hidden;
  min-height:440px;
  height:auto;
  padding:42px;
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(21,15,28,.88),rgba(59,28,86,.62)),
    url('/assets/page-contact.webp') center/cover no-repeat;
  color:#fff;
  text-align:left;
  box-shadow:0 20px 60px rgba(34,21,50,.16);
}
.contact-copy-card>span{
  display:block;
  margin:0 0 8px;
  color:#cba7ff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.16em;
}
.contact-copy-card>b{font-size:32px;line-height:1.1}
.contact-copy-card .copy-rich{
  max-width:520px;
  margin-top:28px;
  color:rgba(255,255,255,.88);
}
.contact-copy-card .copy-rich a{color:#fff}
.contact-form-band{
  padding:96px 0 110px;
  background:linear-gradient(135deg,#f7f2fd 0%,#fff 55%,#f5f0fb 100%);
}
.contact-form-band .centerhead{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.contact-form-band .centerhead h2{
  font-size:46px;
  letter-spacing:-.035em;
}
.contact-fields-copy{color:#68616f;font-size:14px}
.contact-form-band form{
  width:min(900px,100%);
  gap:20px;
  padding:42px;
  border:1px solid #ebe4f2;
  border-radius:28px;
  background:#fff;
  box-shadow:0 22px 70px rgba(34,21,50,.09);
}
.contact-form-band input,
.contact-form-band select,
.contact-form-band textarea{
  min-height:56px;
  padding:15px 17px;
  border:1px solid #e5dfee;
  border-radius:14px;
  background:#fbfafc;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.contact-form-band textarea{min-height:150px}
.contact-form-band input:focus,
.contact-form-band select:focus,
.contact-form-band textarea:focus{
  outline:0;
  border-color:#ae7aec;
  background:#fff;
  box-shadow:0 0 0 4px rgba(131,56,236,.10);
}
.contact-form-band .btn{justify-self:start}

/* Give content-page sections a calmer editorial canvas */
.pagehero-visual ~ .section:has(.detail-layout){
  padding-top:92px;
  padding-bottom:110px;
  background:linear-gradient(180deg,#fff 0%,#fcfbfd 100%);
}

@media (width<=1000px){
  .pagehero-visual{height:470px;min-height:470px}
  .pagehero-visual h1{width:min(850px,86%)}
  .detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:28px}
  .contentsection{grid-template-columns:minmax(240px,.82fr) minmax(0,1.18fr)}
  .contentsection>div:not(.section-visual){padding:38px}
  .pagehero-visual + .service-icons .shell{grid-template-columns:repeat(3,1fr)}
}

@media (width<=820px){
  .pagehero-visual{
    height:430px;
    min-height:430px;
  }
  .pagehero-visual h1{width:100%;font-size:clamp(42px,8vw,58px)}
  .pagehero-visual:after{
    background:linear-gradient(90deg,rgba(18,14,25,.90),rgba(18,14,25,.55));
  }
  .detail-layout{grid-template-columns:1fr}
  .contentsection,
  .contentsection.alt{
    grid-template-columns:1fr;
  }
  .contentsection.alt .section-visual{order:0}
  .contentsection .section-visual,
  .contentsection .section-visual img{min-height:300px;height:300px}
  .contentsection .section-visual img[src*="product-"]{padding:34px}
  .service-aside{display:none}
  .pagehero-visual + .yellow-band .split{grid-template-columns:1fr}
  .pagehero-visual + .yellow-band .feature-image,
  .pagehero-visual + .yellow-band .feature-image img{min-height:390px;height:390px}
  .pagehero-visual + .service-icons .shell{grid-template-columns:repeat(3,1fr)}
  .pagehero-visual + .section .contact-info{grid-template-columns:1fr}
}

@media (width<=540px){
  .pagehero-visual{
    height:390px;
    min-height:390px;
  }
  .pagehero-kicker{margin-bottom:14px}
  .pagehero-visual h1{font-size:40px;line-height:1.04}
  .pagehero-visual .crumb{margin-top:18px}
  .pagehero-visual ~ .section:has(.detail-layout){padding-top:64px;padding-bottom:78px}
  .content-main{gap:22px}
  .contentsection{border-radius:22px}
  .contentsection .section-visual,
  .contentsection .section-visual img{min-height:245px;height:245px}
  .contentsection>div:not(.section-visual){padding:28px 24px 30px}
  .contentsection h2{font-size:29px!important}
  .pagehero-visual + .yellow-band{padding:66px 0}
  .pagehero-visual + .yellow-band .split>div:first-child{padding:30px 24px;border-radius:22px}
  .pagehero-visual + .yellow-band .feature-image,
  .pagehero-visual + .yellow-band .feature-image img{min-height:300px;height:300px;border-radius:22px}
  .pagehero-visual + .service-icons{padding:38px 0 8px}
  .pagehero-visual + .service-icons .shell{grid-template-columns:1fr 1fr;gap:10px}
  .pagehero-visual + .service-icons .shell>div{min-height:104px;border-radius:16px}
  .pagehero-visual + .section .contact-info>div:first-child{padding:30px 24px;border-radius:22px}
  .contact-copy-card{min-height:360px;padding:30px 24px;border-radius:22px}
  .contact-copy-card>b{font-size:27px}
  .contact-form-band{padding:70px 0 82px}
  .contact-form-band form{padding:26px 20px;border-radius:22px}
  .contact-form-band .centerhead h2{font-size:36px}
}

/* Inner-page sidebar removed; expand content to full available width. */
.detail-layout{grid-template-columns:minmax(0,1fr)!important;max-width:100%;}
.service-aside{display:none!important;}

/* =========================================================
   CTA button spacing + alignment refinement
   Keeps buttons consistent, prevents awkward text wrapping,
   and gives content CTAs professional breathing room.
   ========================================================= */
.btn{
  width:auto;
  max-width:100%;
  min-width:0;
  min-height:56px;
  padding:14px 30px;
  line-height:1.15;
  white-space:nowrap;
  text-align:center;
  vertical-align:middle;
}

/* Buttons that sit below copy should have a clear content gap. */
.about-home .split>div:last-child>.btn,
.yellow-cta .split>div:first-child>.btn,
.material-guide .split>div:first-child>.btn,
.pagehero-visual + .yellow-band .split>div:first-child>.btn{
  align-self:flex-start;
  margin-top:26px;
}

/* Heading-row CTA: keep it aligned to the heading baseline and on one line. */
.sectionhead{
  align-items:flex-end;
  gap:32px;
}
.sectionhead>div{
  flex:1 1 auto;
  min-width:0;
}
.sectionhead>.btn{
  flex:0 0 auto;
  align-self:flex-end;
  min-width:170px;
  margin:0 0 3px;
}

/* Existing grouped/action buttons manage their own spacing. */
.actions .btn,
.buyrow .btn,
.summary .btn,
.order-card .btn,
.contact-form-band .btn{
  margin-top:0;
}

/* Form submit buttons get a small separation from the final field. */
.contact-form-band .btn{
  margin-top:8px;
  justify-self:start;
}

@media (width<=820px){
  .btn{
    min-height:54px;
    padding:13px 26px;
  }
  .sectionhead{
    gap:24px;
  }
  .sectionhead>.btn{
    min-width:155px;
  }
}

@media (width<=620px){
  .sectionhead{
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
  }
  .sectionhead>.btn,
  .sectionhead .btn{
    display:inline-flex;
    align-self:flex-start;
    min-width:0;
    margin:0;
  }
  .about-home .split>div:last-child>.btn,
  .yellow-cta .split>div:first-child>.btn,
  .material-guide .split>div:first-child>.btn,
  .pagehero-visual + .yellow-band .split>div:first-child>.btn{
    margin-top:22px;
  }
}
