/* Generated on: Mon Mar 04 2019 07:11:01 GMT+0000 (UTC) */
/* ==========================================================================
   normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css 
   ========================================================================== */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:none}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/* ==========================================================================
   Start of base Webflow CSS - If you're looking for some ultra-clean CSS, skip the boilerplate and see the unminified code below.
   ========================================================================== */
@font-face{font-family:'webflow-icons';src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format('truetype');font-weight:normal;font-style:normal}[class^="w-icon-"],[class*=" w-icon-"]{font-family:'webflow-icons' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-icon-slider-right:before{content:"\e600"}.w-icon-slider-left:before{content:"\e601"}.w-icon-nav-menu:before{content:"\e602"}.w-icon-arrow-down:before,.w-icon-dropdown-toggle:before{content:"\e603"}.w-icon-file-upload-remove:before{content:"\e900"}.w-icon-file-upload-icon:before{content:"\e903"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;background-color:#fff;font-family:Arial,sans-serif;font-size:14px;line-height:20px;color:#333}img{max-width:100%;vertical-align:middle;display:inline-block}html.w-mod-touch *{background-attachment:scroll !important}.w-block{display:block}.w-inline-block{max-width:100%;display:inline-block}.w-clearfix:before,.w-clearfix:after{content:" ";display:table;grid-column-start:1;grid-row-start:1;grid-column-end:2;grid-row-end:2}.w-clearfix:after{clear:both}.w-hidden{display:none}.w-button{display:inline-block;padding:9px 15px;background-color:#3898EC;color:white;border:0;line-height:inherit;text-decoration:none;cursor:pointer;border-radius:0}input.w-button{-webkit-appearance:button}html[data-w-dynpage] [data-w-cloak]{color:transparent !important}.w-webflow-badge,.w-webflow-badge *{position:static;left:auto;top:auto;right:auto;bottom:auto;z-index:auto;display:block;visibility:visible;overflow:visible;overflow-x:visible;overflow-y:visible;box-sizing:border-box;width:auto;height:auto;max-height:none;max-width:none;min-height:0;min-width:0;margin:0;padding:0;float:none;clear:none;border:0 none transparent;border-radius:0;background:none;background-image:none;background-position:0 0;background-size:auto auto;background-repeat:repeat;background-origin:padding-box;background-clip:border-box;background-attachment:scroll;background-color:transparent;box-shadow:none;opacity:1;transform:none;transition:none;direction:ltr;font-family:inherit;font-weight:inherit;color:inherit;font-size:inherit;line-height:inherit;font-style:inherit;font-variant:inherit;text-align:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:0;text-transform:inherit;list-style-type:disc;text-shadow:none;font-smoothing:auto;vertical-align:baseline;cursor:inherit;white-space:inherit;word-break:normal;word-spacing:normal;word-wrap:normal}.w-webflow-badge{position:fixed !important;display:inline-block !important;visibility:visible !important;z-index:2147483647 !important;top:auto !important;right:12px !important;bottom:12px !important;left:auto !important;color:#AAADB0 !important;background-color:#fff !important;border-radius:3px !important;padding:6px 8px 6px 6px !important;font-size:12px !important;opacity:1 !important;line-height:14px !important;text-decoration:none !important;transform:none !important;margin:0 !important;width:auto !important;height:auto !important;overflow:visible !important;white-space:nowrap;box-shadow:0 0 0 1px rgba(0,0,0,0.1),0 1px 3px rgba(0,0,0,0.1);cursor:pointer}.w-webflow-badge>img{display:inline-block !important;visibility:visible !important;opacity:1 !important;vertical-align:middle !important}h1,h2,h3,h4,h5,h6{font-weight:bold;margin-bottom:10px}h1{font-size:38px;line-height:44px;margin-top:20px}h2{font-size:32px;line-height:36px;margin-top:20px}h3{font-size:24px;line-height:30px;margin-top:20px}h4{font-size:18px;line-height:24px;margin-top:10px}h5{font-size:14px;line-height:20px;margin-top:10px}h6{font-size:12px;line-height:18px;margin-top:10px}p{margin-top:0;margin-bottom:10px}blockquote{margin:0 0 10px 0;padding:10px 20px;border-left:5px solid #E2E2E2;font-size:18px;line-height:22px}figure{margin:0;margin-bottom:10px}figcaption{margin-top:5px;text-align:center}ul,ol{margin-top:0;margin-bottom:10px;padding-left:40px}.w-list-unstyled{padding-left:0;list-style:none}.w-embed:before,.w-embed:after{content:" ";display:table;grid-column-start:1;grid-row-start:1;grid-column-end:2;grid-row-end:2}.w-embed:after{clear:both}.w-video{width:100%;position:relative;padding:0}.w-video iframe,.w-video object,.w-video embed{position:absolute;top:0;left:0;width:100%;height:100%}fieldset{padding:0;margin:0;border:0}button,html input[type="button"],input[type="reset"]{border:0;cursor:pointer;-webkit-appearance:button}.w-form{margin:0 0 15px}.w-form-done{display:none;padding:20px;text-align:center;background-color:#dddddd}.w-form-fail{display:none;margin-top:10px;padding:10px;background-color:#ffdede}label{display:block;margin-bottom:5px;font-weight:bold}.w-input,.w-select{display:block;width:100%;height:38px;padding:8px 12px;margin-bottom:10px;font-size:14px;line-height:1.42857143;color:#333333;vertical-align:middle;background-color:#ffffff;border:1px solid #cccccc}.w-input:-moz-placeholder,.w-select:-moz-placeholder{color:#999}.w-input::-moz-placeholder,.w-select::-moz-placeholder{color:#999;opacity:1}.w-input:-ms-input-placeholder,.w-select:-ms-input-placeholder{color:#999}.w-input::-webkit-input-placeholder,.w-select::-webkit-input-placeholder{color:#999}.w-input:focus,.w-select:focus{border-color:#3898EC;outline:0}.w-input[disabled],.w-select[disabled],.w-input[readonly],.w-select[readonly],fieldset[disabled] .w-input,fieldset[disabled] .w-select{cursor:not-allowed;background-color:#eeeeee}textarea.w-input,textarea.w-select{height:auto}.w-select{background-image:-webkit-linear-gradient(white 0, #f3f3f3 100%);background-image:linear-gradient(white 0, #f3f3f3 100%)}.w-select[multiple]{height:auto}.w-form-label{display:inline-block;cursor:pointer;font-weight:normal;margin-bottom:0}.w-checkbox,.w-radio{display:block;margin-bottom:5px;padding-left:20px}.w-checkbox:before,.w-radio:before,.w-checkbox:after,.w-radio:after{content:" ";display:table;grid-column-start:1;grid-row-start:1;grid-column-end:2;grid-row-end:2}.w-checkbox:after,.w-radio:after{clear:both}.w-checkbox-input,.w-radio-input{margin:4px 0 0;margin-top:1px \9;line-height:normal;float:left;margin-left:-20px}.w-radio-input{margin-top:3px}.w-file-upload{display:block;margin-bottom:10px}.w-file-upload-input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-100}.w-file-upload-default,.w-file-upload-uploading,.w-file-upload-success{display:inline-block;color:#333333}.w-file-upload-error{display:block;margin-top:10px}.w-file-upload-default.w-hidden,.w-file-upload-uploading.w-hidden,.w-file-upload-error.w-hidden,.w-file-upload-success.w-hidden{display:none}.w-file-upload-uploading-btn{display:flex;font-size:14px;font-weight:normal;cursor:pointer;margin:0;padding:8px 12px;border:1px solid #cccccc;background-color:#fafafa}.w-file-upload-file{display:flex;flex-grow:1;justify-content:space-between;margin:0;padding:8px 9px 8px 11px;border:1px solid #cccccc;background-color:#fafafa}.w-file-upload-file-name{font-size:14px;font-weight:normal;display:block}.w-file-remove-link{margin-top:3px;margin-left:10px;width:auto;height:auto;padding:3px;display:block;cursor:pointer}.w-icon-file-upload-remove{margin:auto;font-size:10px}.w-file-upload-error-msg{display:inline-block;color:#ea384c;padding:2px 0}.w-file-upload-info{display:inline-block;line-height:38px;padding:0 12px}.w-file-upload-label{display:inline-block;font-size:14px;font-weight:normal;cursor:pointer;margin:0;padding:8px 12px;border:1px solid #cccccc;background-color:#fafafa}.w-icon-file-upload-icon,.w-icon-file-upload-uploading{display:inline-block;margin-right:8px;width:20px}.w-icon-file-upload-uploading{height:20px}.w-container{margin-left:auto;margin-right:auto;max-width:940px}.w-container:before,.w-container:after{content:" ";display:table;grid-column-start:1;grid-row-start:1;grid-column-end:2;grid-row-end:2}.w-container:after{clear:both}.w-container .w-row{margin-left:-10px;margin-right:-10px}.w-row:before,.w-row:after{content:" ";display:table;grid-column-start:1;grid-row-start:1;grid-column-end:2;grid-row-end:2}.w-row:after{clear:both}.w-row .w-row{margin-left:0;margin-right:0}.w-col{position:relative;float:left;width:100%;min-height:1px;padding-left:10px;padding-right:10px}.w-col .w-col{padding-left:0;padding-right:0}.w-col-1{width:8.33333333%}.w-col-2{width:16.66666667%}.w-col-3{width:25%}.w-col-4{width:33.33333333%}.w-col-5{width:41.66666667%}.w-col-6{width:50%}.w-col-7{width:58.33333333%}.w-col-8{width:66.66666667%}.w-col-9{width:75%}.w-col-10{width:83.33333333%}.w-col-11{width:91.66666667%}.w-col-12{width:100%}.w-hidden-main{display:none !important}@media screen and (max-width:991px){.w-container{max-width:728px}.w-hidden-main{display:inherit !important}.w-hidden-medium{display:none !important}.w-col-medium-1{width:8.33333333%}.w-col-medium-2{width:16.66666667%}.w-col-medium-3{width:25%}.w-col-medium-4{width:33.33333333%}.w-col-medium-5{width:41.66666667%}.w-col-medium-6{width:50%}.w-col-medium-7{width:58.33333333%}.w-col-medium-8{width:66.66666667%}.w-col-medium-9{width:75%}.w-col-medium-10{width:83.33333333%}.w-col-medium-11{width:91.66666667%}.w-col-medium-12{width:100%}.w-col-stack{width:100%;left:auto;right:auto}}@media screen and (max-width:767px){.w-hidden-main{display:inherit !important}.w-hidden-medium{display:inherit !important}.w-hidden-small{display:none !important}.w-row,.w-container .w-row{margin-left:0;margin-right:0}.w-col{width:100%;left:auto;right:auto}.w-col-small-1{width:8.33333333%}.w-col-small-2{width:16.66666667%}.w-col-small-3{width:25%}.w-col-small-4{width:33.33333333%}.w-col-small-5{width:41.66666667%}.w-col-small-6{width:50%}.w-col-small-7{width:58.33333333%}.w-col-small-8{width:66.66666667%}.w-col-small-9{width:75%}.w-col-small-10{width:83.33333333%}.w-col-small-11{width:91.66666667%}.w-col-small-12{width:100%}}@media screen and (max-width:479px){.w-container{max-width:none}.w-hidden-main{display:inherit !important}.w-hidden-medium{display:inherit !important}.w-hidden-small{display:inherit !important}.w-hidden-tiny{display:none !important}.w-col{width:100%}.w-col-tiny-1{width:8.33333333%}.w-col-tiny-2{width:16.66666667%}.w-col-tiny-3{width:25%}.w-col-tiny-4{width:33.33333333%}.w-col-tiny-5{width:41.66666667%}.w-col-tiny-6{width:50%}.w-col-tiny-7{width:58.33333333%}.w-col-tiny-8{width:66.66666667%}.w-col-tiny-9{width:75%}.w-col-tiny-10{width:83.33333333%}.w-col-tiny-11{width:91.66666667%}.w-col-tiny-12{width:100%}}.w-widget{position:relative}.w-widget-map{width:100%;height:400px}.w-widget-map label{width:auto;display:inline}.w-widget-map img{max-width:inherit}.w-widget-map .gm-style-iw{text-align:center}.w-widget-map .gm-style-iw>button{display:none !important}.w-widget-twitter{overflow:hidden}.w-widget-twitter-count-shim{display:inline-block;vertical-align:top;position:relative;width:28px;height:20px;text-align:center;background:white;border:#758696 solid 1px;border-radius:3px}.w-widget-twitter-count-shim *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.w-widget-twitter-count-shim .w-widget-twitter-count-inner{position:relative;font-size:15px;line-height:12px;text-align:center;color:#999;font-family:serif}.w-widget-twitter-count-shim .w-widget-twitter-count-clear{position:relative;display:block}.w-widget-twitter-count-shim.w--large{width:36px;height:28px;margin-left:7px}.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner{font-size:18px;line-height:18px}.w-widget-twitter-count-shim:not(.w--vertical){margin-left:5px;margin-right:8px}.w-widget-twitter-count-shim:not(.w--vertical).w--large{margin-left:6px}.w-widget-twitter-count-shim:not(.w--vertical):before,.w-widget-twitter-count-shim:not(.w--vertical):after{top:50%;left:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.w-widget-twitter-count-shim:not(.w--vertical):before{border-color:rgba(117,134,150,0);border-right-color:#5d6c7b;border-width:4px;margin-left:-9px;margin-top:-4px}.w-widget-twitter-count-shim:not(.w--vertical).w--large:before{border-width:5px;margin-left:-10px;margin-top:-5px}.w-widget-twitter-count-shim:not(.w--vertical):after{border-color:rgba(255,255,255,0);border-right-color:white;border-width:4px;margin-left:-8px;margin-top:-4px}.w-widget-twitter-count-shim:not(.w--vertical).w--large:after{border-width:5px;margin-left:-9px;margin-top:-5px}.w-widget-twitter-count-shim.w--vertical{width:61px;height:33px;margin-bottom:8px}.w-widget-twitter-count-shim.w--vertical:before,.w-widget-twitter-count-shim.w--vertical:after{top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.w-widget-twitter-count-shim.w--vertical:before{border-color:rgba(117,134,150,0);border-top-color:#5d6c7b;border-width:5px;margin-left:-5px}.w-widget-twitter-count-shim.w--vertical:after{border-color:rgba(255,255,255,0);border-top-color:white;border-width:4px;margin-left:-4px}.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner{font-size:18px;line-height:22px}.w-widget-twitter-count-shim.w--vertical.w--large{width:76px}.w-widget-gplus{overflow:hidden}.w-background-video{position:relative;overflow:hidden;height:500px;color:white}.w-background-video>video{background-size:cover;background-position:50% 50%;position:absolute;right:-100%;bottom:-100%;top:-100%;left:-100%;margin:auto;min-width:100%;min-height:100%;z-index:-100}.w-background-video>video::-webkit-media-controls-start-playback-button{display:none !important;-webkit-appearance:none}.w-slider{position:relative;height:300px;text-align:center;background:#dddddd;clear:both;-webkit-tap-highlight-color:rgba(0,0,0,0);tap-highlight-color:rgba(0,0,0,0)}.w-slider-mask{position:relative;display:block;overflow:hidden;z-index:1;left:0;right:0;height:100%;white-space:nowrap}.w-slide{position:relative;display:inline-block;vertical-align:top;width:100%;height:100%;white-space:normal;text-align:left}.w-slider-nav{position:absolute;z-index:2;top:auto;right:0;bottom:0;left:0;margin:auto;padding-top:10px;height:40px;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0);tap-highlight-color:rgba(0,0,0,0)}.w-slider-nav.w-round>div{border-radius:100%}.w-slider-nav.w-num>div{width:auto;height:auto;padding:.2em .5em;font-size:inherit;line-height:inherit}.w-slider-nav.w-shadow>div{box-shadow:0 0 3px rgba(51,51,51,0.4)}.w-slider-nav-invert{color:#fff}.w-slider-nav-invert>div{background-color:rgba(34,34,34,0.4)}.w-slider-nav-invert>div.w-active{background-color:#222}.w-slider-dot{position:relative;display:inline-block;width:1em;height:1em;background-color:rgba(255,255,255,0.4);cursor:pointer;margin:0 3px .5em;transition:background-color 100ms,color 100ms}.w-slider-dot.w-active{background-color:#fff}.w-slider-arrow-left,.w-slider-arrow-right{position:absolute;width:80px;top:0;right:0;bottom:0;left:0;margin:auto;cursor:pointer;overflow:hidden;color:white;font-size:40px;-webkit-tap-highlight-color:rgba(0,0,0,0);tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.w-slider-arrow-left [class^="w-icon-"],.w-slider-arrow-right [class^="w-icon-"],.w-slider-arrow-left [class*=" w-icon-"],.w-slider-arrow-right [class*=" w-icon-"]{position:absolute}.w-slider-arrow-left{z-index:3;right:auto}.w-slider-arrow-right{z-index:4;left:auto}.w-icon-slider-left,.w-icon-slider-right{top:0;right:0;bottom:0;left:0;margin:auto;width:1em;height:1em}.w-dropdown{display:inline-block;position:relative;text-align:left;margin-left:auto;margin-right:auto;z-index:900}.w-dropdown-btn,.w-dropdown-toggle,.w-dropdown-link{position:relative;vertical-align:top;text-decoration:none;color:#222222;padding:20px;text-align:left;margin-left:auto;margin-right:auto;white-space:nowrap}.w-dropdown-toggle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;cursor:pointer;padding-right:40px}.w-icon-dropdown-toggle{position:absolute;top:0;right:0;bottom:0;margin:auto;margin-right:20px;width:1em;height:1em}.w-dropdown-list{position:absolute;background:#dddddd;display:none;min-width:100%}.w-dropdown-list.w--open{display:block}.w-dropdown-link{padding:10px 20px;display:block;color:#222222}.w-dropdown-link.w--current{color:#0082f3}.w-nav[data-collapse="all"] .w-dropdown,.w-nav[data-collapse="all"] .w-dropdown-toggle{display:block}.w-nav[data-collapse="all"] .w-dropdown-list{position:static}@media screen and (max-width:991px){.w-nav[data-collapse="medium"] .w-dropdown,.w-nav[data-collapse="medium"] .w-dropdown-toggle{display:block}.w-nav[data-collapse="medium"] .w-dropdown-list{position:static}}@media screen and (max-width:767px){.w-nav[data-collapse="small"] .w-dropdown,.w-nav[data-collapse="small"] .w-dropdown-toggle{display:block}.w-nav[data-collapse="small"] .w-dropdown-list{position:static}.w-nav-brand{padding-left:10px}}@media screen and (max-width:479px){.w-nav[data-collapse="tiny"] .w-dropdown,.w-nav[data-collapse="tiny"] .w-dropdown-toggle{display:block}.w-nav[data-collapse="tiny"] .w-dropdown-list{position:static}}.w-lightbox-backdrop{color:#000;cursor:auto;font-family:serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;list-style:disc;text-align:start;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;position:fixed;top:0;right:0;bottom:0;left:0;color:#fff;font-family:"Helvetica Neue",Helvetica,Ubuntu,"Segoe UI",Verdana,sans-serif;font-size:17px;line-height:1.2;font-weight:300;text-align:center;background:rgba(0,0,0,0.9);z-index:2000;outline:0;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-transform:translate(0, 0)}.w-lightbox-backdrop,.w-lightbox-container{height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.w-lightbox-content{position:relative;height:100vh;overflow:hidden}.w-lightbox-view{position:absolute;width:100vw;height:100vh;opacity:0}.w-lightbox-view:before{content:"";height:100vh}.w-lightbox-group,.w-lightbox-group .w-lightbox-view,.w-lightbox-group .w-lightbox-view:before{height:86vh}.w-lightbox-frame,.w-lightbox-view:before{display:inline-block;vertical-align:middle}.w-lightbox-figure{position:relative;margin:0}.w-lightbox-group .w-lightbox-figure{cursor:pointer}.w-lightbox-img{width:auto;height:auto;max-width:none}.w-lightbox-image{display:block;float:none;max-width:100vw;max-height:100vh}.w-lightbox-group .w-lightbox-image{max-height:86vh}.w-lightbox-caption{position:absolute;right:0;bottom:0;left:0;padding:.5em 1em;background:rgba(0,0,0,0.4);text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.w-lightbox-embed{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.w-lightbox-control{position:absolute;top:0;width:4em;background-size:24px;background-repeat:no-repeat;background-position:center;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.w-lightbox-left{display:none;bottom:0;left:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==")}.w-lightbox-right{display:none;right:0;bottom:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+")}.w-lightbox-close{right:0;height:2.6em;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");background-size:18px}.w-lightbox-strip{position:absolute;bottom:0;left:0;right:0;padding:0 1vh;line-height:0;white-space:nowrap;overflow-x:auto;overflow-y:hidden}.w-lightbox-item{display:inline-block;width:10vh;padding:2vh 1vh;box-sizing:content-box;cursor:pointer;-webkit-transform:translate3d(0, 0, 0)}.w-lightbox-active{opacity:.3}.w-lightbox-thumbnail{position:relative;height:10vh;background:#222;overflow:hidden}.w-lightbox-thumbnail-image{position:absolute;top:0;left:0}.w-lightbox-thumbnail .w-lightbox-tall{top:50%;width:100%;-webkit-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}.w-lightbox-thumbnail .w-lightbox-wide{left:50%;height:100%;-webkit-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}.w-lightbox-spinner{position:absolute;top:50%;left:50%;box-sizing:border-box;width:40px;height:40px;margin-top:-20px;margin-left:-20px;border:5px solid rgba(0,0,0,0.4);border-radius:50%;-webkit-animation:spin .8s infinite linear;animation:spin .8s infinite linear}.w-lightbox-spinner:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:3px solid transparent;border-bottom-color:#fff;border-radius:50%}.w-lightbox-hide{display:none}.w-lightbox-noscroll{overflow:hidden}@media (min-width:768px){.w-lightbox-content{height:96vh;margin-top:2vh}.w-lightbox-view,.w-lightbox-view:before{height:96vh}.w-lightbox-group,.w-lightbox-group .w-lightbox-view,.w-lightbox-group .w-lightbox-view:before{height:84vh}.w-lightbox-image{max-width:96vw;max-height:96vh}.w-lightbox-group .w-lightbox-image{max-width:82.3vw;max-height:84vh}.w-lightbox-left,.w-lightbox-right{display:block;opacity:.5}.w-lightbox-close{opacity:.8}.w-lightbox-control:hover{opacity:1}}.w-lightbox-inactive,.w-lightbox-inactive:hover{opacity:0}.w-richtext:before,.w-richtext:after{content:" ";display:table;grid-column-start:1;grid-row-start:1;grid-column-end:2;grid-row-end:2}.w-richtext:after{clear:both}.w-richtext[contenteditable="true"]:before,.w-richtext[contenteditable="true"]:after{white-space:initial}.w-richtext ol,.w-richtext ul{overflow:hidden}.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:before,.w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:before{outline:2px solid #2895f7}.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div,.w-richtext .w-richtext-figure-selected[data-rt-type="image"] div{outline:2px solid #2895f7}.w-richtext figure.w-richtext-figure-type-video>div:before,.w-richtext figure[data-rt-type="video"]>div:before{content:'';position:absolute;display:none;left:0;top:0;right:0;bottom:0;z-index:1}.w-richtext figure{position:relative;max-width:60%}.w-richtext figure>div:before{cursor:default !important}.w-richtext figure img{width:100%}.w-richtext figure figcaption.w-richtext-figcaption-placeholder{opacity:.6}.w-richtext figure div{font-size:0;color:transparent}.w-richtext figure.w-richtext-figure-type-image,.w-richtext figure[data-rt-type="image"]{display:table}.w-richtext figure.w-richtext-figure-type-image>div,.w-richtext figure[data-rt-type="image"]>div{display:inline-block}.w-richtext figure.w-richtext-figure-type-image>figcaption,.w-richtext figure[data-rt-type="image"]>figcaption{display:table-caption;caption-side:bottom}.w-richtext figure.w-richtext-figure-type-video,.w-richtext figure[data-rt-type="video"]{width:60%;height:0}.w-richtext figure.w-richtext-figure-type-video iframe,.w-richtext figure[data-rt-type="video"] iframe{position:absolute;top:0;left:0;width:100%;height:100%}.w-richtext figure.w-richtext-figure-type-video>div,.w-richtext figure[data-rt-type="video"]>div{width:100%}.w-richtext figure.w-richtext-align-center{margin-right:auto;margin-left:auto;clear:both}.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image>div,.w-richtext figure.w-richtext-align-center[data-rt-type="image"]>div{max-width:100%}.w-richtext figure.w-richtext-align-normal{clear:both}.w-richtext figure.w-richtext-align-fullwidth{width:100%;max-width:100%;text-align:center;clear:both;display:block;margin-right:auto;margin-left:auto}.w-richtext figure.w-richtext-align-fullwidth>div{display:inline-block;padding-bottom:inherit}.w-richtext figure.w-richtext-align-fullwidth>figcaption{display:block}.w-richtext figure.w-richtext-align-floatleft{float:left;margin-right:15px;clear:none}.w-richtext figure.w-richtext-align-floatright{float:right;margin-left:15px;clear:none}.w-nav{position:relative;background:#dddddd;z-index:1000}.w-nav:before,.w-nav:after{content:" ";display:table;grid-column-start:1;grid-row-start:1;grid-column-end:2;grid-row-end:2}.w-nav:after{clear:both}.w-nav-brand{position:relative;float:left;text-decoration:none;color:#333333}.w-nav-link{position:relative;display:inline-block;vertical-align:top;text-decoration:none;color:#222222;padding:20px;text-align:left;margin-left:auto;margin-right:auto}.w-nav-link.w--current{color:#0082f3}.w-nav-menu{position:relative;float:right}.w--nav-menu-open{display:block !important;position:absolute;top:100%;left:0;right:0;background:#C8C8C8;text-align:center;overflow:visible;min-width:200px}.w--nav-link-open{display:block;position:relative}.w-nav-overlay{position:absolute;overflow:hidden;display:none;top:100%;left:0;right:0;width:100%}.w-nav-overlay .w--nav-menu-open{top:0}.w-nav[data-animation="over-left"] .w-nav-overlay{width:auto}.w-nav[data-animation="over-left"] .w-nav-overlay,.w-nav[data-animation="over-left"] .w--nav-menu-open{right:auto;z-index:1;top:0}.w-nav[data-animation="over-right"] .w-nav-overlay{width:auto}.w-nav[data-animation="over-right"] .w-nav-overlay,.w-nav[data-animation="over-right"] .w--nav-menu-open{left:auto;z-index:1;top:0}.w-nav-button{position:relative;float:right;padding:18px;font-size:24px;display:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.w-nav-button.w--open{background-color:#C8C8C8;color:white}.w-nav[data-collapse="all"] .w-nav-menu{display:none}.w-nav[data-collapse="all"] .w-nav-button{display:block}@media screen and (max-width:991px){.w-nav[data-collapse="medium"] .w-nav-menu{display:none}.w-nav[data-collapse="medium"] .w-nav-button{display:block}}@media screen and (max-width:767px){.w-nav[data-collapse="small"] .w-nav-menu{display:none}.w-nav[data-collapse="small"] .w-nav-button{display:block}.w-nav-brand{padding-left:10px}}@media screen and (max-width:479px){.w-nav[data-collapse="tiny"] .w-nav-menu{display:none}.w-nav[data-collapse="tiny"] .w-nav-button{display:block}}.w-tabs{position:relative}.w-tabs:before,.w-tabs:after{content:" ";display:table;grid-column-start:1;grid-row-start:1;grid-column-end:2;grid-row-end:2}.w-tabs:after{clear:both}.w-tab-menu{position:relative}.w-tab-link{position:relative;display:inline-block;vertical-align:top;text-decoration:none;padding:9px 30px;text-align:left;cursor:pointer;color:#222222;background-color:#dddddd}.w-tab-link.w--current{background-color:#C8C8C8}.w-tab-content{position:relative;display:block;overflow:hidden}.w-tab-pane{position:relative;display:none}.w--tab-active{display:block}@media screen and (max-width:479px){.w-tab-link{display:block}}.w-ix-emptyfix:after{content:""}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.w-dyn-empty{padding:10px;background-color:#dddddd}.w-dyn-bind-empty{display:none !important}.w-condition-invisible{display:none !important}

/* ==========================================================================
   Start of custom Webflow CSS
   ========================================================================== */
.w-commerce-commercecartwrapper {
  display: inline-block;
  position: relative;
}

.w-commerce-commercecartopenlink {
  background-color: #3898ec;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-width: 0px;
  color: #fff;
  cursor: pointer;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 15px;
  padding-right: 15px;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecartopenlinkcount {
  display: inline-block;
  height: 18px;
  min-width: 18px;
  margin-left: 8px;
  padding-right: 6px;
  padding-left: 6px;
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
  background-color: #fff;
  color: #3898ec;
  font-size: 11px;
  line-height: 18px;
  font-weight: 700;
  text-align: center;
}

.w-commerce-commercecartcontainerwrapper {
  position: fixed;
  left: 0px;
  top: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 2;
  background-color: rgba(0, 0, 0, .8);
}

.w-commerce-commercecartcontainerwrapper--cartType-modal {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.w-commerce-commercecartcontainerwrapper--cartType-leftSidebar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.w-commerce-commercecartcontainerwrapper--cartType-rightSidebar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.w-commerce-commercecartcontainerwrapper--cartType-leftDropdown {
  position: absolute;
  top: 100%;
  left: 0px;
  right: auto;
  bottom: auto;
  background-color: transparent;
}

.w-commerce-commercecartcontainerwrapper--cartType-rightDropdown {
  position: absolute;
  left: auto;
  top: 100%;
  right: 0px;
  bottom: auto;
  background-color: transparent;
}

.w-commerce-commercecartcontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 480px;
  min-width: 320px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #fff;
  box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, .25);
}

.w-commerce-commercecartheader {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 24px;
  padding-right: 24px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #e6e6e6;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.w-commerce-commercecartheading {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.w-commerce-commercecartcloselink {
  width: 16px;
  height: 16px;
}

.w-commerce-commercecartformwrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  flex-basis: 0%;
}

.w-commerce-commercecartform {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  flex-basis: 0%;
}

.w-commerce-commercecartlist {
  overflow: auto;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 24px;
  padding-right: 24px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  flex-basis: 0%;
  -webkit-overflow-scrolling: touch;
}

.w-commerce-commercecartitem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 12px;
  padding-bottom: 12px;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.w-commerce-commercecartitemimage {
  width: 60px;
  height: 0%;
}

.w-commerce-commercecartiteminfo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 16px;
  margin-left: 16px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  flex-basis: 0%;
}

.w-commerce-commercecartproductname {
  font-weight: 700;
}

.w-commerce-commercecartoptionlist {
  text-decoration: none;
  padding-left: 0px;
  margin-bottom: 0px;
  list-style-type: none;
}

.w-commerce-commercecartquantity {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 10px;
  padding-top: 8px;
  padding-right: 6px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 60px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecartquantity::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecartquantity:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecartquantity::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecartquantity::placeholder {
  color: #999;
}

.w-commerce-commercecartquantity:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecartfooter {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 16px;
  padding-bottom: 24px;
  padding-left: 24px;
  padding-right: 24px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #e6e6e6;
}

.w-commerce-commercecartlineitem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 16px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
}

.w-commerce-commercecartordervalue {
  font-weight: 700;
}

.w-commerce-commercecartapplepaybutton {
  background-color: #000;
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-width: 0px;
  color: #fff;
  cursor: pointer;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-bottom: 8px;
  height: 38px;
  min-height: 30px;
}

.w-commerce-commercecartapplepayicon {
  width: 100%;
  height: 50%;
  min-height: 20px;
}

.w-commerce-commercecartquickcheckoutbutton {
  background-color: #000;
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-width: 0px;
  color: #fff;
  cursor: pointer;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 15px;
  padding-right: 15px;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 8px;
  height: 38px;
}

.w-commerce-commercequickcheckoutgoogleicon {
  display: block;
  margin-right: 8px;
}

.w-commerce-commercequickcheckoutmicrosofticon {
  display: block;
  margin-right: 8px;
}

.w-commerce-commercecartcheckoutbutton {
  background-color: #3898ec;
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-width: 0px;
  color: #fff;
  cursor: pointer;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 15px;
  padding-right: 15px;
  text-decoration: none;
  display: block;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: center;
}

.w-commerce-commercecartemptystate {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 100px;
  padding-bottom: 100px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  flex-basis: 0%;
}

.w-commerce-commercecarterrorstate {
  margin-top: 0px;
  margin-right: 24px;
  margin-bottom: 24px;
  margin-left: 24px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  background-color: #ffdede;
}

.w-commerce-commerceaddtocartform {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 15px;
  margin-left: 0px;
}

.w-commerce-commerceaddtocartquantityinput {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 10px;
  padding-top: 8px;
  padding-right: 6px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 60px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commerceaddtocartquantityinput::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commerceaddtocartquantityinput:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commerceaddtocartquantityinput::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commerceaddtocartquantityinput::placeholder {
  color: #999;
}

.w-commerce-commerceaddtocartquantityinput:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commerceaddtocartbutton {
  background-color: #3898ec;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-width: 0px;
  color: #fff;
  cursor: pointer;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 15px;
  padding-right: 15px;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commerceaddtocartoutofstock {
  margin-top: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  padding-right: 10px;
  background-color: #ddd;
}

.w-commerce-commerceaddtocarterror {
  margin-top: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  padding-right: 10px;
  background-color: #ffdede;
}

.w-commerce-commercecheckoutformcontainer {
  width: 100%;
  min-height: 100vh;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 20px;
  padding-left: 20px;
  background-color: #f5f5f5;
}

.w-commerce-commercelayoutmain {
  -webkit-flex-basis: 800px;
  -ms-flex-preferred-size: 800px;
  flex-basis: 800px;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  margin-right: 20px;
}

.w-commerce-commercecheckoutcustomerinfowrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutblockheader {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-right: 20px;
  padding-left: 20px;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #e6e6e6;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #e6e6e6;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #e6e6e6;
  background-color: #fff;
}

.w-commerce-commercecheckoutblockcontent {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 20px;
  padding-left: 20px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #e6e6e6;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #e6e6e6;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #e6e6e6;
  background-color: #fff;
}

.w-commerce-commercecheckoutlabel {
  margin-bottom: 8px;
}

.w-commerce-commercecheckoutemailinput {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 0px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutemailinput::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutemailinput:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutemailinput::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutemailinput::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutemailinput:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingaddresswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutshippingfullname {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutshippingfullname::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingfullname:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingfullname::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingfullname::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingfullname:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstreetaddress {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutshippingstreetaddress::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddress:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddress::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddress::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddress:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -8px;
  margin-left: -8px;
}

.w-commerce-commercecheckoutcolumn {
  padding-right: 8px;
  padding-left: 8px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  flex-basis: 0%;
}

.w-commerce-commercecheckoutshippingcity {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutshippingcity::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcity:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcity::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcity::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcity:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstateprovince {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutshippingstateprovince::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstateprovince:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstateprovince::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstateprovince::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstateprovince:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingzippostalcode {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutshippingzippostalcode::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingzippostalcode:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingzippostalcode::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingzippostalcode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingzippostalcode:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingcountryselector {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 0px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutshippingcountryselector::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcountryselector:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcountryselector::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcountryselector::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcountryselector:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingmethodswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutshippingmethodslist {
  border-left-color: #e6e6e6;
  border-left-width: 1px;
  border-left-style: solid;
  border-right-color: #e6e6e6;
  border-right-width: 1px;
  border-right-style: solid;
}

.w-commerce-commercecheckoutshippingmethoditem {
  padding-top: 16px;
  padding-bottom: 16px;
  padding-right: 16px;
  padding-left: 16px;
  font-weight: 400;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  border-bottom-color: #e6e6e6;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  margin-bottom: 0px;
  background-color: #fff;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.w-commerce-commercecheckoutshippingmethoddescriptionblock {
  margin-left: 12px;
  margin-right: 12px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.w-commerce-commerceboldtextblock {
  font-weight: 700;
}

.w-commerce-commercecheckoutshippingmethodsemptystate {
  text-align: center;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 64px;
  padding-bottom: 64px;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #e6e6e6;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #e6e6e6;
  background-color: #fff;
}

.w-commerce-commercecheckoutpaymentinfowrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutcardnumber,
.w-commerce-commercecheckoutcardnumber {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutcardnumber::-webkit-input-placeholder,
.w-commerce-commercecheckoutcardnumber::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardnumber:-ms-input-placeholder,
.w-commerce-commercecheckoutcardnumber:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardnumber::-ms-input-placeholder,
.w-commerce-commercecheckoutcardnumber::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardnumber::placeholder,
.w-commerce-commercecheckoutcardnumber::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardnumber:focus,
.w-commerce-commercecheckoutcardnumber.-wfp-focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutcardexpirationdate,
.w-commerce-commercecheckoutcardexpirationdate {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutcardexpirationdate::-webkit-input-placeholder,
.w-commerce-commercecheckoutcardexpirationdate::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardexpirationdate:-ms-input-placeholder,
.w-commerce-commercecheckoutcardexpirationdate:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardexpirationdate::-ms-input-placeholder,
.w-commerce-commercecheckoutcardexpirationdate::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardexpirationdate::placeholder,
.w-commerce-commercecheckoutcardexpirationdate::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardexpirationdate:focus,
.w-commerce-commercecheckoutcardexpirationdate.-wfp-focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutcardsecuritycode,
.w-commerce-commercecheckoutcardsecuritycode {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutcardsecuritycode::-webkit-input-placeholder,
.w-commerce-commercecheckoutcardsecuritycode::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardsecuritycode:-ms-input-placeholder,
.w-commerce-commercecheckoutcardsecuritycode:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardsecuritycode::-ms-input-placeholder,
.w-commerce-commercecheckoutcardsecuritycode::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardsecuritycode::placeholder,
.w-commerce-commercecheckoutcardsecuritycode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardsecuritycode:focus,
.w-commerce-commercecheckoutcardsecuritycode.-wfp-focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingaddresstogglewrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}

.w-commerce-commercecheckoutbillingaddresstogglecheckbox {
  margin-top: 4px;
}

.w-commerce-commercecheckoutbillingaddresstogglelabel {
  font-weight: 400;
  margin-left: 8px;
}

.w-commerce-commercecheckoutbillingaddresswrapper {
  margin-top: 16px;
}

.w-commerce-commercecheckoutbillingfullname {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutbillingfullname::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingfullname:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingfullname::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingfullname::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingfullname:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstreetaddress {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutbillingstreetaddress::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddress:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddress::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddress::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddress:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingcity {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutbillingcity::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingcity:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingcity::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingcity::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingcity:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstateprovince {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutbillingstateprovince::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstateprovince:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstateprovince::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstateprovince::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstateprovince:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingzippostalcode {
  background-color: #fafafa;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #ddd;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  height: 38px;
  line-height: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.w-commerce-commercecheckoutbillingzippostalcode::-webkit-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingzippostalcode:-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingzippostalcode::-ms-input-placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingzippostalcode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingzippostalcode:focus {
  border-top-color: #3898ec;
  border-right-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutorderitemswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummaryblockheader {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-right: 20px;
  padding-left: 20px;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #e6e6e6;
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: #e6e6e6;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: #e6e6e6;
  background-color: #fff;
}

.w-commerce-commercecheckoutorderitemslist {
  margin-bottom: -20px;
}

.w-commerce-commercecheckoutorderitem {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.w-commerce-commercecheckoutorderitemdescriptionwrapper {
  margin-left: 16px;
  margin-right: 16px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.w-commerce-commercecheckoutorderitemquantitywrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  white-space: pre-wrap;
}

.w-commerce-commercecheckoutorderitemoptionlist {
  text-decoration: none;
  padding-left: 0px;
  margin-bottom: 0px;
  list-style-type: none;
}

.w-commerce-commercelayoutcontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.w-commerce-commercelayoutsidebar {
  -webkit-flex-basis: 320px;
  -ms-flex-preferred-size: 320px;
  flex-basis: 320px;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: -webkit-sticky;
  position: sticky;
  top: 20px;
}

.w-commerce-commercecheckoutordersummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummarylineitem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-bottom: 8px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.w-commerce-commercecheckoutordersummaryextraitemslistitem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-bottom: 8px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.w-commerce-commercecheckoutsummarytotal {
  font-weight: 700;
}

.w-commerce-commercecheckoutplaceorderbutton {
  background-color: #3898ec;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-width: 0px;
  color: #fff;
  cursor: pointer;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 15px;
  padding-right: 15px;
  text-decoration: none;
  display: block;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-bottom: 20px;
  text-align: center;
}

.w-commerce-commercecheckouterrorstate {
  margin-top: 16px;
  margin-bottom: 16px;
  padding-top: 10px;
  padding-right: 16px;
  padding-bottom: 10px;
  padding-left: 16px;
  background-color: #ffdede;
}

.w-commerce-commerceorderconfirmationcontainer {
  width: 100%;
  min-height: 100vh;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 20px;
  padding-left: 20px;
  background-color: #f5f5f5;
}

.w-commerce-commercecheckoutcustomerinfosummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummaryitem {
  margin-bottom: 8px;
}

.w-commerce-commercecheckoutsummarylabel {
  margin-bottom: 8px;
}

.w-commerce-commercecheckoutsummaryflexboxdiv {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.w-commerce-commercecheckoutsummarytextspacingondiv {
  margin-right: 0.33em;
}

.w-commerce-commercecheckoutshippingsummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutpaymentsummarywrapper {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .w-commerce-commercelayoutmain {
    margin-right: 0px;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
  }
  .w-commerce-commercelayoutcontainer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .w-commerce-commercelayoutsidebar {
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
  }
}

@media screen and (max-width: 479px) {
  .w-commerce-commercecartcontainerwrapper--cartType-modal {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .w-commerce-commercecartcontainerwrapper--cartType-leftDropdown {
    position: fixed;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .w-commerce-commercecartcontainerwrapper--cartType-rightDropdown {
    position: fixed;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .w-commerce-commercecartquantity {
    font-size: 16px;
  }
  .w-commerce-commerceaddtocartquantityinput {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutemailinput {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutshippingfullname {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutshippingstreetaddress {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutshippingstreetaddressoptional {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutrow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .w-commerce-commercecheckoutshippingcity {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutshippingstateprovince {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutshippingzippostalcode {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutshippingcountryselector {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutcardnumber,
  .w-commerce-commercecheckoutcardnumber {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutcardexpirationdate,
  .w-commerce-commercecheckoutcardexpirationdate {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutcardsecuritycode,
  .w-commerce-commercecheckoutcardsecuritycode {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutbillingfullname {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutbillingstreetaddress {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutbillingstreetaddressoptional {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutbillingcity {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutbillingstateprovince {
    font-size: 16px;
  }
  .w-commerce-commercecheckoutbillingzippostalcode {
    font-size: 16px;
  }
}

h5 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: 1px;
}

p {
  margin-bottom: 10px;
  line-height: 24px;
}

/* ==========================================================================
   Artisanal Aqua — design tokens (single source of truth)
   Edit values here to retune the whole site. SSENSE-style: black on white,
   neutral grotesk, cool greys, restrained type scale.
   ========================================================================== */
:root {
  /* Surfaces — pure white, no warm tints */
  --aa-bg: #ffffff;
  --aa-bg-muted: var(--aa-bg);        /* max warmth permitted; used very sparingly */

  /* Text — near-black primary, cool greys for secondary */
  --aa-text: #1a1a1a;
  --aa-text-secondary: #6b6b6b;
  --aa-text-quiet: #8a8a8a;

  /* Lines — light cool grey hairlines */
  --aa-border: #e5e5e5;

  /* Accent — reserved for small tags only (e.g. SOLD OUT). Kept desaturated. */
  --aa-accent: #1a1a1a;

  /* Type — single neutral grotesk; Helvetica Neue with thin display weights */
  --aa-font: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
  /* Wordmark — self-hosted so the thin logo renders the same on every OS
     (Helvetica Neue Thin only exists on macOS; Windows fell back to Arial 400). */
  --aa-font-wordmark: "AA Wordmark", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
  --aa-weight-thin: 200;         /* renders on macOS/iOS; falls back to normal elsewhere */
  --aa-weight-light: 300;
  --aa-weight-normal: 400;

  /* Type scale — restrained jumps: 12 / 13 / 14 / 16 / 20 / 32 / display */
  --aa-fs-xs: 12px;
  --aa-fs-sm: 13px;
  --aa-fs-base: 14px;
  --aa-fs-md: 16px;
  --aa-fs-lg: 20px;
  --aa-fs-xl: 32px;

  /* Line-height */
  --aa-lh-body: 1.5;
  --aa-lh-tight: 1.05;
}

.product {
  padding-right: 0px;
  padding-left: 0px;
  border-style: solid;
  border-width: 0.5px;
  border-color: var(--aa-border);
  /* White like the card content, so when the carousel stretches a short card to
     match a taller one the extra height fills white instead of showing the
     tinted panel below as a gray bar (By Region / Principles results). */
  background-color: var(--aa-bg);
  -webkit-transition: border-color 200ms ease;
  transition: border-color 200ms ease;
}

.product:hover {
  z-index: 1;
  border-color: var(--aa-border);
}

.body {
  font-family: var(--aa-font);
  color: var(--aa-text);
  font-size: var(--aa-fs-base);
  line-height: var(--aa-lh-body);
  font-weight: var(--aa-weight-normal);
  background-color: var(--aa-bg);
}

.productinfo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 0px;
  padding: 12px 14px 14px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  border-top: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
}

.productinfo_price {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4px;
  font-size: var(--aa-fs-sm);
  color: var(--aa-text-secondary);
}

.pricewas {
  margin-left: 12px;
  opacity: 1;
  color: var(--aa-text-quiet);
  text-decoration: line-through;
}

.productinfo_brand {
  font-size: var(--aa-fs-sm);
  line-height: 1.4;
  font-weight: var(--aa-weight-normal);
  color: var(--aa-text);
}

.productinfo_title {
  font-size: var(--aa-fs-sm);
  line-height: 1.4;
  font-weight: var(--aa-weight-normal);
  color: var(--aa-text-secondary);
}

/* Listing pages: sidebar filter + product index (SSENSE pattern) */
.shop_layout {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.shop_sidebar {
  width: 200px;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 200px;
  -ms-flex: 0 0 200px;
  flex: 0 0 200px;
  padding: 24px 20px;
  border-right: 1px solid var(--aa-border);
}

.shop_main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
}

.shop_heading {
  padding: 24px 20px 16px;
}

.shop_heading .largeheading {
  margin-bottom: 0px;
}

.shop_filter_group {
  margin-bottom: 28px;
}

.shop_filter_heading {
  margin: 0 0 10px;
  font-size: var(--aa-fs-xs);
  font-weight: var(--aa-weight-normal);
  color: var(--aa-text-quiet);
}

.shop_filter_link {
  display: block;
  padding: 4px 0;
  font-size: var(--aa-fs-base);
  color: var(--aa-text);
  text-decoration: none;
}

.shop_filter_link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.shop_filter_link.is-active {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 767px) {
  .shop_layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .shop_sidebar {
    width: 100%;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    border-right: 0;
    border-bottom: 1px solid var(--aa-border);
  }
}

/* Flush product index — CSS grid (not Webflow's floated columns) so uneven
   card heights size each row to its tallest card instead of snagging the next
   card and leaving a gap. 4-up desktop, 2-up mobile (matches the old 25% cols). */
.w-dyn-items.w-row {
  margin-left: 0;
  margin-right: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
/* Webflow's .w-row clearfix ::before/::after are pinned to grid cell 1/1; as a
   grid container they'd become items and shove the first card into column 2,
   leaving the top-left cell empty. Remove them so cards start at cell 1. */
.w-dyn-items.w-row::before,
.w-dyn-items.w-row::after { content: none; }

.product.w-col {
  float: none;
  width: auto;
  padding-left: 0;
  padding-right: 0;
}

/* Empty / status messages live inside the grid — let them span the full row. */
.w-dyn-items.w-row > .aa-grid_msg { grid-column: 1 / -1; }

@media screen and (max-width: 767px) {
  .w-dyn-items.w-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.link-block:hover .productinfo_title {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.navbar {
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
  z-index: 50;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-right: 0px;
  padding-left: 20px;
  border-bottom: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
}

/* Self-hosted wordmark font (Inter variable) so the logo is identical across
   macOS, Windows and Android instead of falling back to Arial on Windows. The
   variable axis lets us pick a weight between Thin (100) and ExtraLight (200). */
@font-face {
  font-family: "AA Wordmark";
  src: url("/fonts/inter-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

.logo {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 8px;
  font-family: var(--aa-font-wordmark);
  font-size: 36px;
  /* Inter runs a touch heavier + wider than Helvetica Neue Thin, so set the nav
     wordmark just above Thin and tighten the tracking to match the macOS look. */
  font-weight: 150;
  letter-spacing: -0.045em;
}

.logo.subhead {
  margin-left: 14px;
  padding-top: 22px;
  padding-bottom: 20px;
  font-size: var(--aa-fs-xs);
  line-height: 16px;
  font-weight: var(--aa-weight-normal);
  color: var(--aa-text-secondary);
}

.logo.footer_logo {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: var(--aa-fs-md);
  font-weight: var(--aa-weight-normal);
}

.brand {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  /* Size to the logo only — an auto right margin absorbs the free space so the
     nav sits at the right, without the link itself spanning (and making
     clickable) the empty middle of the bar. */
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: auto;
}

.nav-link {
  color: var(--aa-text);
  font-size: var(--aa-fs-base);
  font-weight: var(--aa-weight-light);
  text-decoration: none;
}

.nav-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nav-link.w--current {
  color: var(--aa-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hero_checkout {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 30vh;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
}

.subscribe {
  padding: 40px 20px 60px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-top: 1px solid var(--aa-border);
  border-bottom: 1px none var(--aa-border);
  background-color: var(--aa-bg);
  text-align: center;
}

.section {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background-color: var(--aa-bg);
  border-top: 1px solid var(--aa-border);
}

/* Editorial statement band between the hero and the About section */
.statement {
  padding: 96px 8vw;
  border-top: 1px solid var(--aa-border);
  text-align: center;
}

.statement_lead {
  margin: 0 0 14px;
  font-size: 30px;
  line-height: 1.2;
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.01em;
  color: var(--aa-text);
}

.statement_sub {
  margin: 0;
  font-size: var(--aa-fs-base);
  font-weight: var(--aa-weight-light);
  color: var(--aa-text);
}

@media (max-width: 767px) {
  .statement {
    padding: 64px 24px;
  }
  .statement_lead {
    font-size: 24px;
  }
}

/* Scroll-driven image-sequence hero (desktop): the pour plays to its final
   frame full-screen, then that frame shrinks/morphs into the hero image slot
   on the right while the text resolves on the left. JS drives the canvas box. */
.hero_seq {
  position: relative;
  height: 300vh;
  background-color: var(--aa-bg);
}

.hero_seq_sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

/* Behind the canvas: the white hero with text on the left (revealed as the
   canvas shrinks away to the right). */
.hero_intro {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: var(--aa-bg);
  z-index: 1;
}

.hero_intro .hero_content {
  max-width: 50vw;
  opacity: 0;
}

/* The image-sequence canvas: full-viewport during the pour, then JS animates
   its left/top/width/height down into the right-hand image slot. */
.hero_seq_canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: var(--aa-bg-muted);
}

/* Hairline that fades in along the left edge of the shrunken frame. */
.hero_morph_line {
  position: absolute;
  top: 0;
  width: 1px;
  background-color: var(--aa-border);
  opacity: 0;
  z-index: 3;
  pointer-events: none;
}

/* Full-width hairline that fades in right under the shrunken frame. */
.hero_morph_base {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--aa-border);
  opacity: 0;
  z-index: 3;
  pointer-events: none;
}

.hero_intro_inner {
  max-width: 640px;
}

.hero_seq_mobile {
  display: none;
}

@media (max-width: 767px) {
  .hero_seq {
    display: none;
  }
  /* Stack the full pour frame above the intro copy — mirrors the About band
     directly beneath it. Was a cover-cropped background with the text overlaid,
     which hid the glass and gloved hand; now the whole frame is shown. */
  .hero_seq_mobile {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: var(--aa-bg);
  }
  .hero_mobile_photo {
    width: 100vw;
    aspect-ratio: 2560 / 1440;
    background-color: var(--aa-bg-muted);
    background-image: url("/frames/saratoga/frame_0060.jpg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    border-bottom: 1px solid var(--aa-border);
  }
  .hero_seq_mobile .hero_intro_inner {
    max-width: 100%;
    padding: 40px 8% 56px;
    text-align: center;
  }
  .hero_seq_mobile .largeheading {
    font-size: 30px;
  }
}

/* About section photo — mirrors the hero: full image, hugs the left edge, divider on its right */
.about_photo {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  height: 62vh;
  aspect-ratio: 1744 / 2336;
  border-right: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
  background-image: url("../images/about-panna.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero_photo {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  height: 62vh;
  aspect-ratio: 1744 / 2336;
  padding: 0;
  border-left: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
  background-image: url("../images/hero-saratoga.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero_content {
  padding-right: 72px;
  padding-left: 72px;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.largeheading {
  margin-top: 0px;
  margin-bottom: 20px;
  margin-left: -1px;
  font-size: 33px;
  line-height: var(--aa-lh-tight);
  font-weight: var(--aa-weight-thin);
  letter-spacing: -0.02em;
}

.button {
  margin-top: 28px;
  padding: 13px 22px;
  background-color: var(--aa-text);
  font-size: var(--aa-fs-base);
  text-decoration: none;
}

.button.subscribe_button {
  margin-top: 0px;
}

.button.checkoutbutton {
  margin-top: 0px;
}

.button.place-order {
  margin-top: 0px;
}

.button_textlink {
  color: #fff;
  text-decoration: none;
}

/* Hero CTA: text + underline, not a filled box */
.hero_link {
  display: inline-block;
  margin-top: 28px;
  font-size: var(--aa-fs-base);
  color: var(--aa-text);
  text-decoration: none;
  text-underline-offset: 3px;
}

.hero_link:hover {
  text-decoration: underline;
}

.paragraph.cc-large {
  font-size: 16px;
  line-height: 1.8em;
}

.paragraph.cc-large.cc-w90 {
  width: 90%;
  font-size: 19px;
  font-weight: var(--aa-weight-light);
}

.subscribe_input {
  margin-right: 24px;
  margin-bottom: 0px;
  padding-top: 22px;
  padding-bottom: 22px;
  border-style: solid;
  border-width: 1px;
  border-color: var(--aa-border);
  background-color: var(--aa-bg);
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}

.subscribe_input:focus {
  border-bottom-color: var(--aa-text);
}

.topheading {
  margin-bottom: 8px;
  font-size: var(--aa-fs-xs);
  font-weight: var(--aa-weight-normal);
  color: var(--aa-text-secondary);
}

.aboutus {
  padding: 40px 8% 60px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: var(--aa-bg);
  text-align: center;
}

.aboutus p {
  font-size: 22px;
  line-height: 1.5;
  font-weight: var(--aa-weight-light);
}

/* Full-width hairline right under the About image, then white space before the grid */
.product_index {
  padding-top: 64px;
  border-top: 1px solid var(--aa-border);
}

/* ---- Trending carousel (homepage) ------------------------------------ */
.trending {
  padding: 64px 0 72px;
  border-top: 1px solid var(--aa-border);
}

.trending_head {
  padding: 0 20px;
}

.trending_heading {
  margin-bottom: 28px;
  font-size: 26px;
}

.trending_carousel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 8px;
}

/* Outside the card edges, vertically centred on the row. Line-stroke chevron
   only — no fill, no circular background — matching the sort/search icons. */
.trending_arrow {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--aa-text);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-transition: opacity 200ms ease, color 200ms ease;
  transition: opacity 200ms ease, color 200ms ease;
}

.trending_arrow:hover {
  color: var(--aa-text-secondary);
}

.trending_arrow:disabled,
.trending_arrow[disabled] {
  opacity: 0.25;
  cursor: default;
  pointer-events: none;
}

.trending_viewport {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  /* Cards sit flush with the viewport's bottom edge, so overflow:hidden clips
     each card's 0.5px bottom border (the clip that hides off-screen carousel
     cards horizontally also clips it vertically). 1px of breathing room lets
     the bottom hairline render, matching the grid cards on category/search. */
  padding-bottom: 1px;
}

.trending_track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  will-change: transform;
  -webkit-transition: -webkit-transform 460ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 460ms cubic-bezier(0.4, 0, 0.2, 1);
}

.trending_track.is-dragging {
  -webkit-transition: none;
  transition: none;
}

.trending_track > .product {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.trending_track > .trending_msg {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 100%;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
  padding: 64px 20px;
  color: var(--aa-text-quiet);
  font-size: var(--aa-fs-base);
}

@media (max-width: 767px) {
  .trending {
    padding: 48px 0 56px;
  }
  .trending_heading {
    margin-bottom: 20px;
  }
  .trending_track > .product {
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* ---- By Region (homepage) -------------------------------------------- */
.byregion {
  padding: 72px 0 80px;
  border-top: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
}

/* Mirrors .statement_lead — light weight; kept on a single line. */
.region_statement {
  margin: 0 0 48px;
  padding: 0 20px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.01em;
  color: var(--aa-text);
  text-align: center;
  white-space: nowrap;
}

/* Identical to the Trending heading: it carries .largeheading (thin weight,
   -0.02em tracking, tight line-height, black) and only sets the 26px size and
   the 20px left inset so it sits exactly where "Trending" does above. */
.region_heading {
  margin: 0 0 28px;
  padding: 0 20px;
  font-size: 26px;
}

/* Full-bleed to match the Trending row: the 36px inset (8px carousel pad +
   28px arrow) lines the outer tiles up with the first and last product cards. */
/* All six regions in a single connected row (shared hairlines, no gaps); the
   active one grows and merges into the carousel below — like Our Principles. */
/* Region selector — a slim, single-row tab bar of region names. Equal-width
   columns that adapt to ANY number of regions (grid-auto-flow: column), so it
   stays one clean row whether there are 6 tiles or 9. The selected tab tints and
   its results panel opens directly beneath. */
.region_grid {
  display: flex;
  padding: 0 36px;
}

.region_tile {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: 16px 10px;
  border-top: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
  text-align: center;
  text-decoration: none;
  -webkit-transition: flex-grow 320ms ease, background-color 200ms ease;
  transition: flex-grow 320ms ease, background-color 200ms ease;
}

/* Hairline divider between adjacent tiles. */
.region_tile + .region_tile {
  border-left: 1px solid var(--aa-border);
}

/* When a region is open, each tile carries the hairline down to the carousel;
   the active tile drops it and tints, merging into the panel below. */
.byregion.is-open .region_tile {
  border-bottom: 1px solid var(--aa-border);
}

.byregion.is-open .region_tile.is-active {
  border-bottom-color: transparent;
}

/* No gray tint on hover — the tile only tints when selected (clicked). Hover
   still underlines the region name (rule below) as the affordance. */

/* Mirrors .largeheading — thin weight, tight tracking, the site's heading voice. */
.region_name {
  margin: 0;
  font-size: clamp(13px, 1.15vw, 17px);
  line-height: var(--aa-lh-tight);
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.01em;
  color: var(--aa-text);
  white-space: nowrap;
}

/* Match the navbar nav-link underline: a thin, continuous 1px line that the
   font's descenders (the 'p' in Spanish) don't cut through. Without these the
   underline thickness auto-scales with the 23px name and skip-ink breaks it. */
.region_tile:hover .region_name {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

.region_rule {
  display: block;
  width: 26px;
  height: 0;
  margin: 10px 0 12px;
  border-top: 1px solid var(--aa-border);
}

.region_brands {
  margin: 0;
  font-size: var(--aa-fs-xs);
  line-height: 1.5;
  color: var(--aa-text-secondary);
}

/* Selected region — grows wider (the signature accordion move, now flex-based so
   it scales to any number of tiles), tints, name underlined. */
.region_tile.is-active {
  flex-grow: 1.6;
  background-color: #fafafa;
}

.region_tile.is-active .region_name {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

/* The active end tiles bleed their tint into the grid's 36px side gutter so the
   gray reaches the page edge and meets the edge-to-edge results panel below with
   no white sliver. American (first) bleeds left; Pacific (last) bleeds right.
   Desktop only — phones use boxed, separated tiles. */
@media (min-width: 768px) {
  .region_tile.is-active:first-child { box-shadow: -36px 0 0 0 #fafafa; }
  .region_tile.is-active:last-child  { box-shadow: 36px 0 0 0 #fafafa; }
}

/* In-page region results — flush beneath the row (no own top rule), sharing the
   active tile's tint so it reads as one continuous unit. Cross-fade only;
   carousel in the gutters so cards line up with the section. */
.region_results {
  margin-top: 0;
  padding: 44px 36px 8px;
  background-color: #fafafa;
}

.region_results.is-empty {
  display: none;
}

.region_results .trending_carousel {
  margin-left: -36px;
  margin-right: -36px;
}

.region_results_head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 0 26px;
}

.region_results_title {
  font-size: 19px;
  line-height: 1.3;
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.01em;
  color: var(--aa-text);
}

/* Ghost button — hairline border, no radius, fills near-black on hover. */
.region_browse {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding: 9px 18px;
  border: 1px solid var(--aa-text);
  background: none;
  font-size: var(--aa-fs-sm);
  color: var(--aa-text);
  text-decoration: none;
  -webkit-transition: background-color 200ms ease, color 200ms ease;
  transition: background-color 200ms ease, color 200ms ease;
}

.region_browse:hover {
  background-color: var(--aa-text);
  color: var(--aa-bg);
}

@media (max-width: 767px) {
  .byregion {
    padding: 56px 0 64px;
  }
  .region_statement {
    font-size: 24px;
    margin-bottom: 40px;
    white-space: normal;       /* one line is desktop-only; let it wrap on phones */
  }
  /* Boxed name tabs on phones, three-up (the connected single-row + merge is
     desktop only; shared borders don't wrap cleanly). Name-only tiles are short
     enough that 3 columns stay tidy. */
  .region_grid,
  .region_grid[data-active] {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  /* Grid ignores flex-grow, so the active tab doesn't grow on phones — stays a
     clean 3-up grid. */
  .region_tile { min-height: 52px; padding: 12px 8px; }
  .region_tile,
  .region_tile + .region_tile,
  .byregion.is-open .region_tile {
    border: 1px solid var(--aa-border);
  }
  .byregion.is-open .region_tile.is-active {
    border-color: var(--aa-text);
  }
  .region_results {
    margin-top: 28px;
    border-top: 1px solid var(--aa-border);
    padding: 40px 20px 8px;
  }
  .region_results .trending_carousel {
    margin-left: -20px;
    margin-right: -20px;
  }
}

/* Full-bleed visual band under By Region — same 62vh sizing as the About
   section's photo, edge to edge, with the site's hairline divider on top. */
/* Aspect ratio matches the image (3168×1344) so the full picture shows edge to
   edge with no cropping. */
.region_band {
  aspect-ratio: 3168 / 1344;
  border-top: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
  background-image: url("../images/region-band.jpg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
}

/* ---- Our Principles (homepage) --------------------------------------- */
.principles {
  padding: 64px 0 72px;
  border-top: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
}

/* Same heading treatment and 20px left position as Trending / By Region. */
.principles_heading {
  margin: 0 0 28px;
  padding: 0 20px;
  font-size: 26px;
}

/* Full-bleed to match the Trending row and By Region grid: the 36px inset
   lines the columns up with the product cards / region tiles above. The active
   column grows (and the others give way) when a lens is selected. */
.principles_grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  padding: 0 36px;
  -webkit-transition: grid-template-columns 320ms ease;
  transition: grid-template-columns 320ms ease;
}

.principles_grid[data-active="0"] { grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.85fr) minmax(0, 0.85fr); }
.principles_grid[data-active="1"] { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.5fr) minmax(0, 0.85fr); }
.principles_grid[data-active="2"] { grid-template-columns: minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(0, 1.5fr); }

/* Hairline dividers only — a top rule across the row and vertical rules
   between the columns. No boxes, no gaps, no shadows. */
.principle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 36px 32px;
  border-top: 1px solid var(--aa-border);
  -webkit-transition: background-color 250ms ease;
  transition: background-color 250ms ease;
}

/* Only the content cluster is interactive — the empty space below it is not. */
.principle_inner {
  cursor: pointer;
}

.principle + .principle {
  border-left: 1px solid var(--aa-border);
}

/* When a lens is open, each column carries the hairline down to the results
   panel; the active column drops that hairline and tints, so it reads as one
   continuous surface flowing into the panel below it. */
.principles.is-open .principle {
  border-bottom: 1px solid var(--aa-border);
}

.principle.is-active {
  background-color: #fafafa;
}

.principles.is-open .principle.is-active {
  border-bottom-color: transparent;
}

/* The active end columns bleed their tint into the grid's 36px side gutter so
   the gray reaches the page edge and meets the edge-to-edge results panel below
   with no white sliver. Left column bleeds left; right column bleeds right. */
@media (min-width: 768px) {
  .principles_grid[data-active="0"] .principle.is-active { box-shadow: -36px 0 0 0 #fafafa; }
  .principles_grid[data-active="2"] .principle.is-active { box-shadow: 36px 0 0 0 #fafafa; }
}

/* Trigger link = real <button>, underline-active like nav links / sort.
   Bottom-aligned across the three columns via margin-top:auto. */
.principle_link {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  padding: 18px 0 0;
  border: 0;
  background: none;
  -webkit-appearance: none;
  appearance: none;
  font-family: var(--aa-font);
  font-size: var(--aa-fs-base);
  font-weight: var(--aa-weight-normal);
  line-height: 1.4;
  color: var(--aa-text);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.principle_link:hover,
.principle_link.is-active,
.principle_inner:hover .principle_link {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

/* In-page results panel — cross-fade only (opacity), no slide/scale. It shares
   the active column's tint and sits flush beneath the grid (no own top rule),
   so the selected column + panel read as one continuous unit. */
.principles_results {
  margin-top: 0;
  padding: 48px 36px 8px;
  background-color: #fafafa;
}

.principles_results.is-empty {
  display: none;
}

.principles_group + .principles_group {
  margin-top: 48px;
}

/* In-panel carousels span the panel padding so their cards line up with the
   group labels and the arrows sit in the panel's gutters. */
.principles_results .trending_carousel {
  margin-left: -36px;
  margin-right: -36px;
}

.principles_group_label {
  margin: 0 0 16px;
  font-size: var(--aa-fs-xs);
  letter-spacing: 0.08em;
  color: var(--aa-text-secondary);
}

/* Mineral-character lens — explainer + character bands. */
.mineral_intro {
  max-width: 64ch;
  margin: 0 0 44px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--aa-border);
}

.mineral_intro_title {
  margin: 0 0 12px;
  font-size: 19px;
  line-height: 1.3;
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.01em;
  color: var(--aa-text);
}

.mineral_intro_body {
  margin: 0;
  font-size: var(--aa-fs-base);
  line-height: var(--aa-lh-body);
  font-weight: var(--aa-weight-light);
  color: var(--aa-text-secondary);
}

.mineral_band_head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  margin: 0 0 8px;
}

.mineral_band_head .principles_group_label {
  margin: 0;
}

.mineral_band_range {
  margin-left: 12px;
  font-size: var(--aa-fs-xs);
  color: var(--aa-text-quiet);
}

.mineral_band_note {
  margin: 0 0 22px;
  max-width: 58ch;
  font-size: var(--aa-fs-sm);
  line-height: var(--aa-lh-body);
  font-weight: var(--aa-weight-light);
  color: var(--aa-text-secondary);
}

/* "See where each one comes from" — source stories, not cards. */
/* Origin lens — interactive world map of the springs and houses we carry. */
.aa-map {
  margin: 0 0 44px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--aa-border);
}
.aa-map_frame { position: relative; max-width: 840px; margin: 0 auto; }
.aa-map_svg svg { display: block; width: 100%; height: auto; }
.aa-map .land {
  fill: #e7e7e4;
  stroke: #fafafa;
  stroke-width: 0.6;
  transition: fill 0.18s ease;
}
.aa-map .land.aa-src { fill: #9a9a97; cursor: pointer; }
.aa-map .land.aa-src:hover,
.aa-map .land.aa-src.is-hot { fill: var(--aa-text); }
/* No blue focus ring — the black is-hot fill is the visible focus state. */
.aa-map .land:focus { outline: none; }
.aa-map .land:focus-visible { outline: none; }
/* Floating tooltip: country + the brands we carry from it. */
.aa-map_tip {
  position: absolute;
  z-index: 5;
  min-width: 150px;
  max-width: 260px;
  padding: 12px 14px;
  background: var(--aa-text);
  color: #fff;
  pointer-events: none;
  transform: translate(-50%, calc(-100% - 12px));
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.aa-map_tip[hidden] { display: none; }
.aa-map_tip_country {
  margin: 0 0 6px;
  font-size: var(--aa-fs-sm);
  letter-spacing: 0.02em;
  font-weight: var(--aa-weight-normal);
}
.aa-map_tip_brands {
  margin: 0;
  font-size: var(--aa-fs-xs);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
}
/* Tap-through link — hidden on hover-capable devices (the country is the link
   there), shown as a tappable control on touch. */
.aa-map_tip_link {
  display: none;
  margin: 10px 0 0;
  font-size: var(--aa-fs-xs);
  letter-spacing: 0.03em;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.aa-map_hint {
  margin: 18px 0 0;
  font-size: var(--aa-fs-sm);
  color: var(--aa-text-quiet);
  text-align: center;
}
.aa-map_count { color: var(--aa-text-secondary); }
@media (max-width: 767px) {
  .aa-map { padding-bottom: 32px; margin-bottom: 32px; }
  .aa-map_tip { position: fixed; bottom: 16px; left: 50%; top: auto;
    transform: translateX(-50%); width: calc(100% - 32px); max-width: 340px;
    pointer-events: auto; padding: 16px 18px; }
  .aa-map_tip_link { display: block; }
}
/* Any hover-incapable device (tablets, touch laptops): show the tap link. */
@media (hover: none) {
  .aa-map_tip { pointer-events: auto; }
  .aa-map_tip_link { display: inline-block; }
}

.sources {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}

/* Each source country is a card that links to that country's products. */
.source {
  display: flex;
  flex-direction: column;
  padding: 22px 22px 20px;
  border: 1px solid var(--aa-border);
  background: var(--aa-bg);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.source:hover { border-color: var(--aa-accent); transform: translateY(-2px); }

.source_brand {
  margin: 0 0 8px;
  font-size: var(--aa-fs-md);
  line-height: 1.3;
  font-weight: var(--aa-weight-light);
  color: var(--aa-text);
}

.source_story {
  margin: 0;
  font-size: var(--aa-fs-sm);
  line-height: var(--aa-lh-body);
  font-weight: var(--aa-weight-light);
  color: var(--aa-text-secondary);
}

.principle_title {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.3;
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.01em;
  color: var(--aa-text);
}

.principle_body {
  margin: 0;
  font-size: 15px;
  line-height: var(--aa-lh-body);
  font-weight: var(--aa-weight-light);
  color: var(--aa-text-secondary);
}

@media (max-width: 767px) {
  .principles {
    padding: 56px 0 64px;
  }
  /* Stay single-column even when a lens is active (no grow on phones). */
  .principles_grid,
  .principles_grid[data-active] {
    grid-template-columns: minmax(0, 1fr);
    padding: 0 20px;
  }
  /* Stacked: separation is the horizontal border-top on each block. The active
     column keeps its hairline (the panel is below all three, not just it). */
  .principle + .principle {
    border-left: 0;
  }
  .principles.is-open .principle.is-active {
    border-bottom-color: var(--aa-border);
  }
  /* Stacked: the active card bleeds to both page edges (gutter is 20px here). */
  .principle.is-active {
    box-shadow: -20px 0 0 0 #fafafa, 20px 0 0 0 #fafafa;
  }
  .principles_results {
    padding: 48px 20px 8px;
  }
  .principles_results .trending_carousel {
    margin-left: -20px;
    margin-right: -20px;
  }
  .sources {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Policy / content pages (Privacy, Shipping & Returns, Terms, Contact) */
.policy {
  max-width: 720px;
  margin: 0 auto;
  padding: 80px 24px 100px;
}

.policy_title {
  margin: 0 0 8px;
  font-size: var(--aa-fs-xl);
  line-height: 1.1;
  font-weight: var(--aa-weight-thin);
  letter-spacing: -0.02em;
}

.policy_updated {
  margin: 0 0 40px;
  font-size: var(--aa-fs-sm);
  color: var(--aa-text-quiet);
}

.policy h2 {
  margin: 36px 0 10px;
  font-size: var(--aa-fs-md);
  font-weight: var(--aa-weight-normal);
  color: var(--aa-text);
}

.policy p {
  margin: 0 0 16px;
  font-size: var(--aa-fs-base);
  line-height: var(--aa-lh-body);
  color: var(--aa-text-secondary);
}

.policy a {
  color: var(--aa-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.policy_note {
  margin-top: 40px;
  padding: 12px 16px;
  border: 1px solid var(--aa-border);
  font-size: var(--aa-fs-sm);
  color: var(--aa-text-quiet);
}

.form-2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.link-block {
  /* Block, not Webflow's default inline-block — otherwise the link sits on the
     text baseline and leaves a few px of descender space below it, which shows
     as a gray bar wherever the card sits on a tinted panel (By Region, Principles). */
  display: block;
  color: var(--aa-text);
  text-decoration: none;
}

.footer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-top: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
}

.footer_nav {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center;
}

.footer_nav_links {
  padding: 22px 16px 20px;
  color: var(--aa-text);
  font-size: var(--aa-fs-base);
  text-decoration: none;
}

.footer_nav_links:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer_brand {
  padding-left: 20px;
  -webkit-box-flex: 0;
  -webkit-flex: 0 auto;
  -ms-flex: 0 auto;
  flex: 0 auto;
}

.footer_social {
  padding-right: 14px;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
  -webkit-box-flex: 0;
  -webkit-flex: 0 auto;
  -ms-flex: 0 auto;
  flex: 0 auto;
}

.footer_social_links {
  padding: 20px 6px;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
  color: var(--aa-text);
  text-decoration: none;
}

.footer_social_links:hover {
  opacity: 0.55;
}

.section_title {
  margin-bottom: 24px;
  font-size: 24px;
  line-height: 1.2;
  font-weight: var(--aa-weight-normal);
  letter-spacing: -0.01em;
}

.nav-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.cart-button {
  padding-top: 18px;
  padding-right: 20px;
  padding-bottom: 18px;
  background-color: transparent;
  color: var(--aa-text);
}

.cart-label {
  display: inline-block;
  min-width: 44px;
  text-align: right;
  font-size: var(--aa-fs-base);
  color: var(--aa-text);
}

.cart-button:hover .cart-label {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Cart drawer: lighter heading + a thin, hairline close X */
.w-commerce-commercecartheading {
  font-weight: var(--aa-weight-light);
}

.w-commerce-commercecartcloselink {
  position: relative;
}

.w-commerce-commercecartcloselink svg {
  display: none;
}

.w-commerce-commercecartcloselink::before,
.w-commerce-commercecartcloselink::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 1px;
  background-color: var(--aa-text);
}

.w-commerce-commercecartcloselink::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.w-commerce-commercecartcloselink::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.cart-2 {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.cart-quantity {
  display: none;
}

.cart-line-item {
  padding-right: 24px;
  padding-left: 24px;
}

.cart-footer {
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}

.cart-list {
  padding: 0px;
}

.cart-item {
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  border-top: 0.5px none var(--aa-border);
  border-bottom: 0.5px solid var(--aa-border);
}

.image {
  width: 100px;
  border-right: 1px solid var(--aa-border);
  border-bottom: 1px solid var(--aa-border);
}

.div-block {
  padding-left: 12px;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.checkout_quantity {
  width: 70px;
  height: auto;
  margin-bottom: 0px;
  padding-right: 16px;
  padding-left: 16px;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  border-top-style: none;
  border-radius: 0px;
  background-color: #fff;
  font-size: 24px;
  text-align: center;
}

.remove {
  margin-top: 8px;
  opacity: 0.3;
  color: var(--aa-text);
  text-decoration: none;
}

.cart-wrapper {
  background-color: hsla(228, 5%, 88%, .8);
}

.cart-container {
  box-shadow: none;
}

.cart-header {
  padding-top: 18px;
  padding-bottom: 18px;
}

.error-state {
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding: 15px 20px 16px;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  background-color: #ff5757;
  color: #fff;
}

.product_section {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 80vh;
  background-color: var(--aa-bg);
}

.product_photo {
  padding-right: 60px;
  padding-left: 60px;
  -webkit-box-flex: 0.5;
  -webkit-flex: 0.5 auto;
  -ms-flex: 0.5 auto;
  flex: 0.5 auto;
  border-right: 1px solid var(--aa-border);
  /* TODO: real product photography — placeholder for now */
  background-color: var(--aa-bg-muted);
  background-image: url("../images/placeholder-bottle.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
}

.product_content {
  padding: 28px 60px 48px;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.product_brand {
  margin-bottom: 4px;
  font-size: var(--aa-fs-base);
  color: var(--aa-text-secondary);
}

.product_price {
  margin-bottom: 22px;
  font-size: var(--aa-fs-md);
  line-height: 1.2;
  color: var(--aa-text);
}

.product_title {
  margin-top: 0px;
  margin-bottom: 8px;
  font-size: var(--aa-fs-xl);
  line-height: 1.1;
  font-weight: var(--aa-weight-thin);
  letter-spacing: -0.02em;
}

.product_description {
  margin-bottom: 28px;
  max-width: 46ch;
  font-size: var(--aa-fs-base);
  line-height: var(--aa-lh-body);
  color: var(--aa-text-secondary);
}

/* Product data model — Brand / Origin / Type / Container / Volume */
.product_specs {
  margin: 0 0 20px;
  padding: 0;
  border-top: 1px solid var(--aa-border);
  list-style: none;
  max-width: 46ch;
}

.product_specs li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid var(--aa-border);
  font-size: var(--aa-fs-sm);
}

.product_specs .spec_label {
  color: var(--aa-text-secondary);
}

.product_specs .spec_value {
  color: var(--aa-text);
}

/* Product form controls — ghost style: page-white fill, hairline near-black border, black text */
.w-select,
.w-commerce-commerceaddtocartoptionselect,
.w-commerce-commerceaddtocartquantityinput {
  background-color: var(--aa-bg);
  background-image: none;
  border: 0.5px solid var(--aa-text);
  border-radius: 0;
  color: var(--aa-text);
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* custom chevron for the Pack select (native arrow removed by appearance:none) */
.w-select {
  padding-right: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231a1a1a' fill='none' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}

.w-select:focus,
.w-commerce-commerceaddtocartoptionselect:focus,
.w-commerce-commerceaddtocartquantityinput:focus {
  border-color: var(--aa-text);
  outline: none;
}

.w-commerce-commerceaddtocartbutton.button {
  background-color: var(--aa-bg);
  border: 0.5px solid var(--aa-text);
  border-radius: 0;
  color: var(--aa-text);
}

.w-commerce-commerceaddtocartbutton.button:hover {
  background-color: var(--aa-text);
  color: var(--aa-bg);
}

/* Small reserved tag (e.g. SALE / SOLD OUT) — the one place caps is permitted */
.tag {
  display: inline-block;
  padding: 2px 6px;
  border: 1px solid var(--aa-border);
  font-size: 11px;
  letter-spacing: 0.02em;
  color: var(--aa-text-secondary);
}

.checkout-form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background-color: var(--aa-bg);
}

.div-block-2 {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.container {
  -webkit-box-flex: 0.25;
  -webkit-flex: 0.25 auto;
  -ms-flex: 0.25 auto;
  flex: 0.25 auto;
}

.sticky_summary {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.checkout_item_price {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  font-size: 16px;
}

.checkout_item_info {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.checkout_input {
  border-color: var(--aa-border);
  border-radius: 0px;
}

.order-items {
  margin-bottom: 0px;
}

.order-confirmation-container {
  background-color: var(--aa-bg);
}

.order-confirmation-header-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.div-block-4 {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.div-block-5 {
  -webkit-box-flex: 0.25;
  -webkit-flex-grow: 0.25;
  -ms-flex-positive: 0.25;
  flex-grow: 0.25;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
}

.order-summary {
  position: -webkit-sticky;
  position: sticky;
  top: 23px;
}

.hero_home {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 62vh;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
}

@media (max-width: 991px) {
  .navbar {
    padding-right: 4px;
    padding-left: 24px;
    border-bottom-width: 1px;
  }
  .nav-link {
    padding-right: 24px;
    padding-left: 24px;
    border-bottom: 1px solid var(--aa-border);
    background-color: var(--aa-bg);
  }
  .nav-link:hover {
    background-color: transparent;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .nav-link.w--current {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .hero_checkout {
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .hero_photo {
    width: 100vw;
    height: auto;
    min-height: 60vh;
    aspect-ratio: auto;
    background-position: 50% 50%;
    background-size: contain;
  }
  .hero_content {
    width: 100vw;
    padding: 32px 24px 60px;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    text-align: center;
  }
  .largeheading {
    font-size: 38px;
  }
  .paragraph.cc-large.cc-w90 {
    width: 100%;
    padding-right: 40px;
    padding-left: 40px;
  }
  .nav-menu {
    border-top: 1px solid var(--aa-border);
  }
  .menu-button {
    background-color: var(--aa-bg);
  }
  .menu-button.w--open {
    background-color: var(--aa-bg);
  }
  .hero_home {
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .about_photo {
    width: 100vw;
    height: auto;
    min-height: 50vh;
    aspect-ratio: auto;
    border-right: 0;
    border-bottom: 1px solid var(--aa-border);
    background-size: contain;
  }
  .brand {
    padding-left: 0px;
  }
  .logo {
    font-size: 30px;
  }
  .largeheading {
    font-size: 34px;
  }
  .button.subscribe_button {
    margin-top: 24px;
  }
  .subscribe_input {
    margin-bottom: 16px;
  }
  .form-2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .footer {
    padding-top: 24px;
    padding-bottom: 24px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .footer_nav_links {
    padding-right: 13px;
    padding-left: 12px;
  }
  .footer_brand {
    padding-left: 0px;
  }
  .footer_social {
    padding-right: 0px;
  }
  .product_section {
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .product_photo {
    min-height: 460px;
    border-bottom: 1px solid var(--aa-border);
    border-right-width: 0px;
  }
  .product_content {
    padding: 32px 24px 60px;
  }
  .menu-button.w--open {
    background-color: var(--aa-bg);
  }
}

@media (max-width: 479px) {
  .logo.subhead {
    display: none;
  }
  .largeheading {
    font-size: 30px;
    line-height: 1.1em;
  }
  .paragraph.cc-large.cc-w90 {
    padding-right: 12px;
    padding-left: 12px;
  }
  .topheading {
    font-size: var(--aa-fs-xs);
  }
  .form-2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .footer_nav_links {
    width: 100%;
  }
  .product_title {
    font-size: 32px;
    line-height: 40px;
  }
}
/* Hide leftover Webflow commerce error banner (we run our own Shopify cart) */
.w-commerce-commercecarterrorstate { display: none !important; }

/* Cart drawer slide-in (overlay fades, panel slides from right) */
.cart-wrapper { display: flex !important; opacity: 0; visibility: hidden; pointer-events: none; -webkit-transition: opacity 300ms ease, visibility 0s linear 300ms; transition: opacity 300ms ease, visibility 0s linear 300ms; }
.cart-wrapper.aa-open { opacity: 1; visibility: visible; pointer-events: auto; -webkit-transition: opacity 300ms ease; transition: opacity 300ms ease; }
.cart-container { -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition: -webkit-transform 360ms cubic-bezier(0.32,0.72,0,1); transition: transform 360ms cubic-bezier(0.32,0.72,0,1); }
.cart-wrapper.aa-open .cart-container { -webkit-transform: translateX(0); transform: translateX(0); }

/* Empty state centred */
.w-commerce-commercecartemptystate { display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; align-items: center; padding: 56px 24px; text-align: center; color: var(--aa-text-secondary); }

/* Line item polish */
.w-commerce-commercecartproductname { font-weight: var(--aa-weight-normal); }
.cart-item .remove { display: inline-block; -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; color: var(--aa-text-secondary); text-decoration: none; cursor: pointer; }
.cart-item .remove:hover { color: var(--aa-text); text-decoration: underline; text-underline-offset: 2px; }

/* Quantity stepper on the right edge of each line item */
.aa-qty { display: flex; -webkit-box-orient: vertical; -webkit-flex-direction: column; flex-direction: column; -webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-align-self: center; align-self: center; margin-left: auto; padding-right: 6px; }
.aa-qbtn { border: 0; background: none; padding: 5px 8px; cursor: pointer; line-height: 0; color: var(--aa-text-quiet); }
.aa-qbtn:hover { color: var(--aa-text); }
.aa-qbtn::before { content: ""; display: inline-block; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; }
.aa-qbtn.aa-up::before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); margin-top: 2px; }
.aa-qbtn.aa-down::before { -webkit-transform: rotate(135deg); transform: rotate(135deg); margin-bottom: 2px; }
.aa-qnum { font-size: var(--aa-fs-sm); padding: 1px 0; color: var(--aa-text); }

/* Product page: Quantity label not bold, same grey as the Size label */
.product_content label { font-weight: var(--aa-weight-normal); color: var(--aa-text-secondary); }

/* Product page quantity box — chevron arrows reveal on hover */
.aa-qbox { position: relative; display: inline-block; }
.aa-qbox .w-commerce-commerceaddtocartquantityinput { width: 72px; padding-right: 22px; margin-bottom: 0; }
/* Tighten the Quantity → Add to Cart gap so the Description clears the fold. */
.product_content .w-commerce-commerceaddtocartbutton.button { margin-top: 10px; }
.aa-qbox-arrows {
  position: absolute; top: 0; bottom: 0; right: 2px;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-flex-direction: column; flex-direction: column;
  -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center;
  opacity: 0; pointer-events: none;
  -webkit-transition: opacity 150ms ease; transition: opacity 150ms ease;
}
.aa-qbox:hover .aa-qbox-arrows { opacity: 1; pointer-events: auto; }
.aa-qbox-arrows .aa-qbtn { padding: 2px 4px; }

/* Hide native number spinner on the quantity input (custom chevrons replace it) */
.w-commerce-commerceaddtocartquantityinput::-webkit-inner-spin-button,
.w-commerce-commerceaddtocartquantityinput::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.w-commerce-commerceaddtocartquantityinput { -moz-appearance: textfield; appearance: textfield; }

/* Size selector — Single / Trio / Case (n) buttons above Quantity.
   Ghost style matching the form controls; active size = filled near-black. */
.aa-sizes { margin-bottom: 18px; }
.aa-sizes_label { display: block; margin-bottom: 8px; font-size: var(--aa-fs-sm); color: var(--aa-text-secondary); }
.aa-sizes_btns { display: -webkit-box; display: -webkit-flex; display: flex; gap: 8px; max-width: 46ch; }
.aa-size {
  -webkit-box-flex: 1; -webkit-flex: 1 1 0; -ms-flex: 1 1 0; flex: 1 1 0;
  padding: 11px 8px;
  background-color: var(--aa-bg);
  border: 0.5px solid var(--aa-text);
  border-radius: 0;
  color: var(--aa-text);
  font-family: var(--aa-font);
  font-size: var(--aa-fs-sm);
  line-height: 1.1;
  text-align: center;
  cursor: pointer;
  -webkit-transition: background-color 120ms ease, color 120ms ease;
  transition: background-color 120ms ease, color 120ms ease;
}
.aa-size:hover { background-color: var(--aa-bg-muted); }
.aa-size.is-active { background-color: var(--aa-text); color: var(--aa-bg); }
.aa-size.is-active:hover { background-color: var(--aa-text); }
.aa-size:disabled { opacity: 0.4; cursor: not-allowed; }
.aa-caseonly { font-size: var(--aa-fs-sm); color: var(--aa-text); }

/* Category sidebar — collapsible filter dropdowns (Type / Brand / Country /
   Container / Volume), reusing the product-page accordion chevron + panel. */
/* Sidebar header band: holds the Clear link and the hairline above Type.
   Its height mirrors .shop_heading (24px top pad from the sidebar + one line of
   the 33px heading + 16px bottom pad) so the hairline lands exactly on the top
   line of the first product card. */
.aa-filters_head {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-align: end; -webkit-align-items: flex-end; align-items: flex-end;
  -webkit-box-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end;
  /* border-box height: matches .shop_heading (75px) minus the sidebar's own 24px
     top padding, so the hairline lands exactly on the first product card's top line. */
  min-height: 51px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--aa-border);
}
.aa-clear {
  -webkit-appearance: none; appearance: none;
  margin: 0; padding: 0; background: none; border: 0; cursor: pointer;
  /* Same size/weight/tracking as the filter labels so the stroke thickness matches. */
  font-family: var(--aa-font); font-size: 11px; font-weight: var(--aa-weight-normal);
  letter-spacing: 0.08em; line-height: 1;
  color: var(--aa-text-quiet);
  -webkit-transition: color 200ms ease, opacity 200ms ease;
  transition: color 200ms ease, opacity 200ms ease;
}
.aa-clear:hover { color: var(--aa-text); }
.aa-clear.is-hidden { opacity: 0; pointer-events: none; }

/* ===========================================================================
   Header search — trigger button + panel that hangs off the header's left edge.
   All-text (one icon: the magnifier), hairline borders, no radius/shadow,
   black/white only, reusing the existing type + border tokens.
   =========================================================================== */
.aa-search-btn {
  -webkit-appearance: none; appearance: none;
  /* Big gap from the nav links, tight to Cart: reads "Flavored   Search Cart".
     Closeness to Cart comes from trimming the cart label's reserved interior
     (see .cart-label min-width) — NOT a negative margin, which would overlap
     Cart's hit area onto "Search". */
  margin: 0 0 0 44px; padding: 18px 4px;
  background: none; border: 0; cursor: pointer;
  -webkit-align-self: center; align-self: center;
  font-family: var(--aa-font); font-size: var(--aa-fs-base); font-weight: var(--aa-weight-normal);
  color: var(--aa-text);
}
.aa-search-btn:hover,
.aa-search-btn.is-active { text-decoration: underline; text-underline-offset: 3px; }

.aa-search {
  position: fixed; right: 0; left: auto; top: 62px; z-index: 60;
  width: 760px; max-width: 100%;
  padding: 18px 20px 20px;
  background: var(--aa-bg);
  border: 1px solid var(--aa-border);
  border-top: 0;   /* shares the header's bottom hairline — no double line */
}
.aa-search[hidden] { display: none; }

/* Tabs — identical voice to the main nav links (light weight, underline-active). */
.aa-search_tabs {
  display: -webkit-box; display: -webkit-flex; display: flex;
  gap: 24px;
}
.aa-search_tab {
  -webkit-appearance: none; appearance: none;
  margin: 0; padding: 0 0 2px; background: none; border: 0; cursor: pointer;
  font-family: var(--aa-font); font-size: var(--aa-fs-base); font-weight: var(--aa-weight-light);
  color: var(--aa-text);
}
.aa-search_tab:hover,
.aa-search_tab.is-active { text-decoration: underline; text-underline-offset: 3px; }

.aa-search_row {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; align-items: center;
  gap: 16px; margin-top: 16px;
}
.aa-search_field {
  position: relative; -webkit-box-flex: 1; -webkit-flex: 1; flex: 1;
  display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center;
}
.aa-search_input {
  width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box;
  padding: 11px 38px 11px 12px;
  background: var(--aa-bg); border: 1px solid var(--aa-border);
  font-family: var(--aa-font); font-size: var(--aa-fs-base); font-weight: var(--aa-weight-normal);
  color: var(--aa-text);
}
/* Placeholder only — light weight + a quiet grey a touch darker than the hairline
   so the hint reads cleanly. Typed query text stays the input's normal weight/colour. */
.aa-search_input::-webkit-input-placeholder { color: #bdbdbd; font-weight: var(--aa-weight-light); }
.aa-search_input::placeholder { color: #bdbdbd; font-weight: var(--aa-weight-light); }
.aa-search_input:focus { outline: 0; border-color: var(--aa-text); }
/* Drop the native search clear/decoration so the only glyph is our magnifier. */
.aa-search_input::-webkit-search-decoration,
.aa-search_input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.aa-search_icon {
  position: absolute; right: 12px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  color: var(--aa-text-secondary); pointer-events: none;
}
.aa-search_close {
  -webkit-appearance: none; appearance: none;
  margin: 0; padding: 0; background: none; border: 0; cursor: pointer;
  -webkit-align-self: center; align-self: center;
  font-family: var(--aa-font); font-size: var(--aa-fs-base); font-weight: var(--aa-weight-normal);
  color: var(--aa-text);
}
.aa-search_close:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Results overlay — used on pages with no category grid of their own (home,
   product, policy). Scrolls inside the search panel so matches show directly
   under the search bar. Reuses the product-card grid styles. */
.aa-search_results {
  margin-top: 16px; padding-top: 16px;
  max-height: 60vh; overflow-y: auto;
  /* Always reserve the scrollbar gutter so prices don't shift left when a long
     result list makes the scrollbar appear. */
  scrollbar-gutter: stable;
  border-top: 1px solid var(--aa-border);
}
.aa-search_results[hidden] { display: none; }
.aa-search_empty {
  padding: 24px 4px; color: var(--aa-text-quiet); font-size: var(--aa-fs-base);
}

/* Horizontal search-result rows (SEARCH_ROWS). Overrides the card grid on
   whichever container the results render into: shrunken thumb + brand/name +
   price on one line, hairline-separated. */
.w-dyn-items.w-row.aa-search-rows { display: block; }
.w-dyn-items.w-row.aa-search-rows::before,
.w-dyn-items.w-row.aa-search-rows::after { content: none; }
.aa-srow {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; align-items: center;
  /* extra right padding keeps the price clear of the scrollbar on long lists */
  gap: 14px; padding: 10px 16px 10px 4px;
  border-bottom: 1px solid var(--aa-border);
  text-decoration: none; color: var(--aa-text);
}
.aa-srow:last-child { border-bottom: 0; }
.aa-srow_img {
  width: 44px; height: 44px; -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  object-fit: contain; background: var(--aa-bg-muted);
}
.aa-srow_brand { font-size: var(--aa-fs-sm); white-space: nowrap; }
.aa-srow_name {
  -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; min-width: 0;
  font-size: var(--aa-fs-sm); color: var(--aa-text-secondary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.aa-srow_price { font-size: var(--aa-fs-sm); white-space: nowrap; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
.aa-srow:hover .aa-srow_name { text-decoration: underline; text-underline-offset: 2px; }

/* ===========================================================================
   Category sort — trigger + listbox panel at the top-right of the grid heading.
   Same treatment as the header search panel: hairline border, white, no shadow,
   no radius, black/white only. The only new icon is the stacked sort triangles,
   drawn at the magnifier's stroke weight.
   =========================================================================== */
.shop_heading {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; align-items: center;
  -webkit-box-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
  gap: 16px;
}
.shop_heading .largeheading { margin-bottom: 0; }   /* row is centered; drop the heading's own bottom gap */
.aa-sort { position: relative; -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
.aa-sort_btn {
  -webkit-appearance: none; appearance: none;
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  -webkit-box-align: center; -webkit-align-items: center; align-items: center;
  gap: 7px; margin: 0; padding: 4px 0;
  background: none; border: 0; cursor: pointer;
  font-family: var(--aa-font); font-size: var(--aa-fs-base); font-weight: var(--aa-weight-light);
  color: var(--aa-text);
}
.aa-sort_btn:hover .aa-sort_label,
.aa-sort_btn[aria-expanded="true"] .aa-sort_label { text-decoration: underline; text-underline-offset: 3px; }
.aa-sort_icon {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  color: var(--aa-text-secondary);
}
.aa-sort_btn:hover .aa-sort_icon,
.aa-sort_btn[aria-expanded="true"] .aa-sort_icon { color: var(--aa-text); }

.aa-sort_panel {
  position: absolute; top: 100%; right: 0; z-index: 40;
  margin-top: 8px; min-width: 184px; padding: 6px 0;
  background: var(--aa-bg); border: 1px solid var(--aa-border);
}
.aa-sort_panel[hidden] { display: none; }
.aa-sort_opt {
  padding: 8px 16px; cursor: pointer; white-space: nowrap; outline: 0;
  font-family: var(--aa-font); font-size: var(--aa-fs-sm); font-weight: var(--aa-weight-light);
  color: var(--aa-text-secondary);
}
.aa-sort_opt:hover, .aa-sort_opt:focus { color: var(--aa-text); }
.aa-sort_opt.is-active { color: var(--aa-text); text-decoration: underline; text-underline-offset: 3px; }

.aa-filter_head { padding: 13px 0; }
.aa-filters .aa-filter:first-child .aa-filter_head { border-top: 0; }
.aa-cnt { letter-spacing: 0; color: var(--aa-text-secondary); }
.aa-filter_panel.aa-open { max-height: 1200px; }
.aa-filter_panel .aa-acc_inner { padding-bottom: 14px; }
.aa-facet {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; align-items: center;
  gap: 9px; width: 100%; padding: 6px 0; margin: 0;
  background: none; border: 0; cursor: pointer; text-align: left;
  font-family: var(--aa-font); font-size: var(--aa-fs-sm); color: var(--aa-text-secondary);
}
.aa-facet::before {
  content: ""; width: 11px; height: 11px; -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  border: 1px solid var(--aa-text-secondary);
}
.aa-facet:hover { color: var(--aa-text); }
.aa-facet.is-on { color: var(--aa-text); }
.aa-facet.is-on::before { background: var(--aa-text); border-color: var(--aa-text); }
/* Per-option result count, pushed to the right edge of the row. */
.aa-facet_cnt { margin-left: auto; padding-left: 10px; color: var(--aa-text-quiet); font-variant-numeric: tabular-nums; }
/* Options that currently yield 0 results stay visible, just de-emphasized. */
.aa-facet.is-zero { opacity: 0.4; }
.aa-facet.is-zero:hover { color: var(--aa-text-secondary); }

/* Reserve scrollbar space so navigating between pages never shifts the layout */
html { overflow-y: scroll; scrollbar-gutter: stable; }

/* Sticky footer — short pages fill the viewport, footer pinned to the bottom */
.body { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-flex-direction: column; flex-direction: column; min-height: 100vh; }
.body > .footer { margin-top: auto; }

/* ===========================================================================
   Product Description + Composition — added BELOW the existing fold.
   Nothing above the Add to Cart button is touched; this sits in normal flow
   after it, within the same content column and horizontal margins.
   =========================================================================== */
/* Width matches the spec table (Brand/Type/Container/Volume) so the whole
   Description + Composition stack lines up with those sections. */
.aa-desc {
  margin-top: 22px;
  max-width: 46ch;
}
/* Accordion header — full-width clickable row, label left, chevron right. */
.aa-acc_head {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between;
  -webkit-appearance: none; appearance: none;
  width: 100%; margin: 0; padding: 16px 0;
  background: none; border: 0; border-top: 1px solid var(--aa-border);
  font-family: var(--aa-font); text-align: left; cursor: pointer;
}
/* Micro label — matches the spec-field label voice (small, tracked, secondary). */
.aa-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--aa-text-secondary);
  font-weight: var(--aa-weight-normal);
}
.aa-acc_head:hover .aa-label { color: var(--aa-text); }
/* Chevron — points down when collapsed, rotates up when expanded. */
.aa-chev {
  width: 7px; height: 7px;
  border-right: 1px solid var(--aa-text-secondary);
  border-bottom: 1px solid var(--aa-text-secondary);
  -webkit-transform: translateY(-2px) rotate(45deg); transform: translateY(-2px) rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s ease; transition: transform 0.3s ease;
}
.aa-acc_head[aria-expanded="true"] .aa-chev {
  -webkit-transform: translateY(2px) rotate(-135deg); transform: translateY(2px) rotate(-135deg);
}
.aa-acc_head:hover .aa-chev { border-color: var(--aa-text); }
.aa-desc_body {
  font-size: var(--aa-fs-base);
  line-height: var(--aa-lh-body);
  color: var(--aa-text-secondary);
}

/* Collapsible panels — height animates; default state set per panel below. */
.aa-acc { overflow: hidden; max-height: 0; transition: max-height 0.45s ease; }
#aaDescPanel.aa-open { max-height: 360px; }
.aa-comp.aa-open { max-height: 900px; }
.aa-acc_inner { padding-bottom: 24px; }
.aa-comp_inner { padding-top: 4px; }

/* Stat strip — solid top/bottom rule, hairline column dividers, monospace values. */
.aa-stats {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  border-top: 1px solid var(--aa-border);
  border-bottom: 1px solid var(--aa-border);
}
.aa-stat {
  -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1;
  padding: 14px 0 14px 16px;
  border-left: 1px solid var(--aa-border);
}
.aa-stat:first-child { padding-left: 0; border-left: 0; }
.aa-stat_label { font-size: 11px; letter-spacing: 0.08em; color: var(--aa-text-secondary); margin-bottom: 6px; }
.aa-stat_val { font-size: var(--aa-fs-base); color: var(--aa-text); }

/* Minerality scale — single reusable component (product Composition + homepage index). */
.aa-scale { margin-top: 28px; }
.aa-scale_track { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; height: 3px; background: var(--aa-border); margin-bottom: 10px; }
.aa-scale_seg { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; border-left: 1px solid var(--aa-bg); }
.aa-scale_seg:first-child { border-left: 0; }
.aa-scale_mark { position: absolute; top: 50%; width: 1.5px; height: 14px; background: var(--aa-text); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.aa-scale_labels { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
.aa-scale_lab { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 11px; color: var(--aa-text-secondary); }
.aa-scale_lab span { display: block; color: var(--aa-text-quiet); font-size: 10px; margin-top: 3px; }
.aa-scale_lab.is-here { color: var(--aa-text); }

.aa-comp_notes { margin-top: 28px; max-width: 60ch; font-size: var(--aa-fs-base); line-height: var(--aa-lh-body); color: var(--aa-text-secondary); }
.aa-comp .product_specs { margin-top: 24px; margin-bottom: 0; max-width: none; }

/* Brand story — a standalone, hairline-bordered block centered in the page,
   BELOW the product area (you scroll down to reach it). Its own little card: a
   visual panel + copy, framed by a thin border on all sides. The visual is a
   lifestyle image when supplied, otherwise a light typographic title-card. */
.aa-story {
  box-sizing: border-box;
  max-width: 940px;
  margin: 84px auto 104px;
  display: flex;
  border: 1px solid var(--aa-border);
  background-color: var(--aa-bg);
  overflow: hidden;
}
.aa-story_media {
  position: relative;
  flex: 0 0 40%;
  min-height: 300px;
  border-right: 1px solid var(--aa-border);
  background-color: var(--aa-bg-muted);
  overflow: hidden;
}
.aa-story_mark {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  text-align: center;
  font-size: clamp(30px, 3.2vw, 46px);
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.015em;
  line-height: var(--aa-lh-tight);
  color: var(--aa-text);
}
.aa-story_img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aa-story_copy {
  flex: 1;
  align-self: center;
  padding: 44px 48px;
}
.aa-story_head {
  margin: 0 0 16px;
  font-size: 25px;
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.01em;
  line-height: var(--aa-lh-tight);
  color: var(--aa-text);
}
.aa-story_par {
  margin: 0 0 14px;
  font-size: var(--aa-fs-base);
  line-height: var(--aa-lh-body);
  color: var(--aa-text-secondary);
}
.aa-story_par:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
  .aa-story { flex-direction: column; margin: 56px 20px 72px; }
  .aa-story_media {
    flex: none;
    width: 100%;
    min-height: 200px;
    border-right: 0;
    border-bottom: 1px solid var(--aa-border);
  }
  .aa-story_copy { padding: 32px 24px; align-self: stretch; }
}

/* ---- Product page: brand story beside brand film (STORY | VIDEO) ------- */
.aa-storyvid {
  box-sizing: border-box;
  max-width: 1440px;
  margin: 84px auto 104px;
  padding: 0 32px;
  display: flex;
  align-items: stretch;
  gap: 28px;
}
.aa-storyvid .aa-story {   /* becomes a flex child; drop its standalone sizing */
  margin: 0;
  max-width: none;
  flex: 1 1 57%;
  min-width: 0;
}
/* Photo fills the column to the copy's height (no gap under it). At this width
   the column's aspect nearly matches the portrait photo, so cover crops almost
   nothing — it reads as the full image. */
.aa-storyvid .aa-story_media { flex: 0 0 46%; }
.aa-pv {   /* column: film at top, slogan pinned to the bottom of the card */
  flex: 1 1 44%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.aa-pv_frame { width: 100%; }
.aa-pv_slogan {
  margin: auto 0;        /* center in the gap below the film (raised off the bottom) */
  text-align: center;    /* centered horizontally in the film column */
  font-size: clamp(22px, 2.2vw, 31px);
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.015em;
  line-height: var(--aa-lh-tight);
  color: var(--aa-text);
}
.aa-pv_video {   /* the hairline hugs the film at a true 16:9 */
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--aa-border);
  background: var(--aa-bg-muted);
}
.aa-pv_video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
/* Poster facade: clean thumbnail + minimal play button (no YouTube chrome). */
button.aa-pv_video {
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  display: block;
}
.aa-pv_thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.aa-pv_play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--aa-border);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.16s ease, background 0.16s ease;
}
.aa-pv_play::after {   /* play triangle */
  content: "";
  margin-left: 4px;
  border-style: solid;
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent var(--aa-text);
}
button.aa-pv_video:hover .aa-pv_play,
button.aa-pv_video:focus-visible .aa-pv_play {
  transform: translate(-50%, -50%) scale(1.06);
  background: #fff;
}
@media (max-width: 900px) {
  .aa-storyvid {   /* stack: story over film */
    flex-direction: column;
    max-width: 940px;
    margin: 56px 20px 72px;
    padding: 0;
    gap: 20px;
  }
  .aa-storyvid .aa-story { margin: 0; }
  .aa-pv_slogan { margin: 0; padding-left: 0; padding-top: 18px; }  /* stacked: sit under the film, full width */
}

/* ---- Brand pages (/brands/<slug>) ------------------------------------- */
/* One shared content column, reusing the 940px established by .aa-story. */
.brand_hero {
  box-sizing: border-box;
  max-width: 940px;
  margin: 0 auto;
  padding: 72px 20px 8px;
  display: flex;
  align-items: center;
  gap: 44px;
  flex-wrap: wrap;
}
.brand_name {
  margin: 0;
  flex: 0 0 auto;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.02em;
  line-height: var(--aa-lh-tight);
  color: var(--aa-text);
}
/* To the right of the name: Est./Country + origin stacked, a vertical hairline,
   then the "At the table" note. Top-aligned so the Est. line and the "At the
   table" label sit on the same row. */
.brand_hero_info {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  flex: 1 1 420px;
}
.brand_hero_col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 0 1 auto;
  max-width: 30ch;
}
.brand_origin {
  margin: 0;
  font-size: var(--aa-fs-sm);
  line-height: var(--aa-lh-body);
  color: var(--aa-text-secondary);
}
.brand_hero_div {
  flex: 0 0 1px;
  align-self: stretch;
  background: var(--aa-border);
}
.brand_hero_pairing { flex: 1 1 260px; }
.brand_hero_pairing .brand_pairing_label { margin-bottom: 8px; }
.brand_hero_pairing .brand_pairing_body {
  max-width: 46ch;
  font-size: var(--aa-fs-sm);
  line-height: 1.5;
}
.brand_meta {
  margin: 0;
  font-size: var(--aa-fs-sm);
  letter-spacing: 0.01em;
  color: var(--aa-text-quiet);
}
/* The reused brand-story card sits a touch closer to the hero here. */
.brand_story.aa-story { margin: 48px auto 0; }
.brand_video_sec {
  box-sizing: border-box;
  max-width: 940px;
  margin: 0 auto;
  padding: 48px 20px 0;
}
.brand_video {
  position: relative;
  z-index: 0;              /* bounded stacking context so the iframe can't paint over the timeline modal (z-index:6) */
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--aa-bg-muted);
  border: 1px solid var(--aa-border);
}
.brand_video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.brand_range {
  box-sizing: border-box;
  max-width: 940px;
  margin: 0 auto;
  padding: 64px 20px 104px;
}
.brand_range_head { font-size: 26px; margin-bottom: 24px; }
.brand_missing {
  box-sizing: border-box;
  max-width: 940px;
  margin: 0 auto;
  padding: 120px 20px 160px;
}
/* Brand name on product pages becomes a link — underline on hover only. */
.product_brand_link { text-decoration: none; color: inherit; display: inline-block; }
.product_brand_link:hover .product_brand { text-decoration: underline; }
@media (max-width: 767px) {
  .brand_hero { padding: 56px 20px 4px; gap: 20px; }
  /* Stack the hero info under the name; the vertical hairline makes no sense
     in a single column, so drop it and stack the blocks. */
  .brand_hero_info {
    flex: 1 1 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding-top: 0;
  }
  .brand_hero_col { max-width: none; }
  .brand_hero_pairing { flex: 1 1 100%; }
  .brand_hero_pairing .brand_pairing_body { max-width: 60ch; }
  .brand_hero_div { display: none; }
  .brand_video_sec { padding-top: 36px; }
  .brand_range { padding: 48px 20px 72px; }
}

/* ---- Brand page: editorial depth (story / pull-quote / pairing) -------- */
/* Long editorial copy reads better top-aligned than vertically centered. */
.brand_story .aa-story_copy { align-self: flex-start; }
.brand_callout {
  box-sizing: border-box;
  max-width: 940px;
  margin: 0 auto;
  padding: 8px 0;   /* rules span the same box as the story card (text keeps its own inset) */
}
.brand_callout_q {
  margin: 0;
  padding: 40px clamp(24px, 8%, 80px);   /* inset from the rules so long quotes don't touch the edges */
  border-top: 1px solid var(--aa-border);
  border-bottom: 1px solid var(--aa-border);
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: var(--aa-weight-light);
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--aa-text);
  text-align: center;
}
.brand_pairing {
  box-sizing: border-box;
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 20px 0;
}
.brand_pairing_label {
  display: block;
  margin-bottom: 12px;
  font-size: var(--aa-fs-sm);
  letter-spacing: 0.01em;
  color: var(--aa-text-quiet);
}
.brand_pairing_body {
  margin: 0;
  max-width: 60ch;
  font-size: var(--aa-fs-md);
  line-height: var(--aa-lh-body);
  color: var(--aa-text-secondary);
}

/* ---- Brand-page timeline (brand pages only) --------------------------- */
/* Horizontal hairline track with sharp vertical ticks; hover grows the tick
   and reveals a hairline modal below it. Mobile collapses to a tapped list. */
.aa-tl {
  box-sizing: border-box;
  max-width: 940px;
  margin: 0 auto;
  padding: 44px 20px 8px;
  position: relative;
  z-index: 6;              /* lift the whole timeline above the later video section */
}
.aa-tl_node { position: relative; }
.aa-tl_node:hover { z-index: 2; }   /* hovered node's modal sits above its neighbours */
.aa-tl_modal { z-index: 3; }        /* and above anything inside the timeline */
.aa-tl_label {   /* section heading, matching "The Range" on the same brand page */
  margin: 0 0 6px;
  font-size: 26px;
  font-weight: var(--aa-weight-thin);
  letter-spacing: -0.02em;
  line-height: var(--aa-lh-tight);
  color: var(--aa-text);
}
.aa-tl_hint {
  margin: 0 0 38px;
  font-size: 11px;
  line-height: 1.4;
  color: var(--aa-text-secondary);
}
.aa-tl_hint_t { display: none; }   /* "Tap" wording shown on touch layouts only */
.aa-tl_track {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.aa-tl_track::before {   /* the horizontal track line (pseudo so nodes stay the only children → :first/:last-child work) */
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.5px;
  background: var(--aa-border);
}
.aa-tl_node {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}
.aa-tl_tick {
  width: 0.5px;
  height: 12px;
  margin-top: -1px;   /* sit flush on top of the track line */
  background: var(--aa-text);
  transform-origin: top;          /* grow downward via transform (no reflow) */
  transition: transform 0.2s;
}
.aa-tl_year {
  margin-top: 8px;
  font-family: var(--aa-font);    /* same face as prices/stats — not mono */
  font-size: 11px;
  font-weight: 500;
  color: var(--aa-text);
}
.aa-tl_short {
  margin-top: 4px;
  max-width: 72px;
  font-size: 11px;
  line-height: 1.4;
  text-align: center;
  color: var(--aa-text-secondary);
}
.aa-tl_modal {
  position: absolute;
  bottom: calc(100% + 10px);   /* open UPWARD, over the heading — never down onto the video iframe */
  top: auto;
  left: 50%;
  transform: translateX(-50%);
  width: 220px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid var(--aa-border);
  box-shadow: 0 -10px 30px -8px rgba(0, 0, 0, 0.3);
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
}
.aa-tl_myear {
  margin: 0 0 6px;
  font-family: var(--aa-font);
  font-size: 12px;
  font-weight: 500;
  color: var(--aa-text);
}
.aa-tl_mtext {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--aa-text-secondary);
}
/* Desktop: hover to grow the tick + reveal the modal. Edge nodes anchor their
   modal inward so it never clips off-screen. */
@media (min-width: 768px) {
  .aa-tl_node:hover .aa-tl_tick { transform: scaleY(1.3333); }   /* 12px → 16px without reflowing the page */
  .aa-tl_node:hover .aa-tl_modal { opacity: 1; pointer-events: auto; }
  .aa-tl_node:first-child .aa-tl_modal { left: 0; transform: none; }
  .aa-tl_node:last-child .aa-tl_modal { left: auto; right: 0; transform: none; }
}
/* Mobile: vertical stacked list, tap a row to expand its detail inline. */
@media (max-width: 767px) {
  .aa-tl { padding: 36px 20px 8px; }
  .aa-tl_label { margin-bottom: 4px; }
  .aa-tl_hint { margin-bottom: 20px; }
  .aa-tl_hint_h { display: none; }   /* swap "Hover" → "Tap" on mobile */
  .aa-tl_hint_t { display: inline; }
  .aa-tl_track { flex-direction: column; }
  .aa-tl_track::before { display: none; }
  .aa-tl_tick { display: none; }
  .aa-tl_node {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    width: 100%;
    padding: 15px 0;
    border-top: 1px solid var(--aa-border);
  }
  .aa-tl_track > .aa-tl_node:last-child { border-bottom: 1px solid var(--aa-border); }
  .aa-tl_year { margin-top: 0; flex: 0 0 auto; }
  .aa-tl_short {
    margin-top: 0;
    margin-left: 16px;
    max-width: none;
    flex: 1;
    text-align: left;
  }
  .aa-tl_modal {
    position: static;
    transform: none;
    width: 100%;
    flex-basis: 100%;
    padding: 0;
    border: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.15s, max-height 0.2s;
  }
  .aa-tl_node.is-open .aa-tl_modal {
    opacity: 1;
    pointer-events: auto;
    max-height: 320px;
    margin-top: 12px;
  }
  .aa-tl_myear { display: none; }   /* year already shown on the row */
}

/* ---- Wholesale page hero image ---------------------------------------- */
/* Two layers cut from ONE source image so their colors match exactly:
   .._photo is the framed photo (JPEG, opaque rectangle from the split row down),
   .._pop is the top band (PNG) holding the truck that breaks above the frame
   plus the transparent pop zone. The hairline frame is baked into both images
   along the true content edge (not a rectangle, since the top was hand-erased).
   The overlay is pulled up by 18.47% (= split row 201 / base height 1088) so its
   content lines up pixel-for-pixel with the base; the bottom rows overlap the
   base so the seam is invisible. margin-top gives the truck room above. */
.wholesale_hero { position: relative; margin: calc(11% + 16px) 0 40px; overflow: visible; }
.wholesale_hero_photo {
  display: block;
  width: 100%;
  height: auto;
}
.wholesale_hero_pop {
  position: absolute;
  left: 0;
  top: -18.37%;   /* align overlay row 200 with the base's top edge */
  width: 100%;
  height: auto;
  pointer-events: none;
}

/* ---- Wholesale carrier strip (under hero image) ----------------------- */
.wholesale_carriers { margin: 4px 0 44px; text-align: center; }
.wholesale_carriers_label {
  display: block;
  margin-bottom: 22px;
  font-size: var(--aa-fs-sm);
  letter-spacing: 0.01em;
  color: var(--aa-text-quiet);
}
.wholesale_carriers_row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 44px;
}
.carrier_logo {
  height: 46px;
  width: auto;
  opacity: 0.55;
  filter: grayscale(1);
}
@media (max-width: 767px) {
  .wholesale_carriers_row { gap: 32px; }
  .carrier_logo { height: 36px; }
}

/* aa-trust */
.aa-trust-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 0 22px}.aa-tl{flex:0 0 auto;max-width:320px;padding-left:20px;text-align:left;font-size:11px;line-height:1.6;color:var(--aa-text-quiet);opacity:.5}.aa-tc{flex:1 1 auto}.aa-tr{flex:0 0 auto;max-width:330px;padding-right:14px;text-align:right;font-size:11px;line-height:1.7;color:var(--aa-text-quiet);opacity:.7}.aa-tr a{color:inherit;text-decoration:none}.aa-payments{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px;padding:0 0 12px}.aa-pay{width:auto;opacity:.5;filter:grayscale(1)}.aa-pay--visa{height:15px}.aa-pay--discover{height:13px}.aa-pay--mastercard{height:22px}.aa-pay--paypal{height:20px}.aa-pay--shop-pay{height:17px}.aa-pay--google-pay{height:15px}.aa-ssl{font-size:11px;letter-spacing:.01em;color:var(--aa-text-quiet);opacity:.5;text-align:center}@media(max-width:820px){.aa-trust-row{flex-direction:column;align-items:center;gap:16px}.aa-tl,.aa-tr{max-width:none;padding:0;text-align:center}}.shop_main{min-height:calc(100vh - 40px)}
