.elementor-kit-4{--e-global-color-primary:#F6BD55;--e-global-color-secondary:#15130F;--e-global-color-text:#5E574D;--e-global-color-accent:#8A5A10;--e-global-color-gepaper:#F6F1E8;--e-global-color-gepaperd:#ECE4D6;--e-global-color-gebulbd:#D9921C;--e-global-color-gebulbs:#FBE6B8;--e-global-color-gebulbw:#F8ECD2;--e-global-color-genight:#101716;--e-global-color-genights:#18211F;--e-global-color-gestone:#D8CFBF;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Public Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Public Sans";--e-global-typography-accent-font-weight:700;background-color:#F6F1E8;color:#15130F;font-family:"Public Sans", system-ui, sans-serif;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:0em;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:#F6BD55;font-family:"Public Sans", system-ui, sans-serif;font-size:15px;font-weight:700;line-height:1.5;letter-spacing:0em;color:#15130F;border-radius:9999px 9999px 9999px 9999px;padding:14px 24px 14px 24px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:#F9C96B;color:#15130F;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:#15130F;}.elementor-kit-4 a:hover{color:#8A5A10;}.elementor-kit-4 h1{color:#15130F;font-family:"Bricolage Grotesque", system-ui, sans-serif;font-size:62.4px;font-weight:800;line-height:1.02;letter-spacing:-0.025em;}.elementor-kit-4 h2{color:#15130F;font-family:"Bricolage Grotesque", system-ui, sans-serif;font-size:48px;font-weight:800;line-height:1.02;letter-spacing:-0.025em;}.elementor-kit-4 h3{color:#15130F;font-family:"Bricolage Grotesque", system-ui, sans-serif;font-size:20px;font-weight:700;line-height:28px;letter-spacing:0em;}.elementor-kit-4 h4{color:#15130F;font-family:"Bricolage Grotesque", system-ui, sans-serif;font-size:18px;font-weight:700;line-height:1.4em;letter-spacing:0em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1248px;}.e-con{--container-max-width:1248px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1023px){.elementor-kit-4{font-size:16px;line-height:1.5;}.elementor-kit-4 h1{font-size:49.6px;line-height:1.02;}.elementor-kit-4 h2{font-size:48px;line-height:1.02;}.elementor-kit-4 h3{font-size:20px;line-height:28px;}.elementor-kit-4 h4{font-size:18px;line-height:1.4em;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:15px;line-height:1.5;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1248px;}.e-con{--container-max-width:1248px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:639px){.elementor-kit-4{font-size:16px;line-height:1.5;}.elementor-kit-4 h1{font-size:37.6px;line-height:1.02;}.elementor-kit-4 h2{font-size:36px;line-height:1.02;}.elementor-kit-4 h3{font-size:20px;line-height:28px;}.elementor-kit-4 h4{font-size:18px;line-height:1.4em;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:15px;line-height:1.5;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1248px;}.e-con{--container-max-width:1248px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}
/* Start custom CSS */html{scroll-behavior:smooth}
body{font-feature-settings:"ss01" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
[id]{scroll-margin-top:96px}
/* The skip link's target: the mockup's <main id="main"> has no anchor offset, so "Skip to content" scrolls it to the top. */
#main{scroll-margin-top:0}
/* FAQ topic groups and legal-page headings use the mockup's scroll-mt-28 instead of scroll-mt-24. */
.ge-smt28{scroll-margin-top:112px}
.elementor-widget-text-editor p{margin:0}
.elementor-widget-text-editor p:last-child{margin-block-end:0!important}
.elementor-widget-text-editor a{color:#15130F;font-weight:600;text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.elementor-widget-text-editor a:hover{color:#8A5A10}
.ge-night .elementor-widget-text-editor a,.ge-on-dark a{color:#F6BD55}
.ge-night .elementor-widget-text-editor a:hover,.ge-on-dark a:hover{color:#F6F1E8}
.ge-on-dark.ge-a-half a{text-decoration-color:rgba(246,189,85,.5);text-decoration-thickness:auto}
.elementor-widget-text-editor.ge-credit a{color:inherit;font-weight:inherit;text-decoration:none;transition:color .3s}
.elementor-widget-text-editor.ge-credit a:hover{color:#F6BD55}
.ge-night{position:relative;overflow:hidden}
.ge-glow{background-image:radial-gradient(42rem 26rem at 88% 0%,rgba(246,189,85,.16),rgba(246,189,85,0) 70%)}
.ge-cta-band{background-image:radial-gradient(40rem 22rem at 50% 0%,rgba(246,189,85,.22),rgba(246,189,85,0) 72%)}
.ge-cta-night{background-image:radial-gradient(30rem 20rem at 90% 0%,rgba(246,189,85,.18),rgba(246,189,85,0) 70%)}
.ge-hero-bg{background-image:radial-gradient(closest-side,rgba(246,189,85,.2),rgba(246,189,85,0)),radial-gradient(rgba(21,19,15,.027) 1px,transparent 1px);background-size:38rem 38rem,3px 3px;background-repeat:no-repeat,repeat;background-position:right -12rem top -12rem,0 0;position:relative;overflow:hidden}
.ge-balance .elementor-heading-title,.ge-balance-txt p{text-wrap:balance}
.ge-pretty .elementor-heading-title,.ge-pretty p{text-wrap:pretty}
.ge-fd .elementor-heading-title{font-variation-settings:"opsz" 72}
.ge-eyebrow-dot .elementor-heading-title{display:inline-flex;align-items:center;gap:.625rem}
.ge-eyebrow-plain .elementor-heading-title{display:inline-flex;align-items:center}
.ge-eyebrow-blk .elementor-heading-title{display:flex}
.ge-eyebrow-mb3 .elementor-heading-title{margin-bottom:12px}
/* The mockup's .bulb-dot is a shrinkable flex item: when an eyebrow wraps (the blog's featured card at 390) it gives up
   a fraction of a pixel with the text, so the dot keeps the default flex, not flex:none. */
.ge-eyebrow-dot .elementor-heading-title::before{content:"";width:.55rem;height:.55rem;border-radius:9999px;background:#F6BD55;box-shadow:0 0 0 3px rgba(246,189,85,.25),0 0 14px rgba(246,189,85,.75)}
.ge-nowrap .elementor-button,.ge-nowrap .elementor-heading-title{white-space:nowrap}.ge-link-nowrap a{white-space:nowrap}
.ge-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;line-height:1.5;text-align:start;transition:all .3s}
.ge-btn-bulb .elementor-button{box-shadow:0 10px 30px -12px rgba(217,146,28,.7)}
.ge-btn-bulb .elementor-button:hover,.ge-btn-ink .elementor-button:hover{transform:translateY(-2px)}
/* Hello's reset rings links and buttons with a 2px black outline and a 4px white halo; the mockup keeps the browser's
   own focus ring (same .elementor-kit-4, later in the cascade). Only the mockup's btn-bulb sets its own ring. */
[tabindex]:not([tabindex="-1"]):not([contenteditable]):focus-visible,a:focus-visible,button:focus-visible{box-shadow:none;outline:revert;outline-offset:revert}
.ge-btn-bulb .elementor-button:focus-visible{outline:2px solid #15130F;outline-offset:2px}
/* Hello's focused skip link is a gray box at 5px; the mockup's is a bulb pill fixed at 16px (focus:not-sr-only fixed
   left-4 top-4 rounded-full bg-bulb px-4 py-2 font-bold). */
.skip-link.screen-reader-text:focus{position:fixed!important;margin:0;left:16px;top:16px;z-index:100;background:#F6BD55;color:#15130F;font-size:16px;font-weight:700;line-height:24px;padding:8px 16px;border-radius:9999px;text-decoration:none}
/* Icon glyphs keep their own width (height 1em, width from the viewBox), as Font Awesome glyphs do in the mockup. */
.ge-btn .elementor-button-icon{font-size:15px;display:inline-flex}
.ge-btn .elementor-button-icon svg{width:auto;height:1em}
.ge-ico-10 .elementor-button-icon{font-size:10px!important}.ge-ico-11 .elementor-button-icon{font-size:11px!important}.ge-ico-12 .elementor-button-icon{font-size:12px!important}.ge-ico-13 .elementor-button-icon{font-size:13px!important}.ge-ico-15 .elementor-button-icon{font-size:15px!important}
.ge-tlink .elementor-button{display:inline-flex;align-items:center;justify-content:flex-start;padding:0;line-height:1.5;white-space:normal;text-align:start;transition:color .2s}
/* Mockup text links are inline-flex with normal white-space: they wrap when the row is too narrow. */
.ge-tlink.ge-nowrap .elementor-button{white-space:nowrap}
.ge-tlink-blk{line-height:0}.ge-tlink-blk .elementor-button{vertical-align:top}
.ge-tlink .elementor-button-icon{display:inline-flex}.ge-tlink .elementor-button-icon svg{width:auto;height:1em}
.ge-tlink-u .elementor-button-text{text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px}
.ge-tlink-bulb .elementor-button-text{text-decoration-color:#F6BD55}
/* Card and award links: the mockup's mt-auto inline-flex pt-5 link is a stretched flex item, so the whole row under the
   copy (20px of padding plus the full card width) is clickable. */
.ge-tlink.ge-tlink-row .elementor-button{display:flex!important;width:100%;padding-top:20px!important}
/* Mockup .link-u: hover:text-brass sits on the underlined span, so the arrow keeps the link colour. */
.ge-tlink-hs .elementor-button-text{transition:color .15s cubic-bezier(.4,0,.2,1)}.ge-tlink-hs .elementor-button-text:hover{color:#8A5A10}
.ge-fit img{width:100%;height:auto;object-fit:cover;display:block}
/* Elementor's calc() widget width leaves a column-flex image wrapper unsized until the photo loads (cards then grow ~240px on phones as you scroll); a plain 100% reserves the box up front. */
.elementor-widget.ge-fit{width:100%}
.ge-ar-45 img{aspect-ratio:4/5}.ge-ar-43 img{aspect-ratio:4/3}.ge-ar-11 img{aspect-ratio:1/1}.ge-ar-58 img{aspect-ratio:5/8}.ge-ar-1610 img{aspect-ratio:16/10}.ge-ar-1200 img{aspect-ratio:1200/628}.ge-ar-32 img{aspect-ratio:3/2}
.ge-ar-hero img{aspect-ratio:4/3}
.ge-h-hero img{height:300px}
/* A card that is a link is an <a>, and Elementor's .elementor a{box-shadow:none} outranks a lone class. */
.ge-shadow-img img,.ge-shadow-card,.elementor .ge-shadow-card{box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28)}
.ge-tile{width:auto!important;flex:none;line-height:0}
/* The chip stays 1em plus the icon padding; the glyph keeps its own width at 1em tall (a 1em square shrank wide
   glyphs such as toggle-on by 10 to 15%) and centres on the chip, spilling evenly as the mockup's <i> does. */
.ge-tile .elementor-icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:content-box;width:1em;height:1em}
.ge-tile .elementor-icon svg{flex:none;width:auto;height:1em}
.ge-ico{width:auto;line-height:0}.ge-ico .elementor-icon{display:inline-flex}.ge-ico .elementor-icon svg{width:1em;height:1em}
.ge-checks.elementor-widget .elementor-icon-list-item{align-items:flex-start}
.ge-checks.elementor-widget .elementor-icon-list-icon{margin-top:4px;flex:none;width:16px;box-sizing:content-box;justify-content:center}
/* The mockup's <i class="w-4 text-center"> draws the glyph 1em tall at its own width, centred on (and spilling past) the
   16px box. Elementor's 4px svg margin squeezed the glyph into 12px and widened the glyph-to-text gap. */
.ge-checks.elementor-widget .elementor-icon-list-icon svg{flex:none;width:auto;height:var(--e-icon-list-icon-size,1em);margin:0}
/* Elementor's icon-list CSS loads after the kit, at the same specificity, with margin:var(--e-icon-list-icon-margin,
   0 .25em 0 0) on the svg: zero the variable it reads. */
.elementor-widget.ge-checks,.elementor-widget.ge-contact-list,.elementor-widget.ge-pbadge,.elementor-widget.ge-util{--e-icon-list-icon-margin:0}
/* Elementor pads list text 5px on top of text_indent; the mockup's gap is the indent alone. */
.ge-checks.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-text a{display:inline}
.ge-checks.elementor-widget .elementor-icon-list-text a{color:inherit;text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;font-weight:600}
.ge-mw-3xl{max-width:48rem!important}.ge-mw-2xl{max-width:42rem!important}.ge-mw-xl{max-width:36rem!important}
.ge-center{margin-left:auto!important;margin-right:auto!important}
.ge-rel{position:relative}.ge-oh{overflow:hidden}.ge-min0{min-width:0}.ge-shrink0{flex-shrink:0!important}
.ge-mt-auto{margin-top:auto!important}.ge-self-start{align-self:start}.ge-nowrap-row{flex-wrap:nowrap!important}
.e-con.ge-w-auto,.elementor-widget.ge-w-auto{width:auto!important;flex:0 1 auto}.ge-w-auto-self{width:auto!important;align-self:flex-start}.ge-w-full{width:100%!important}
.ge-auto img{height:auto}
.ge-fill,.ge-fill img{height:100%;min-height:320px;object-fit:cover}
.ge-masonry{display:block!important;columns:1;column-gap:20px}
.ge-mas-item{break-inside:avoid;margin-bottom:20px!important;width:100%!important;display:flex!important}
.ge-num{width:44px!important;flex:none;border-radius:9999px}.ge-num .elementor-heading-title{display:flex;align-items:center;justify-content:center;width:44px;height:44px}
.ge-avatar{width:36px!important;flex:0 1 auto;border-radius:9999px}.ge-avatar .elementor-heading-title{display:flex;align-items:center;justify-content:center;width:100%;height:36px}
.ge-avatar-lg{width:48px!important;flex:none}.ge-avatar-lg .elementor-heading-title{width:100%;height:48px}
.ge-chips.elementor-widget .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px;margin:0!important}
.ge-chips.elementor-widget .elementor-icon-list-item{margin:0!important;display:inline-flex!important;align-items:center;border:1px solid rgba(21,19,15,.1);background:rgba(255,255,255,.7);border-radius:9999px;padding:8px 14px;transition:all .2s}
.ge-chips.elementor-widget .elementor-icon-list-item::after{display:none!important}
.ge-chips.elementor-widget .elementor-icon-list-item>a{display:inline-flex;align-items:center}
.elementor-widget.ge-chips.elementor-widget .elementor-icon-list-icon svg{width:auto;margin:0!important}
.ge-chips.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}
.ge-chips-arrowlast.elementor-widget .elementor-icon-list-item:last-child>a{flex-direction:row-reverse}
.ge-chips-arrowlast.elementor-widget .elementor-icon-list-item:last-child .elementor-icon-list-icon{padding-inline-end:0!important;padding-inline-start:8px}
.ge-chips-arrowlast.elementor-widget .elementor-icon-list-item:last-child .elementor-icon-list-icon svg{height:11px}
.ge-chips-link.elementor-widget .elementor-icon-list-item:hover{border-color:#D9921C;background:#FBE6B8}
/* Linked chips: the mockup's <a> is the pill, so the whole pill is clickable. Move the padding onto the link. */
.ge-chips-link.elementor-widget .elementor-icon-list-item{padding:0}.ge-chips-link.elementor-widget .elementor-icon-list-item>a{padding:8px 14px;border-radius:9999px}
.ge-chips-link.elementor-widget .elementor-icon-list-item>a:focus-visible{outline-offset:1px}
.ge-crumbs.elementor-widget .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0!important}
.ge-crumbs.elementor-widget .elementor-icon-list-item{margin:0!important}.ge-crumbs.elementor-widget .elementor-icon-list-item::after{display:none!important}
.ge-crumbs.elementor-widget .elementor-icon-list-icon{opacity:.6}
.ge-crumbs.elementor-widget .elementor-icon-list-icon svg{width:auto;margin:0!important}
.ge-crumbs.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}
.ge-crumbs.elementor-widget .elementor-icon-list-item:last-child .elementor-icon-list-text{color:#15130F;font-weight:600!important}
.ge-crumbs.elementor-widget .elementor-icon-list-item>a:hover .elementor-icon-list-text{text-decoration:underline;text-decoration-color:#D9921C;text-underline-offset:4px;text-decoration-thickness:2px}
.ge-townlist a:hover .elementor-icon-list-text{text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px}
.ge-rating{position:absolute!important;left:16px;bottom:16px;width:auto!important;z-index:2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ge-hero-fig::after,.ge-hero-wide::after{content:"";position:absolute;left:0;right:0;bottom:0;pointer-events:none}
.ge-hero-fig::after{height:40%;background:linear-gradient(to top,rgba(21,19,15,.6),rgba(21,19,15,0));border-radius:0 0 32px 32px}
.ge-hero-wide{border-radius:32px;overflow:hidden}.ge-hero-wide::after{height:33.333%;background:linear-gradient(to top,rgba(21,19,15,.55),rgba(21,19,15,0))}
.ge-hero-cap{position:absolute!important;right:24px;bottom:24px;width:auto!important;z-index:2}
/* Program art card: the mockup figure is w-full max-w-[250px] sm:max-w-[300px] lg:max-w-[340px], centred in its cell. */
.ge-art{position:relative;width:100%;max-width:250px!important;margin-inline:auto}.ge-art::before{content:"";position:absolute;inset:-40px;background:radial-gradient(closest-side,rgba(246,189,85,.3),rgba(246,189,85,0));pointer-events:none}
.ge-badge{position:absolute!important;bottom:-24px;left:24px;right:24px;width:auto!important;z-index:2}
.ge-cmp-wrap table{width:100%;border-collapse:collapse;margin:0}
.ge-cmp-wrap table.cmp th,.ge-cmp-wrap table.cmp td{padding:1.05rem 1.3rem;text-align:left;vertical-align:top;border:0;border-bottom:1px solid #E7DFD2;font-size:15.5px;line-height:1.6;background:transparent}
.ge-cmp-wrap table.cmp thead th{background:#15130F;color:#F6F1E8;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:700;font-size:16px;border-bottom:0}
/* Hello's reset gives the first header row a 1px gray top border at (0,2,4); this outranks it. */
.ge-cmp-wrap table.cmp thead tr:first-child th{border-top:0}
.ge-cmp-wrap table.cmp tbody th{width:24%;background:#FBF7EF;font-weight:700;color:#15130F}
.ge-cmp-wrap table.cmp td{color:#3F3A33}
.ge-cmp-wrap table.cmp tbody tr:last-child th,.ge-cmp-wrap table.cmp tbody tr:last-child td{border-bottom:0}
.ge-cmp-wrap table.cmp tbody tr:hover>td,.ge-cmp-wrap table.cmp tbody tr:hover>th{background-color:inherit}
.ge-cta-cover{width:auto!important}.ge-cta-cover img{width:144px;height:144px;object-fit:cover}
.ge-cta-contain{width:auto!important;justify-self:start}.ge-cta-contain img{width:96px;height:96px;object-fit:contain;padding:8px;background:#fff}
.ge-faq.elementor-widget .e-n-accordion-item{border:1px solid rgba(216,207,191,.8);border-radius:16px;background:#fff;overflow:hidden;transition:border-color .2s}
.ge-faq.elementor-widget .e-n-accordion-item[open]{border-color:rgba(217,146,28,.4)}
.ge-faq.elementor-widget .e-n-accordion-item-title{border:0!important;border-radius:0!important;cursor:pointer;align-items:center}
.elementor-widget.ge-faq{--n-accordion-icon-gap:0 16px}
.ge-faq.elementor-widget .e-n-accordion-item-title-header{flex:1}.ge-faq.elementor-widget .e-n-accordion-item-title-text{font-variation-settings:"opsz" 72}
.ge-faq.elementor-widget .e-n-accordion-item-title-icon{width:32px;height:32px;flex:none;border-radius:9999px;background:#ECE4D6;display:flex;align-items:center;justify-content:center;transition:transform .3s,background .3s}
.ge-faq.elementor-widget .e-n-accordion-item-title-icon span{display:flex;align-items:center;justify-content:center}
.ge-faq.elementor-widget .e-n-accordion-item[open] .e-n-accordion-item-title-icon{background:#F6BD55;transform:rotate(45deg)}
.ge-faq.elementor-widget .e-n-accordion-item>.e-con{border:0;background:transparent}
.ge-contact-list.elementor-widget .elementor-icon-list-icon{flex:none}
/* Mockup rows are glyph + gap-3 + text; Elementor adds a 4px svg margin and 5px of text padding on top of the indent. */
.ge-contact-list.elementor-widget .elementor-icon-list-icon svg{margin:0}.ge-contact-list.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}
.ge-sticky{align-self:start}
.ge-lift{transition:transform .3s}.ge-lift:hover{transform:translateY(-4px)}
.ge-lift-sm{transition:transform .3s,border-color .3s}.ge-lift-sm:hover{transform:translateY(-2px)}
.ge-zoom .elementor-widget-image{overflow:hidden}.ge-zoom img{transition:transform .7s}.ge-zoom:hover img{transform:scale(1.05)}
.ge-arrow{transition:transform .3s}.ge-zoom:hover .ge-arrow{transform:translateX(4px)}
.ge-relpost-img{width:auto!important;flex:none}.ge-relpost-img img{width:112px;height:96px;object-fit:cover;border-radius:16px}
.ge-relpost:hover .ge-relpost-title .elementor-heading-title{color:#8A5A10}
.ge-hoverborder:hover{border-color:rgba(217,146,28,.5)!important}
.ge-arrowdot .elementor-icon{transition:background .2s}.ge-arrowcard:hover .ge-arrowdot .elementor-icon{background:#F6BD55!important}
.ge-years .elementor-heading-title{display:inline-block;background:rgba(246,189,85,.25);border-radius:9999px;padding:2px 10px}
.ge-badge-many img{width:100%;max-height:80px;object-fit:contain}
.ge-badge-few{width:auto!important}.ge-badge-few img{height:80px;width:auto;max-width:9rem;object-fit:contain}
.ge-band-icon{width:auto!important}.ge-band-icon img{width:56px;height:56px}
/* The mockup's 1.1em list margin and 1.4em indent resolve against the list's own 16px font, not the 17px item text. */
.ge-prose ul,.ge-prose ol{margin:17.6px 0 0;padding-left:22.4px}.ge-prose ul:first-child,.ge-prose ol:first-child{margin-top:0}.ge-prose ul{list-style:disc}.ge-prose ol{list-style:decimal}
.ge-prose li+li{margin-top:.45em}.ge-prose li::marker{color:#D9921C}.ge-prose strong{color:#15130F}
.ge-prose p+p{margin-top:18.7px}.ge-prose ul+p,.ge-prose ol+p{margin-top:18.7px}.ge-addr p+p{margin-top:16px}
.ge-prose p:has(+ul),.ge-prose p:has(+ol){margin-block-end:0!important}
.ge-js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.ge-js .reveal.in{opacity:1;transform:none}
.elementor-editor-active .reveal{opacity:1!important;transform:none!important}
.ge-header::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ge-logo img{height:44px;width:auto}.ge-logo-foot img{height:48px;width:auto}
/* Footer and mega-panel lists: the mockup's <li><a> links are inline, so only the words are clickable and hoverable.
   The li drops its own strut (line-height 0) so the link's 1.5 line sets the row; pointer-events keep Elementor's
   li:hover colour from firing on the empty space beside the link. */
.ge-inl .elementor-icon-list-item{display:block!important;line-height:0;pointer-events:none}
.ge-inl .elementor-icon-list-item>a{display:inline!important;pointer-events:auto}
.ge-util.elementor-widget .elementor-icon-list-items{margin:0!important}.ge-util.elementor-widget .elementor-icon-list-item{margin:0!important;white-space:nowrap}.ge-util.elementor-widget .elementor-icon-list-item::after{display:none!important}
/* The mockup's links sit in a flex row with a 20px gap. That row is a flex item with min-width:auto, so it never shrinks
   below both links and the license line wraps instead (834px); Elementor widgets get min-width:0 and Inline Icon List
   items wrap. Native _flex_size cannot be used here: .ge-w-auto sets the flex shorthand, which beats its variables. */
.ge-foot-legal .elementor-icon-list-items{column-gap:20px}.elementor-widget.ge-foot-legal{flex-shrink:0}
.ge-util.elementor-widget .ge-stars{color:#F6BD55}
/* Homepage photo-quote option: <p class="flex items-center gap-2.5">Send photos<span>Free</span></p>. */
.ge-optp .elementor-heading-title{display:flex;align-items:center;gap:10px}
.ge-free{font-family:"Public Sans",system-ui,sans-serif;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#F6F1E8;background:#15130F;border-radius:9999px;padding:2px 10px}
/* Mockup: inline-flex items-center gap-1.5 around the stars and " 5.0 on Google"; the flex gap swallows the space. */
.ge-util.elementor-widget .elementor-icon-list-text:has(>.ge-stars){display:inline-flex;align-items:center;gap:6px}
/* Top bar icons at their glyph width with only the indent between icon and text (the mockup's gap-2 / gap-1.5): Elementor
   otherwise squares every icon, adds a quarter-em icon margin and 5px of text padding. */
.elementor-widget.ge-util.elementor-widget .elementor-icon-list-icon svg{width:auto;margin:0}
.elementor-widget.ge-util.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}
.ge-iconbtn .elementor-button{width:44px;height:44px;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
.ge-iconbtn .elementor-button-text{display:none}
.ge-iconbtn .elementor-button-content-wrapper{gap:0}
.ge-iconline .elementor-button{border:1px solid rgba(21,19,15,.15)}
.ge-tel .elementor-button-icon svg{fill:#D9921C}
#ge-menu-close{display:none}
.ge-menu-is-open #ge-menu-open{display:none}.ge-menu-is-open #ge-menu-close{display:block}
#ge-mobile-menu{display:none!important;max-height:calc(100vh - 110px);overflow-y:auto}
#ge-mobile-menu.is-open{display:flex!important}
.ge-mm-row .elementor-heading-title>a{display:block;margin:-12px;padding:12px;border-radius:12px}
.ge-mm-quote u{white-space:nowrap;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.ge-mm-quote u:hover{color:#8A5A10}
.ge-mm.elementor-widget .e-n-accordion-item-title{cursor:pointer;justify-content:space-between}.ge-mm.elementor-widget .e-n-accordion-item>.e-con{border:0}
.ge-mm.elementor-widget .e-n-accordion-item-title-icon{transition:transform .2s}
.ge-mm.elementor-widget .e-n-accordion-item[open] .e-n-accordion-item-title-icon{transform:rotate(180deg)}
/* align-items:start: the mockup's grid cells are plain links, top-aligned; a stretched Elementor row centred a short
   link beside a two-line neighbour (9px low). */
.ge-mm-links.elementor-widget .elementor-icon-list-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;align-items:start}
.ge-mm-links.elementor-widget .elementor-icon-list-item{padding:0!important;margin:0!important}
.ge-mm-focus.elementor-widget .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px 16px;margin:0!important}
.ge-mm-focus.elementor-widget .elementor-icon-list-item{margin:0!important}.ge-mm-focus.elementor-widget .elementor-icon-list-item::after{display:none!important}
.ge-mm-strong.elementor-widget .elementor-icon-list-item:last-child .elementor-icon-list-text{color:#15130F;font-weight:600}
.ge-mega.elementor-widget .e-n-menu-wrapper{gap:0}
.ge-mega.elementor-widget .e-n-menu-title{border-radius:9999px;transition:background .2s}
.ge-mega.elementor-widget .e-n-menu-title:hover{background:#ECE4D6}
.ge-mega.elementor-widget .e-n-menu-dropdown-icon{margin-inline-start:0!important}
/* The mockup's nav pills are the controls: a button the size of the pill (Services, Service Areas, About) or a link the
   size of the pill (Blog, Contact). Elementor's dropdown button is stretched over its pill with the chevron where it was
   (the title text keeps the 6px gap and 10px chevron as end padding); the links take the pill's padding. */
.ge-mega.elementor-widget .e-n-menu-title:has(>.e-n-menu-dropdown-icon){position:relative}
.ge-mega.elementor-widget .e-n-menu-title:has(>.e-n-menu-dropdown-icon)>.e-n-menu-title-container{padding-inline-end:16px}
.ge-mega.elementor-widget .e-n-menu-title>.e-n-menu-dropdown-icon{position:absolute!important;inset:0;width:auto!important;height:auto!important;align-self:stretch!important;flex-direction:row!important;justify-content:flex-end!important;align-items:center;padding:0 16px 0 0!important;border-radius:9999px}
.ge-mega.elementor-widget .e-n-menu-title>a.e-n-menu-title-container{margin:-10px -16px;padding:10px 16px;border-radius:9999px}
/* A clicked (pinned) panel stays on screen while another pill's panel is open over it, as on the mockup (site.js). */
.ge-mega.elementor-widget .e-n-menu-item.ge-pin-show>.e-n-menu-content>.e-con{display:var(--display)!important}
.ge-mega.elementor-widget .e-n-menu:not([data-layout="dropdown"]) .e-n-menu-item.ge-pin-show>.e-n-menu-content{top:100%;padding-block-start:var(--n-menu-title-distance-from-content)}
.ge-mega.elementor-widget .e-n-menu-content>.e-con.ge-mega-center{left:0!important;margin-inline:auto!important}
.ge-megacard{position:relative;overflow:hidden;isolation:isolate}
.ge-megacard-img{position:absolute!important;inset:0;z-index:-1;width:100%!important;opacity:.35}
.ge-megacard-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.ge-megacard:hover .ge-megacard-img img{transform:scale(1.05)}
.ge-about-links.elementor-widget .elementor-icon-list-item>a{display:block;border-radius:12px;padding:8px 12px;transition:background .2s}
.ge-about-links.elementor-widget .elementor-icon-list-item>a:hover{background:#ECE4D6}
.ge-cart{display:none!important;width:auto!important}
.ge-cart-show .ge-cart{display:block!important}
#mobile-cta{position:fixed!important;left:0;right:0;bottom:0;z-index:40;width:100%!important;visibility:hidden;transform:translateY(100%);transition:transform .3s,visibility .3s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#mobile-cta.is-on{visibility:visible;transform:none}
/* Mockup bar: btn-bulb has no border, so the grid's stretch (not padding) makes both buttons the btn-line height. */
#mobile-cta .elementor-button-wrapper,#mobile-cta .elementor-button{height:100%}
.ge-ico-glyph svg{width:auto!important}
.chamber-badge{text-align:left!important}
.chamber-badge .mn-widget-member{display:inline-block;margin-top:1rem;padding:.6rem .9rem .5rem;border-radius:.9rem;background:#fff}
.chamber-badge .mn-widget-member-name{display:none}
.chamber-badge .mn-widget-member-text{font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5E574D}
.chamber-badge .mn-widget-member-link{display:block;margin-top:.25rem}
.chamber-badge .mn-widget-member-logo{display:block;width:128px;height:48px;max-width:none!important;object-fit:cover}
.ge-pill .elementor-heading-title{display:inline-block;border:1px solid rgba(246,241,232,.15);border-radius:9999px;padding:6px 12px}
.ge-pill{width:auto!important}
.ge-ring{width:auto!important}.ge-ring img{height:32px;width:auto;border-radius:6px}
.ge-foot-social .elementor-icon{transition:all .2s}.ge-foot-social .elementor-icon:hover{background:#F6BD55!important;color:#15130F!important;fill:#15130F!important}
.ge-news .elementor-form-fields-wrapper{flex-wrap:nowrap;gap:10px;margin:0!important}
.ge-news .elementor-field-group{margin:0!important;padding:0!important}
.elementor-form .elementor-field-type-text:not(.elementor-field-group){display:none}
/* Homepage (build/home.mjs). Service panels: site.js sets flex and opacity inline; these are the no-JS/editor defaults. */
.ge-grain{background-image:radial-gradient(rgba(21,19,15,.027) 1px,transparent 1px);background-size:3px 3px}
.ge-mw-md{max-width:28rem!important}
.ge-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.e-con.service-panel{position:relative;overflow:hidden;cursor:pointer;flex:1 1 0%;transition:flex .7s cubic-bezier(.25,.1,.25,1)}
.e-con.service-panel:first-child{flex:3 1 0%}
.e-con.service-panel::after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:rgba(246,241,232,.1);pointer-events:none}
.ge-panel-img{position:absolute!important;inset:0;width:100%!important;height:100%;margin:0!important}
.ge-panel-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.4,0,.2,1)}
.service-panel:hover .ge-panel-img img{transform:scale(1.03)}
.ge-panel-img::after{content:"";position:absolute;inset:0;background-image:linear-gradient(to top,#101716,rgba(16,23,22,.55),rgba(16,23,22,.1));pointer-events:none}
.e-con.panel-collapsed,.e-con.panel-expanded{position:absolute!important;inset:0;transition:opacity .45s ease}
.e-con.panel-expanded{opacity:0}
.e-con.service-panel:first-child>.panel-expanded{opacity:1}.e-con.service-panel:first-child>.panel-collapsed{opacity:0}
.ge-vert .elementor-heading-title{writing-mode:vertical-lr;transform:rotate(180deg)}
.ge-dots.elementor-widget .elementor-icon-list-items{display:grid;grid-template-columns:minmax(0,1fr);gap:14px 32px;margin:0!important}
.ge-dots.elementor-widget .elementor-icon-list-item{margin:0!important;padding:0!important}
.ge-dots.elementor-widget .elementor-icon-list-item::after{display:none!important}
.ge-dots.elementor-widget .elementor-icon-list-item>a{align-items:flex-start}
.ge-dots.elementor-widget .elementor-icon-list-icon{margin-top:.45rem}
.ge-dots.elementor-widget .elementor-icon-list-icon svg{margin:0!important}.ge-dots.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}
.ge-dots.elementor-widget a:hover .elementor-icon-list-text{text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px}
.ge-ar-how img{aspect-ratio:4/5}
.ge-award-img img{width:auto!important}
/* The mockup's <i class="text-brass"> keeps its colour while the link is hovered; Elementor's hover fill outranks a class. */
.ge-ico-brass .elementor-button-icon svg{fill:#8A5A10!important}
.e-con.ge-steps-line::before{content:"";position:absolute;top:48px;bottom:48px;left:46px;right:auto;width:1px;height:auto;background:rgba(217,146,28,.4);pointer-events:none}
.ge-glow-pq{background-image:radial-gradient(34rem 24rem at 88% 0%,rgba(246,189,85,.18),rgba(246,189,85,0) 70%)}
.ge-night .ge-a-paper a{color:#F6F1E8;text-decoration-color:#F6BD55;white-space:nowrap}
.ge-night .ge-a-paper a:hover{color:#F6BD55}
.ge-night .ge-a-paper.ge-a-thin a{text-decoration-thickness:auto;text-decoration-color:rgba(246,189,85,.6);white-space:normal}
.ge-checks-dk.elementor-widget .elementor-icon-list-text a{font-weight:400;text-decoration-color:rgba(246,241,232,.25);text-decoration-thickness:auto;transition:color .2s}
.ge-checks-dk.elementor-widget .elementor-icon-list-text a:hover{color:#F6BD55;text-decoration-color:#F6BD55}
.ge-checks-glyph.elementor-widget .elementor-icon-list-icon{width:auto}.ge-checks-glyph.elementor-widget .elementor-icon-list-icon svg{width:auto}
.ge-cover-sm img{width:100%;height:256px;object-fit:cover}
.e-con.ge-hfull{flex-grow:1}
.ge-tel-plain a[href^="tel:"]{text-decoration:none;white-space:nowrap}
.ge-gmap{display:block;width:100%;height:380px;border:0;border-radius:2rem;background:#ECE4D6;box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28)}
@media (min-width:640px){.ge-gmap{height:460px}}
.ge-news .elementor-field-type-email{flex:1;width:auto!important;min-width:0}
.ge-news .elementor-field-type-submit{width:auto!important;flex:none}
/* The mockup's Sign up stretches to the 52.5px email field beside it; Elementor bottom-aligns the 50.5px button. */
.ge-news .elementor-field-type-submit{align-items:stretch}
/* The mockup's Sign up is a .btn-bulb: amber glow, 2px lift on hover, ink focus ring. */
.ge-news .elementor-button{box-shadow:0 10px 30px -12px rgba(217,146,28,.7);transition:all .3s}
.ge-news .elementor-button:hover{transform:translateY(-2px)}
.ge-news .elementor-button:focus-visible{outline:2px solid #15130F;outline-offset:2px}
.ge-news .elementor-field-textual{border-radius:9999px;padding:14px 20px;min-height:0;line-height:1.5}
.ge-news .elementor-field-textual::placeholder{color:rgba(246,241,232,.45);opacity:1}
.ge-news .elementor-field-textual:focus{outline:none;border-color:#F6BD55!important;box-shadow:0 0 0 2px rgba(246,189,85,.4)}
.ge-news .elementor-message{color:#15130F;background:#FBE6B8;border-radius:12px;padding:12px 16px;font-size:14.5px;font-weight:600;margin-top:12px}
.ge-news .elementor-message::before{display:none}
.ge-form{--ge-cg:20px}
.ge-form .elementor-form-fields-wrapper{margin:0!important;gap:20px 32px}
.ge-form .elementor-field-group{padding:0!important;margin:0!important}
.ge-form .elementor-field-group.elementor-col-50{width:100%}
.ge-form .elementor-field-label{display:block;margin-bottom:0}
.ge-form .ge-opt{font-weight:400;color:#5E574D}
.ge-form .elementor-field-textual{padding:12px 16px;line-height:1.5;min-height:0}
.ge-form .elementor-field-textual::placeholder{color:rgba(94,87,77,.6);opacity:1}
.ge-form .elementor-field-textual:focus{outline:none;border-color:#D9921C!important;box-shadow:0 0 0 2px rgba(246,189,85,.4)}
/* Form field groups are targeted by .elementor-field-group-<custom_id>: Pro puts a field's css_classes on the input, not the group. */
.ge-form .elementor-field-type-submit{width:auto;order:1}
.ge-form .elementor-field-type-submit .elementor-button{width:auto;display:inline-flex;align-items:center;justify-content:center;transition:all .3s}
.ge-form .elementor-field-group-fine{order:2;margin-top:-4px!important}
.ge-form .elementor-field-type-submit .elementor-button:hover{transform:translateY(-2px)}
.ge-form .ge-fine,.ge-form .ge-hint{font-size:13.5px;line-height:1.5;color:#5E574D;margin:0}
/* The mockup's textarea is inline-block in a line box, so its block gains a 7px descender strut. */
.ge-form .elementor-field-group.elementor-field-type-textarea{padding-bottom:7px!important}
.ge-form .ge-hint{font-size:13px;margin-top:-14px}
.ge-form .ge-fine a{color:#15130F;font-weight:600;text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px}
.ge-form .elementor-field-type-html{width:100%}
/* Radio options as the mockup's flex labels: 16px dot, 10px gap, 15.5px text. The form's field typography outranks a plain rule. */
.ge-form .elementor-field-group-who{align-content:flex-start}
.ge-form .elementor-field-option{display:inline-flex;align-items:center;gap:10px;padding:0!important}
.ge-form .elementor-field-option label{font-size:15.5px!important;line-height:1.5!important;font-weight:400}
.ge-form .elementor-field-option input{accent-color:#D9921C;width:16px;height:16px;margin:0}
.ge-form .elementor-field-subgroup{gap:8px 24px;margin-top:4px}
.ge-form .elementor-message{color:#15130F;background:#FBE6B8;border-radius:12px;padding:12px 16px;font-size:14.5px;font-weight:600;margin-top:16px}
.ge-form .elementor-message::before{display:none}
/* Blog (build/blog.mjs). Cards are Loop Item templates; .ge-pos-* rides on the loop item's post classes. */
.e-loop-item>.e-con{height:100%}
.ge-card-title .elementor-heading-title{transition:color .2s}
.ge-card:hover .ge-card-title .elementor-heading-title{color:#8A5A10}
.ge-clamp3 .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ge-related .ge-card-excerpt{display:none}
#ge-all-posts:not(.ge-filtered) div.e-loop-item:first-of-type{display:none}
.ge-chip .elementor-button{transition:all .2s}
.elementor-widget.ge-chip{scroll-margin-top:7rem}
.ge-chip.is-active .elementor-button{background:#15130F!important;border-color:#15130F!important;color:#F6F1E8!important}
.ge-chip-count{font-size:12px;font-weight:700;opacity:.6}.ge-chip .elementor-button-text{display:inline-flex;align-items:center;gap:8px}
.e-con.ge-chiprow{flex-wrap:wrap!important}
.elementor-widget.ge-money-img{position:relative;overflow:hidden;width:100%}
.ge-money-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ge-pos-50-25 .ge-money-img img{object-position:50% 25%}.ge-pos-50-35 .ge-money-img img{object-position:50% 35%}
.ge-money-grid div.e-loop-item:only-of-type{grid-column:1/-1}
.elementor-widget.ge-post-cover{width:100%;max-width:56rem!important;margin:2.5rem auto 0!important}
.ge-post-cover img{display:block;margin-inline:auto;width:auto;height:auto;max-width:100%;max-height:34rem;border-radius:2rem;box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28)}
.ge-no-cover .ge-post-cover{display:none!important}
body:not(.ge-updated) .ge-upd{display:none!important}
.e-con.ge-meta2{width:auto!important;flex:0 1 auto}
.ge-byline{font-weight:600;color:#15130F}
/* Post body: the Post Content widget, styled like the mockup's .prose-ge on core blocks. */
.elementor-widget.ge-post-body{width:100%;max-width:36rem!important;margin-inline:auto;color:#3F3A33}
.elementor-widget.ge-post-body>*{margin:0}
.elementor-widget.ge-post-body>*+*{margin-top:1.1em}
.elementor-widget.ge-post-body>h2{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.85rem;line-height:1.15;letter-spacing:-.02em;color:#15130F;margin-top:2.2em}
.elementor-widget.ge-post-body>h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:700;font-size:1.35rem;line-height:1.25;letter-spacing:0;color:#15130F;margin-top:1.9em}
.elementor-widget.ge-post-body>h4{font-family:"Public Sans",system-ui,sans-serif;font-weight:700;font-size:1.1rem;line-height:1.5;letter-spacing:0;color:#15130F;margin-top:1.6em}
.ge-post-body p,.ge-post-body li{font-size:17px;line-height:1.75;color:#3F3A33}
.ge-post-body a:not(.wp-block-button__link){color:#15130F;font-weight:600;text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.ge-post-body a:not(.wp-block-button__link):hover{color:#8A5A10}
.ge-post-body a u{text-decoration:none}
.elementor-widget.ge-post-body ul,.elementor-widget.ge-post-body ol{padding-left:1.4em;margin-bottom:0}
.ge-post-body ul{list-style:disc}.ge-post-body ol{list-style:decimal}
.elementor-widget.ge-post-body li>ul,.elementor-widget.ge-post-body li>ol{margin:0}
.ge-post-body li+li{margin-top:.45em}
.ge-post-body li::marker{color:#D9921C}
.ge-post-body strong{color:#15130F}
.elementor-widget.ge-post-body .wp-block-image{display:block}
.elementor-widget.ge-post-body .wp-block-image img{display:block;width:100%;height:auto;border-radius:1.25rem}
.elementor-widget.ge-post-body .wp-block-image.ge-tall img{margin-inline:auto;max-width:100%;max-height:42rem}
.elementor-widget.ge-post-body figcaption{display:block;margin:.6rem 0 0;font-size:13.5px;font-style:normal;line-height:1.5;color:#5E574D;text-align:left}
.elementor-widget.ge-post-body .ge-tall figcaption,.elementor-widget.ge-post-body .ge-video figcaption{text-align:center}
.elementor-widget.ge-post-body .wp-block-gallery.ge-gal{display:block!important;columns:2;gap:0;column-gap:1rem}
.elementor-widget.ge-post-body .wp-block-gallery.ge-gal>.wp-block-image{display:block!important;width:100%!important;margin:0 0 1rem!important;break-inside:avoid}
.elementor-widget.ge-post-body .wp-block-gallery.ge-gal img{width:100%!important;height:auto!important;object-fit:fill!important;border-radius:1.25rem}
.elementor-widget.ge-post-body .wp-block-video video{display:block;margin-inline:auto;width:auto!important;max-width:100%;max-height:36rem;height:auto;border-radius:1.25rem}
.elementor-widget.ge-post-body .ge-gif figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ge-gif-box{position:relative;margin-inline:auto;width:fit-content;max-width:100%}
button.ge-gif-btn{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:9999px;background:rgba(21,19,15,.8);color:#F6F1E8;box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:all .15s}
button.ge-gif-btn:hover,button.ge-gif-btn:focus{background:#15130F;color:#F6F1E8}
button.ge-gif-btn:focus-visible{outline:2px solid #F6BD55;outline-offset:2px}
button.ge-gif-btn svg{height:13px;width:auto;fill:currentColor}
.elementor-widget.ge-post-body .wp-block-embed__wrapper{border-radius:1.25rem;overflow:hidden;background:#15130F}
.elementor-widget.ge-post-body .wp-block-table{overflow-x:auto}
.elementor-widget.ge-post-body .wp-block-table table{width:100%;border-collapse:collapse;margin:0;font-size:15.5px;line-height:1.5;color:#15130F}
.elementor-widget.ge-post-body .wp-block-table thead{border-bottom:0}
.elementor-widget.ge-post-body .wp-block-table th,.elementor-widget.ge-post-body .wp-block-table td{border:1px solid #D8CFBF;padding:.65rem .8rem;text-align:left;vertical-align:top;background:transparent;font-size:15.5px;line-height:1.5}
.elementor-widget.ge-post-body .wp-block-table th{background:#F8ECD2;font-weight:700;color:#15130F}
.elementor-widget.ge-post-body .wp-block-buttons{display:block;font-size:17px;line-height:1.75}
.elementor-widget.ge-post-body .wp-block-button{display:inline}
.elementor-widget.ge-post-body .wp-block-button .wp-block-button__link{display:inline-flex;width:auto;align-items:center;justify-content:center;gap:.625rem;border-radius:9999px;background:#15130F;padding:14px 24px;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.75;color:#F6F1E8;text-decoration:none;transition:all .3s}
.elementor-widget.ge-post-body .wp-block-button .wp-block-button__link:hover{background:#000;color:#F6F1E8;transform:translateY(-2px)}
@media (max-width:767px){
.ge-hero-cap{display:none}
.ge-cmp-wrap table.cmp thead{display:none}
.ge-cmp-wrap table.cmp tr{display:block;border-bottom:1px solid #D8CFBF;padding:.4rem 0 .9rem}
.ge-cmp-wrap table.cmp tbody tr:last-child{border-bottom:0}
.ge-cmp-wrap table.cmp tbody th{display:block;width:auto;background:none;border:0;padding:.9rem 1.25rem .35rem;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:18px}
.ge-cmp-wrap table.cmp td{display:grid;grid-template-columns:7.5rem 1fr;gap:.9rem;border:0;padding:.4rem 1.25rem;font-size:15px}
.ge-cmp-wrap table.cmp td::before{content:attr(data-label);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8A5A10;padding-top:.2rem}
}
@media (min-width:420px) and (max-width:639px){.ge-420-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (min-width:640px){
.ge-art{max-width:300px!important}
.ge-dots.elementor-widget .elementor-icon-list-items{grid-template-columns:repeat(2,minmax(0,1fr))}
.ge-cover-sm,.ge-cover-sm img{height:100%}
.e-con.e-grid.ge-hfull{grid-template-rows:minmax(0,1fr)}
.ge-logo img{height:48px}
.ge-rating{left:24px;bottom:24px}
.ge-ar-hero img{aspect-ratio:16/11}
.ge-h-hero img{height:420px}
.ge-badge{left:auto;right:24px;width:288px!important}
.ge-cta-contain img{width:112px;height:112px}
.ge-mas-sm2{columns:2}
.ge-form .elementor-form-fields-wrapper{display:grid;grid-template-columns:max-content minmax(0,1fr) minmax(0,calc(50% + var(--ge-cg) / 2));column-gap:0}
.ge-form .elementor-field-group{grid-column:1/3;width:auto!important}
.ge-form .elementor-field-group-email,.ge-form-contact .elementor-field-group-address,.ge-form-nomination .elementor-field-group-who,.ge-form-nomination .elementor-field-group-nominee_address,.ge-form-nomination .elementor-field-group-hint2{grid-column:3;margin-inline-start:var(--ge-cg)!important}
.ge-form-contact .elementor-field-group-message,.ge-form-nomination .elementor-field-group-help{grid-column:1/-1}
.ge-form .elementor-field-type-submit{grid-column:1}
.ge-form .elementor-field-group-fine{grid-column:2/-1;align-self:center;margin:0 0 0 24px!important}
.ge-form-nomination .elementor-field-group-nominee,.ge-form-nomination .elementor-field-group-nominee_address{grid-row:3}
.ge-form-nomination .elementor-field-group-hint1,.ge-form-nomination .elementor-field-group-hint2{grid-row:4}
.ge-news-form .elementor-field-type-email{min-width:0}
}
@media (max-width:639px){
.ge-news .elementor-form-fields-wrapper{flex-wrap:wrap}
.ge-news .elementor-field-type-email,.ge-news .elementor-field-type-submit{width:100%!important;flex:0 0 100%}
.ge-news .elementor-button{width:100%}
.ge-tile-tight .elementor-icon{padding:11px!important}
.ge-sm-up{display:none!important}
.ge-form .elementor-field-group{width:100%!important}
}
@media (min-width:768px){
.ge-mas-md2{columns:2}
.ge-relpost{flex-direction:column!important;padding:0!important}
.ge-relpost-img,.ge-relpost-img img{width:100%!important}
.ge-relpost-img img{height:auto;aspect-ratio:16/10;border-radius:24px 24px 0 0}
.ge-relpost-body{padding:0 24px 24px}
.ge-relpost-title .elementor-heading-title{font-size:18px!important;line-height:28px!important}
.ge-md-row{flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
.ge-foot-cols{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (min-width:768px) and (max-width:1023px){
.ge-ar-how img{aspect-ratio:4/3}
.ge-md-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ge-md-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:1023px){
.ge-lg-up{display:none!important}
}
@media (min-width:1024px){
.ge-art{max-width:340px!important}
.ge-dots.elementor-widget .elementor-icon-list-items{grid-template-columns:repeat(4,minmax(0,1fr))}
.ge-rating{left:24px;bottom:24px}
.ge-ar-hero img{aspect-ratio:5/6}
.ge-h-hero img{height:520px}
.ge-lg-order2{order:2}
.ge-lg-pb3{padding-bottom:12px}
.ge-badge{right:-24px}
.ge-badge-rev{left:-24px;right:auto}
.ge-sticky{position:sticky;top:128px;z-index:1}
.ge-cta-contain img{width:144px;height:144px;padding:12px}
.ge-mas-lg3{columns:3}
.ge-lg-row{flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
.ge-w-auto-lg{width:auto!important}
.ge-form{--ge-cg:32px}
.ge-form-contact .elementor-field-group-email,.ge-form-contact .elementor-field-group-address{grid-column:1/3;margin-inline-start:0!important}
.ge-form-contact .elementor-field-group.elementor-field-group-message{grid-column:3;grid-row:1/span 4;margin-inline-start:var(--ge-cg)!important;flex-direction:column;flex-wrap:nowrap;align-items:stretch;padding-bottom:0!important}
.ge-form-contact .elementor-field-group-message textarea{flex:1 1 0%;height:auto;min-height:0}
#ge-mobile-menu,#ge-menu-open,#ge-menu-close{display:none!important}
}
@media (min-width:1024px) and (max-width:1279px){
.ge-lg-col{flex-direction:column!important;align-items:stretch!important}
.ge-h1-split .elementor-heading-title{font-size:3.5rem!important}
}
@media (max-width:1279px){
.ge-xl-up{display:none!important}
}
@media (min-width:1280px){
.ge-xl-below{display:none!important}
.ge-xl-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.ge-xl-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.ge-xl-px5 .elementor-button{padding-left:20px!important;padding-right:20px!important}
.ge-xl-3auto{grid-template-columns:auto auto auto!important;column-gap:40px!important}
}
@media (max-width:1535px){
.ge-2xl-up{display:none!important}
}
/* Blog breakpoints (sm 640, lg 1024, xl 1280 as in the mockup). */
@media (max-width:639px){
.e-con.ge-meta2{width:100%!important;flex-basis:100%}
.e-con.ge-chiprow{flex-wrap:nowrap!important;overflow-x:auto;width:calc(100% + 40px)!important;max-width:none;margin-left:-20px!important;margin-right:-20px!important;padding:4px 20px 8px!important}
}
@media (min-width:640px){
.elementor-widget.ge-money-img{width:42%!important;flex:none!important;min-height:15rem}
.ge-money-img img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
.elementor-widget.ge-post-body .wp-block-gallery.ge-gal-3{columns:3}
}
@media (min-width:1024px){
.ge-money-grid div.e-loop-item:only-of-type .elementor-widget.ge-money-img{width:36%!important}
.elementor-widget.ge-post-cover{margin-top:3rem!important}
.e-con.ge-feat-body{overflow:hidden;contain:size}
.ge-feat-title .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ge-feat-excerpt{display:none}
}
@media (min-width:1280px){
.e-con.ge-feat-body{padding:40px!important}
/* xl:text-[1.75rem] sets only the size; the line-height stays lg:text-2xl's 2rem. */
.ge-feat-title .elementor-heading-title{font-size:28px!important;line-height:32px!important}
.ge-feat-excerpt{display:block}
.ge-feat-excerpt .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

/* product cards */
.e-con.ge-pimg{position:relative;aspect-ratio:1/1;background:#FFFFFF;overflow:hidden}
.ge-pimg>.elementor-widget-image{position:absolute!important;inset:0;width:100%!important;max-width:none!important;margin:0!important}
.ge-pimg .elementor-widget-image img{display:block;width:100%;height:100%;object-fit:contain;padding:12px}
.ge-pcard-c .ge-pimg .elementor-widget-image img{padding:8px}
.ge-pimg-b img{background:#FFFFFF}
.elementor-widget.ge-pimg-b{opacity:0;transition:opacity .5s}
.ge-pcard:hover .ge-pimg-b,.ge-pcard:focus-visible .ge-pimg-b{opacity:1}
.ge-pcard:focus-visible{outline:2px solid #15130F;outline-offset:2px}
.elementor-widget.ge-pbadge{position:absolute!important;left:12px;top:12px;z-index:2;width:auto!important;max-width:none!important;margin:0!important}
/* Elementor's icon-list CSS loads after the kit and resets the list's padding and inline margins, so the widget class
   goes in the .elementor-kit-4. The glyph keeps its own width at 1em tall, as the mockup's <i> does. */
/* Icon List's ".elementor .elementor-element ul.elementor-icon-list-items{padding:0}" carries a tag and loads later. */
.elementor .elementor-widget.ge-pbadge ul.elementor-icon-list-items{background:#15130F;border-radius:9999px;padding:6px 12px;margin:0}
.ge-pbadge .elementor-icon-list-item{margin:0!important}
.elementor-widget.ge-pbadge .elementor-icon-list-icon svg{width:auto;height:var(--e-icon-list-icon-size,1em);margin:0}
/* Same specificity as Icon List's ".elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text", which loads later: keep the + */
.elementor-widget.ge-pbadge .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}
.ge-pbadge:has(.elementor-icon-list-text:empty){display:none}
.ge-card-price .price,.ge-pprice .price{margin:0}
.ge-pprice .price{font-variation-settings:"opsz" 72}
.ge-card-price .price del,.ge-pprice .price del{display:none}
.ge-pprice .price ins,.ge-card-price .price ins{text-decoration:none}
/* product page: layout pieces shown only when the product has them (body classes from the plugin) */
body:not(.ge-has-gb) .ge-gb,body:not(.ge-has-fabric) .ge-fabricbox,body:not(.ge-designed-in) .ge-designed,body:not(.ge-has-chart) .ge-chartbox{display:none!important}
body:not(.ge-price-range) .ge-price-note,.ge-price-note.is-off{display:none!important}
.ge-pintro p{margin:0}
.ge-pdesc p{margin:0;font-size:17px;line-height:1.625;color:#5E574D}
.ge-pdesc p+p{margin-top:16px}
.ge-pdesc a,.ge-size-help a{color:#15130F;font-weight:600;text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.ge-pdesc a:hover,.ge-size-help a:hover{color:#8A5A10}
#size-chart,#prices,#details,#more{scroll-margin-top:7rem}
/* gallery: WooCommerce's FlexSlider with thumbnails, styled as the mockup's photo frame, arrows, counter and thumbs */
.ge-pgal .woocommerce-product-gallery{position:relative;width:100%!important;float:none!important;margin:0!important;opacity:1!important;container-type:inline-size}
.ge-pgal .woocommerce-product-gallery__wrapper{position:relative;margin:0!important;overflow:hidden;border:1px solid rgba(216,207,191,0.7);border-radius:32px;background:#FFFFFF;box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28)}
.ge-pgal .woocommerce-product-gallery__image img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain}
.ge-pgal .woocommerce-product-gallery__image a{display:block;pointer-events:none}
.ge-pgal .flex-direction-nav{list-style:none;margin:0;padding:0}
.ge-pgal .flex-direction-nav a{position:absolute;top:50cqw;z-index:3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;transform:translateY(-50%);border:1px solid #D8CFBF;border-radius:9999px;background:rgba(255,255,255,0.9);box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28);color:#15130F;font-size:0;text-decoration:none;transition:background .2s;opacity:1!important}
.ge-pgal .flex-direction-nav a:hover{background:#F6BD55}
.ge-pgal .flex-direction-nav a:focus-visible{outline:2px solid #15130F;outline-offset:2px}
.ge-pgal .flex-direction-nav a::before{content:"";display:block;width:8.125px;height:13px;background:currentColor;-webkit-mask:var(--ge-chev) center/contain no-repeat;mask:var(--ge-chev) center/contain no-repeat}
/* The mockup buttons sit inside the figure's 1px border (left-3 / sm:left-4); this containing block has no border. */
.ge-pgal .flex-direction-nav .flex-prev{left:13px;--ge-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/%3E%3C/svg%3E")}
.ge-pgal .flex-direction-nav .flex-next{right:13px;--ge-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E")}
.ge-gal-count{position:absolute;right:16px;bottom:16px;z-index:3;border-radius:9999px;background:rgba(21,19,15,0.85);padding:4px 12px;font-family:"Public Sans",system-ui,sans-serif;font-size:12.5px;font-weight:600;line-height:1.5;color:#F6F1E8;pointer-events:none}
.ge-pgal .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 0!important;padding:0;list-style:none}
.ge-pgal .flex-control-thumbs li{width:72px!important;margin:0!important;float:none!important;padding:0!important}
.ge-pgal .flex-control-thumbs img{display:block;width:72px!important;height:72px!important;object-fit:contain;padding:4px;background:#FFFFFF;border:2px solid transparent;border-radius:16px;box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28);opacity:1!important;cursor:pointer;transition:border-color .2s}
.ge-pgal .flex-control-thumbs img:hover{border-color:#D9921C}
.ge-pgal .flex-control-thumbs img.flex-active{border-color:#15130F}
.ge-pgal .flex-control-thumbs img:focus-visible{outline:2px solid #D9921C;outline-offset:2px}
/* buy box: pills built from WooCommerce's selects (site.js), the quantity stepper and Add to cart */
.ge-js .ge-atc table.variations{display:none}
.ge-atc .reset_variations,.ge-atc .woocommerce-variation,.ge-atc .reset_variations_alert{display:none!important}
.ge-atc form.cart{margin:0!important}
.ge-atc .woocommerce-variation-add-to-cart,.ge-atc form.cart:not(.variations_form){display:block!important}
.ge-var{border:0;margin:0 0 28px;padding:0;min-width:0}
.ge-var legend,.ge-size-one,.ge-qty-label{display:block;margin:0;padding:0;font-family:"Public Sans",system-ui,sans-serif;font-size:14px;font-weight:700;line-height:1.5;color:#15130F}
.ge-var legend span,.ge-size-one span{font-weight:400;color:#5E574D}
.ge-size-one{margin-bottom:28px}
.ge-vpills{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ge-vpill-l{position:relative;display:inline-flex;margin:0;cursor:pointer}
.ge-vpill-l input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;opacity:0}
.ge-vpill{display:inline-flex;align-items:center;min-height:44px;border:1px solid rgba(21,19,15,0.15);border-radius:9999px;background:#FFFFFF;padding:0 16px;font-family:"Public Sans",system-ui,sans-serif;font-size:14.5px;font-weight:600;line-height:1.5;color:#15130F;transition:all .15s}
.ge-vpill-size{min-width:3.25rem;justify-content:center}
.ge-vpill-l:hover .ge-vpill{border-color:rgba(21,19,15,0.5)}
.ge-vpill-l input:checked+.ge-vpill{border-color:#15130F;background:#15130F;color:#F6F1E8}
.ge-vpill-l input:focus-visible+.ge-vpill{outline:2px solid #D9921C;outline-offset:2px}
.ge-vpill-l input:disabled+.ge-vpill{cursor:not-allowed;border-style:dashed;background:transparent;color:rgba(94,87,77,0.6);text-decoration:line-through}
.ge-vpill-l:has(input:disabled){cursor:not-allowed}
.ge-size-help{margin:12px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;line-height:1.625;color:#5E574D}
.ge-size-msg{margin:8px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:14px;font-weight:600;line-height:1.5;color:#8A5A10}
.ge-atc .quantity{display:inline-flex!important;align-items:center;margin:12px 0 0!important;border:1px solid rgba(21,19,15,0.15);border-radius:9999px;background:#FFFFFF;float:none!important}
.ge-atc .quantity input.qty{width:48px!important;height:44px!important;min-height:0!important;margin:0;padding:0!important;border:0!important;border-radius:6px;background:transparent!important;text-align:center;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:600;color:#15130F;-moz-appearance:textfield;appearance:textfield}
.ge-atc .quantity input.qty::-webkit-inner-spin-button,.ge-atc .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ge-atc .quantity input.qty:focus{outline:none}
.ge-atc .quantity input.qty:focus-visible{box-shadow:0 0 0 2px #D9921C}
/* --button-spacing: Pro's add-to-cart CSS spaces every button in the form 10px from the one before (meant for Add to
   cart), which pushed the stepper's minus and plus buttons 10px apart. */
.ge-atc .ge-qty-btn{--button-spacing:0px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:9999px;background:transparent;color:#15130F;cursor:pointer;transition:background .2s}
.ge-atc .ge-qty-btn:hover{background:#ECE4D6}
.ge-atc .ge-qty-btn svg{width:12px;height:12px;fill:currentColor}
.ge-atc .ge-qty-btn:focus-visible{outline:2px solid #D9921C;outline-offset:2px}
.ge-atc .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:9999px;background:#F6BD55;color:#15130F;padding:14px 24px;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.5;box-shadow:0 10px 30px -12px rgba(217,146,28,.7);transition:all .3s;cursor:pointer;display:flex;width:100%;margin:28px 0 0!important;float:none!important;opacity:1!important}
.ge-atc .single_add_to_cart_button:hover{background:#F9C96B!important;transform:translateY(-2px)}
.ge-atc .single_add_to_cart_button:focus-visible{outline:2px solid #15130F;outline-offset:2px}
/* The cart glyph is 576 wide: a 15px square shrank it to 15x13.3; the mockup's font icon draws it 16.9x15. */
.ge-atc .single_add_to_cart_button svg{width:auto;height:15px;fill:currentColor}
.ge-atc .single_add_to_cart_button.loading{opacity:.7!important}
.ge-cart-note{margin:12px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:14.5px;font-weight:600;line-height:1.5;color:#8A5A10}
.ge-cart-note:empty{display:none}
.ge-atc .added_to_cart{display:none!important}
/* specification lists, size chart and price list ([ge_shop] output) */
.elementor-widget-text-editor ul.ge-spec{display:flex;flex-direction:column;gap:10px;margin:0!important;padding:0!important;list-style:none}
.ge-spec li{display:flex;gap:12px;margin:0!important;font-size:15.5px;line-height:1.5;color:#15130F}
.ge-spec li::before{display:none!important}
.ge-spec-ico{display:block;flex-shrink:0;width:16px;height:15.5px;margin-top:4px;background:#D9921C;-webkit-mask:var(--ge-ico) center/contain no-repeat;mask:var(--ge-ico) center/contain no-repeat}
.ge-i-check{--ge-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E")}
.ge-i-shirt{--ge-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M211.8 0c7.8 0 14.3 5.7 16.7 13.2C240.8 51.9 277.1 80 320 80s79.2-28.1 91.5-66.8C413.9 5.7 420.4 0 428.2 0h12.6c22.5 0 44.2 7.9 61.5 22.3L628.5 127.4c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V197.7l-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0h12.6z'/%3E%3C/svg%3E")}
.ge-i-droplet{--ge-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z'/%3E%3C/svg%3E")}
.ge-spec-ico.ge-i-shirt,.ge-spec-ico.ge-i-droplet{height:13px}
.ge-chart-wrap{overflow:hidden;border:1px solid rgba(216,207,191,0.7);border-radius:16px}
table.ge-chart{width:100%;margin:0;border-collapse:collapse;text-align:left;font-size:15px;line-height:1.5;color:#15130F}
.ge-chart th,.ge-chart td{border:0!important;background:none!important;padding:10px 16px;vertical-align:top}
.ge-chart thead{background:#F6F1E8}
.ge-chart thead th{padding:12px 16px;font-weight:600}
.ge-chart tbody tr+tr{border-top:1px solid rgba(216,207,191,0.7)}
.ge-chart tbody th{font-weight:600}
.ge-chart tbody td{color:#5E574D}
.ge-chart-note,.ge-prices-note{margin:12px 0 0!important;font-size:13.5px;line-height:1.625;color:#5E574D}
dl.ge-prices{margin:0;font-size:15.5px;line-height:1.5;color:#15130F}
.ge-prices>div{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:10px 0}
.ge-prices>div+div{border-top:1px solid rgba(216,207,191,0.7)}
.ge-prices dt{font-weight:400}
.ge-prices dd{margin:0;font-weight:600}
/* header cart button and mini cart (Elementor Pro Menu Cart, side cart) */
.ge-cart .elementor-menu-cart__toggle .elementor-button{width:44px;height:44px;padding:0!important;justify-content:center}
.ge-cart .elementor-menu-cart__toggle .elementor-button-text{display:none}
.ge-cart .elementor-menu-cart__toggle .elementor-button-icon{margin:0!important}
.ge-cart .elementor-menu-cart__toggle .elementor-button-icon[data-counter]:before,.ge-cart .elementor-button-icon-qty[data-counter]{top:-6px!important;right:-6px!important;left:auto!important;min-width:20px;height:20px;padding:0 4px;border-radius:9999px;font-family:"Public Sans",system-ui,sans-serif;font-size:11px;font-weight:700;line-height:20px}
.ge-cart .elementor-menu-cart__container{background:rgba(21,19,15,0.5)}
.ge-cart .elementor-menu-cart__main{width:100%!important;max-width:26rem;padding:0!important;background:#F6F1E8!important;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);display:flex;flex-direction:column}
.ge-cart .elementor-menu-cart__close-button,.ge-cart .elementor-menu-cart__close-button-custom{position:absolute!important;top:20px;right:24px;z-index:2;display:flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;margin:0!important;border:1px solid rgba(21,19,15,0.15);border-radius:9999px;transition:background .2s}
.ge-cart .elementor-menu-cart__close-button:hover,.ge-cart .elementor-menu-cart__close-button-custom:hover{background:#ECE4D6}
.ge-cart .widget_shopping_cart_content{display:flex;flex-direction:column;min-height:0;flex:1}
.ge-cart .ge-mc-title{margin:0;padding:20px 84px 20px 24px;border-bottom:1px solid rgba(216,207,191,0.7);font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:24px;font-weight:700;line-height:44px;letter-spacing:0;color:#15130F}
.ge-mc-added{display:none;align-items:center;gap:10px;margin:0;padding:12px 24px;border-bottom:1px solid rgba(217,146,28,0.25);background:#F8ECD2;font-family:"Public Sans",system-ui,sans-serif;font-size:14.5px;font-weight:600;line-height:1.5;color:#15130F}
.ge-mc-added svg{width:14.5px;height:14.5px;fill:#D9921C}
.ge-mc-just .ge-mc-added{display:flex}
/* WooCommerce notices (a removed cart line with Undo, checkout errors), in the look of the mockup's "Added to your
   cart" line: the bulb wash, a deep-bulb rule and icon, Public Sans 14.5px semibold. */
.woocommerce-notices-wrapper .woocommerce-message,.woocommerce-notices-wrapper .woocommerce-info,.woocommerce-notices-wrapper .woocommerce-error,.woocommerce-NoticeGroup .woocommerce-message,.woocommerce-NoticeGroup .woocommerce-info,.woocommerce-NoticeGroup .woocommerce-error{position:relative;display:block;margin:0 0 24px;padding:14px 20px 14px 46px;list-style:none;border:1px solid rgba(217,146,28,0.25);border-radius:16px;background:#F8ECD2;font-family:"Public Sans",system-ui,sans-serif;font-size:14.5px;font-weight:600;line-height:1.5;color:#15130F;outline:none}
.woocommerce-notices-wrapper .woocommerce-message::before,.woocommerce-notices-wrapper .woocommerce-info::before,.woocommerce-notices-wrapper .woocommerce-error::before,.woocommerce-NoticeGroup .woocommerce-message::before,.woocommerce-NoticeGroup .woocommerce-info::before,.woocommerce-NoticeGroup .woocommerce-error::before{content:"";position:absolute;top:18px;left:20px;width:14.5px;height:14.5px;background:#D9921C;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E") center/contain no-repeat}
.woocommerce-notices-wrapper .woocommerce-error::before,.woocommerce-NoticeGroup .woocommerce-error::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E")}
.woocommerce-notices-wrapper .woocommerce-error,.woocommerce-NoticeGroup .woocommerce-error{border-color:rgba(138,90,16,0.45)}
.woocommerce-notices-wrapper .woocommerce-error li,.woocommerce-NoticeGroup .woocommerce-error li{margin:0;padding:0}
.woocommerce-notices-wrapper .woocommerce-error li a,.woocommerce-NoticeGroup .woocommerce-error li a{margin-left:0}
.woocommerce-notices-wrapper .woocommerce-message a,.woocommerce-notices-wrapper .woocommerce-info a,.woocommerce-notices-wrapper .woocommerce-error a,.woocommerce-NoticeGroup .woocommerce-message a,.woocommerce-NoticeGroup .woocommerce-info a,.woocommerce-NoticeGroup .woocommerce-error a{margin-left:4px;padding:0;border:0;background:none;color:#15130F;font-weight:700;text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;box-shadow:none}
.woocommerce-notices-wrapper .woocommerce-message a:hover,.woocommerce-notices-wrapper .woocommerce-info a:hover,.woocommerce-notices-wrapper .woocommerce-error a:hover,.woocommerce-NoticeGroup .woocommerce-message a:hover,.woocommerce-NoticeGroup .woocommerce-info a:hover,.woocommerce-NoticeGroup .woocommerce-error a:hover{color:#8A5A10;background:none}
.ge-cart .woocommerce-mini-cart__empty-message{display:none}
.ge-mc-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:0 32px;text-align:center}
.ge-mc-empty-ico{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:9999px;background:#F8ECD2}
.ge-mc-empty-ico svg{width:24px;height:24px;fill:#D9921C}
.ge-mc-empty-t{margin:20px 0 0;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:20px;font-weight:700;line-height:1.4;color:#15130F}
.ge-mc-empty-p{margin:8px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;line-height:1.5;color:#5E574D}
.ge-mc-empty a{margin-top:24px;display:inline-flex;align-items:center;border-radius:9999px;background:#15130F;color:#F6F1E8;padding:14px 24px;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.5;text-decoration:none;transition:all .3s}
.ge-mc-empty a:hover{background:#000000;transform:translateY(-2px)}
.ge-cart .elementor-menu-cart__products{flex:1;min-height:0;overflow-y:auto;margin:0!important;padding:0 24px!important}
.ge-cart .elementor-menu-cart__product{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto;column-gap:16px;padding:16px 0!important;border-bottom:1px solid rgba(216,207,191,0.7)!important;position:relative}
.ge-cart .elementor-menu-cart__product:last-child{border-bottom:0!important}
.ge-cart .elementor-menu-cart__product-image{grid-row:1/4;width:72px!important;height:72px;overflow:hidden;border:1px solid rgba(216,207,191,0.7);border-radius:16px;background:#FFFFFF}
.ge-cart .elementor-menu-cart__product-image img{width:100%!important;height:100%!important;object-fit:contain;padding:4px}
.ge-cart .elementor-menu-cart__product-name{grid-column:2;margin:0!important;padding:0!important;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:15.5px;font-weight:700;line-height:1.375}
.ge-cart .elementor-menu-cart__product-name a{color:#15130F;text-decoration:none;transition:color .2s}
.ge-cart .elementor-menu-cart__product-name a:hover{color:#8A5A10}
.ge-cart .elementor-menu-cart__product-name dl.variation{display:block;margin:4px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;font-weight:400;line-height:1.5;color:#5E574D}
.ge-cart .elementor-menu-cart__product-name dl.variation dt,.ge-cart .elementor-menu-cart__product-name dl.variation dd,.ge-cart .elementor-menu-cart__product-name dl.variation p{display:inline;margin:0;padding:0}
.ge-cart .elementor-menu-cart__product-price{grid-column:2;margin:8px 0 0!important;padding:0!important;font-family:"Public Sans",system-ui,sans-serif;font-size:14px;line-height:1.5;color:#5E574D}
.ge-cart .elementor-menu-cart__product-remove{position:static!important;grid-column:3;grid-row:1;width:auto!important;height:auto!important;border:0!important;margin:0!important}
.ge-cart .elementor-menu-cart__product-remove a{position:static!important;height:auto!important;display:inline-flex;font-family:"Public Sans",system-ui,sans-serif;font-size:13px;font-weight:600;color:#5E574D;text-decoration:underline;text-underline-offset:3px;opacity:1!important}
.ge-cart .elementor-menu-cart__product-remove a:hover{color:#15130F}
.ge-cart .elementor-menu-cart__product-remove::before,.ge-cart .elementor-menu-cart__product-remove::after{display:none!important}
.ge-cart .elementor-menu-cart__subtotal{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0!important;padding:20px 24px 0!important;border-top:1px solid rgba(216,207,191,0.7)!important;border-bottom:0!important;font-family:"Public Sans",system-ui,sans-serif;font-size:16px;font-weight:700;line-height:1.5;color:#15130F;text-align:left!important}
.ge-cart .elementor-menu-cart__subtotal strong{font-weight:700}
.ge-mc-note{order:5;margin:4px 24px 0;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;line-height:1.5;color:#5E574D}
.ge-cart .elementor-menu-cart__footer-buttons{--checkout-button-display:flex;--view-cart-button-display:flex;order:6;display:grid!important;grid-template-columns:1fr!important;gap:12px;margin:0!important;padding:20px 24px!important}
.ge-cart .elementor-menu-cart__subtotal{order:4}
.ge-cart .elementor-menu-cart__footer-buttons .elementor-button{margin:0!important;width:100%}
.ge-cart .elementor-button--checkout{order:-1;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:9999px;background:#F6BD55;color:#15130F;padding:14px 24px;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.5;box-shadow:0 10px 30px -12px rgba(217,146,28,.7);transition:all .3s;cursor:pointer}
.ge-cart .elementor-button--checkout:hover{background:#F9C96B;transform:translateY(-2px)}
.ge-cart .elementor-button--checkout::before{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:var(--ge-lock) center/contain no-repeat;mask:var(--ge-lock) center/contain no-repeat;--ge-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z'/%3E%3C/svg%3E")}
.ge-cart .elementor-button--view-cart{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:2px solid rgba(21,19,15,0.8);border-radius:9999px;background:transparent;color:#15130F;padding:12px 24px;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.5;transition:all .3s}
.ge-cart .elementor-button--view-cart:hover{background:#15130F;color:#F6F1E8}
.ge-cart .ge-line-meta{margin:4px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;font-weight:400;line-height:1.5;color:#5E574D}
.ge-cart .elementor-menu-cart__product-name{grid-row:1}
.ge-cart .elementor-menu-cart__product-price{grid-column:3!important;grid-row:1;align-self:start!important;margin:0!important;font-size:15px;font-weight:600;color:#15130F}
.ge-cart .elementor-menu-cart__product-price .quantity{color:#15130F}
.ge-cart .elementor-menu-cart__product-remove{grid-column:2/4!important;grid-row:2!important;justify-self:end;align-self:end;padding-top:12px!important}
.ge-cart .elementor-menu-cart__product-remove a.elementor_remove_from_cart_button,.ge-cart .elementor-menu-cart__product-remove a.remove_from_cart_button{font-size:13.5px;text-decoration-color:#D8CFBF;text-decoration-thickness:2px;text-underline-offset:4px}
.ge-cart .elementor-menu-cart__product-remove a.elementor_remove_from_cart_button:hover,.ge-cart .elementor-menu-cart__product-remove a.remove_from_cart_button:hover{text-decoration-color:#D9921C}
.ge-cart .elementor-menu-cart__product-image{grid-row:1/3}
/* Mini cart lines as the mockup's cart script draws them: the photo; the name and price on one row; the color, size and
   price each under both; then the quantity stepper and Remove at the foot. The name cell takes no box of its own
   (display:contents) so its name, details line and stepper sit in the line's grid. */
.ge-cart .elementor-menu-cart__product{grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-rows:auto auto 1fr!important;column-gap:0!important}
.ge-cart .elementor-menu-cart__product-image{grid-column:1!important;grid-row:1/4!important;margin-right:16px!important}
.ge-cart .elementor-menu-cart__product-name{display:contents!important}
.ge-cart .elementor-menu-cart__product-name>a{grid-column:2;grid-row:1;min-width:0;align-self:start}
.ge-cart .elementor-menu-cart__product-name>.ge-line-meta{grid-column:2/4;grid-row:2;font-family:"Public Sans",system-ui,sans-serif;font-variation-settings:normal;font-size:13.5px;font-weight:400;line-height:1.5}
.ge-cart .elementor-menu-cart__product-name>dl.variation{display:none!important}
.ge-cart .elementor-menu-cart__product-price{grid-column:3!important;grid-row:1!important;padding-left:16px!important}
.ge-cart .elementor-menu-cart__product-remove{grid-column:3!important;grid-row:3!important;justify-self:end;align-self:end;display:flex!important;align-items:center;box-sizing:border-box;height:54px!important;padding-top:12px!important}
.ge-cart .ge-mc-step{grid-column:2;grid-row:3;align-self:end;justify-self:start;display:inline-flex;align-items:center;margin-top:12px;border:1px solid rgba(21,19,15,0.15);border-radius:9999px;background:#FFFFFF;transition:opacity .2s}
.ge-cart .ge-mc-step.is-busy{opacity:.6;pointer-events:none}
.ge-cart .ge-mc-step .ge-qty-btn,.ge-cart .ge-mc-step .ge-qty-btn:focus{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0!important;border:0!important;border-radius:9999px;background:transparent;color:#15130F;cursor:pointer;transition:background .2s}
.ge-cart .ge-mc-step .ge-qty-btn:hover{background:#ECE4D6;color:#15130F}
.ge-cart .ge-mc-step .ge-qty-btn:disabled{cursor:not-allowed;opacity:.4;background:transparent}
.ge-cart .ge-mc-step .ge-qty-btn svg{width:11px;height:11px;fill:currentColor}
.ge-cart .ge-mc-step .ge-qty-btn:focus-visible{outline:2px solid #D9921C;outline-offset:2px}
.ge-cart .ge-mc-step input.ge-mc-qty{width:40px!important;height:40px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:6px!important;background:transparent!important;box-shadow:none!important;text-align:center;font-family:"Public Sans",system-ui,sans-serif;font-size:15px!important;font-weight:600;line-height:40px;color:#15130F;-moz-appearance:textfield;appearance:textfield}
.ge-cart .ge-mc-step input.ge-mc-qty::-webkit-inner-spin-button,.ge-cart .ge-mc-step input.ge-mc-qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ge-cart .ge-mc-step input.ge-mc-qty:focus{outline:none}
.ge-cart .ge-mc-step input.ge-mc-qty:focus-visible{box-shadow:0 0 0 2px #D9921C!important}
/* /cart (cart/index.php): the items card and the order summary, on Elementor Pro's Cart widget */
.ge-cart-w.elementor-widget .woocommerce .e-cart__container{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:32px!important;align-items:start}
.ge-cart-w.elementor-widget .woocommerce .e-cart__column{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
.ge-cart-w.elementor-widget .woocommerce .e-shop-table{box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28)}
.ge-cart-w.elementor-widget .woocommerce .e-cart-totals{box-shadow:none}
.ge-cart-w.elementor-widget .woocommerce table.shop_table{display:block;width:100%;margin:0!important;border:0!important;border-radius:0!important;border-collapse:collapse}
.ge-cart-w.elementor-widget .woocommerce table.shop_table tbody,.ge-cart-w.elementor-widget .woocommerce table.shop_table tr{display:block}
.ge-cart-w.elementor-widget .woocommerce table.cart thead,.ge-cart-w.elementor-widget .woocommerce table.cart tr:has(td.actions){display:none!important}
/* Each /cart line: the photo; the name and price on one row; the details line under both; the stepper and Remove at
   the foot. The name cell takes no box of its own so its name and details line sit in this grid. */
.ge-cart-w.elementor-widget .woocommerce tr.cart_item{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;column-gap:0;padding:24px 0!important;border-top:1px solid rgba(216,207,191,0.7)}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item:first-child{padding-top:0!important;border-top:0}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item:not(:has(~ tr.cart_item)){padding-bottom:0!important}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item td{display:block!important;margin:0;padding:0!important;border:0!important;background:none!important;text-align:left!important;font-family:"Public Sans",system-ui,sans-serif;color:#15130F}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item td::before{display:none!important}
.ge-cart-w.elementor-widget .woocommerce td.product-thumbnail{grid-column:1;grid-row:1/4}
.ge-cart-w.elementor-widget .woocommerce td.product-thumbnail a{display:block;width:96px;height:96px;margin-right:16px;overflow:hidden;border:1px solid rgba(216,207,191,0.7);border-radius:16px;background:#FFFFFF}
.ge-cart-w.elementor-widget .woocommerce td.product-thumbnail img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;padding:4px}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item td.product-name{display:contents!important}
.ge-cart-w.elementor-widget .woocommerce td.product-name>a{grid-column:2;grid-row:1;min-width:0;align-self:start}
.ge-cart-w.elementor-widget .woocommerce td.product-name>a{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:18px;font-weight:700;line-height:1.375;color:#15130F;text-decoration:none;transition:color .2s}
.ge-cart-w.elementor-widget .woocommerce td.product-name>a:hover{color:#8A5A10}
.ge-cart-w.elementor-widget .woocommerce .ge-line-meta{grid-column:2/4;grid-row:2;margin:4px 0 0;font-size:13.5px;line-height:1.5;color:#5E574D}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item td.product-price{display:none!important}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item td.product-subtotal{grid-column:3;grid-row:1;padding-left:16px!important;font-size:16.5px;font-weight:600;line-height:1.5;text-align:right!important;white-space:nowrap}
/* Prices take their cell's type (Elementor Pro sets every span in the cart table to 14px/400). */
.ge-cart-w.elementor-widget .woocommerce td .woocommerce-Price-amount,.ge-cart-w.elementor-widget .woocommerce td .woocommerce-Price-amount *,.ge-checkout-w.elementor-widget .woocommerce td .woocommerce-Price-amount,.ge-checkout-w.elementor-widget .woocommerce td .woocommerce-Price-amount *{font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;color:inherit!important}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item td.product-quantity{grid-column:2;grid-row:3;align-self:end;padding-top:12px!important}
.ge-cart-w.elementor-widget .woocommerce tr.cart_item td.product-remove{grid-column:3;grid-row:3;align-self:end;justify-self:end;display:flex!important;align-items:center;box-sizing:border-box;height:54px;padding-top:12px!important}
.ge-cart-w.elementor-widget .woocommerce td.product-remove a.remove{display:inline!important;width:auto!important;height:auto!important;margin:0;border:0!important;border-radius:0!important;background:none!important;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px!important;font-weight:600;line-height:1.5!important;color:#5E574D!important;text-decoration:underline;text-decoration-color:#D8CFBF;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.ge-cart-w.elementor-widget .woocommerce td.product-remove a.remove:hover{color:#15130F!important;text-decoration-color:#D9921C}
.ge-cart-w.elementor-widget .woocommerce td.product-remove a.remove::before,.ge-cart-w.elementor-widget .woocommerce td.product-remove a.remove::after{display:none!important}
.ge-cart-w.elementor-widget .woocommerce .quantity{display:inline-flex!important;align-items:center;margin:0!important;border:1px solid rgba(21,19,15,0.15);border-radius:9999px;background:#FFFFFF;float:none!important}
.ge-cart-w.elementor-widget .woocommerce .quantity input.qty{width:40px!important;height:40px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:6px!important;background:transparent!important;box-shadow:none!important;text-align:center;font-family:"Public Sans",system-ui,sans-serif;font-size:15px!important;font-weight:600;color:#15130F;-moz-appearance:textfield;appearance:textfield}
.ge-cart-w.elementor-widget .woocommerce .quantity input.qty::-webkit-inner-spin-button,.ge-cart-w.elementor-widget .woocommerce .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ge-cart-w.elementor-widget .woocommerce .quantity input.qty:focus{outline:none}
.ge-cart-w.elementor-widget .woocommerce .quantity input.qty:focus-visible{box-shadow:0 0 0 2px #D9921C!important}
.ge-cart-w.elementor-widget .woocommerce .ge-qty-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:9999px;background:transparent;color:#15130F;cursor:pointer;transition:background .2s}
.ge-cart-w.elementor-widget .woocommerce .ge-qty-btn:hover{background:#ECE4D6}
.ge-cart-w.elementor-widget .woocommerce .ge-qty-btn:disabled{cursor:not-allowed;opacity:.4;background:transparent}
.ge-cart-w.elementor-widget .woocommerce .ge-qty-btn svg{width:11px;height:11px;fill:currentColor}
.ge-cart-w.elementor-widget .woocommerce .ge-qty-btn:focus-visible{outline:2px solid #D9921C;outline-offset:2px}
.ge-cart-w.elementor-widget .woocommerce .cart_totals h2{margin-top:0!important;padding:0!important}
.ge-cart-w.elementor-widget .woocommerce .cart_totals table{display:block;width:100%;margin:0!important;border:0!important}
.ge-cart-w.elementor-widget .woocommerce .cart_totals tr.shipping,.ge-cart-w.elementor-widget .woocommerce .cart_totals tr.woocommerce-shipping-totals,.ge-cart-w.elementor-widget .woocommerce .cart_totals tr.tax-rate,.ge-cart-w.elementor-widget .woocommerce .cart_totals tr.tax-total,.ge-cart-w.elementor-widget .woocommerce .cart_totals tr.order-total{display:none!important}
.ge-cart-w.elementor-widget .woocommerce .cart_totals tr{display:flex!important;align-items:baseline;justify-content:space-between;gap:24px;padding:12px 0;border-top:1px solid rgba(216,207,191,0.7)}
.ge-cart-w.elementor-widget .woocommerce .cart_totals tr:first-child{padding-top:0;border-top:0}
.ge-cart-w.elementor-widget .woocommerce .cart_totals tr.ge-later+tr.ge-later{padding-bottom:0}
.ge-cart-w.elementor-widget .woocommerce .cart_totals th,.ge-cart-w.elementor-widget .woocommerce .cart_totals td{display:block!important;padding:0!important;border:0!important;background:none!important;font-family:"Public Sans",system-ui,sans-serif;font-size:15.5px!important;font-weight:400!important;line-height:1.5;color:#15130F;text-align:left!important}
.ge-cart-w.elementor-widget .woocommerce .cart_totals td{text-align:right!important}
.ge-cart-w.elementor-widget .woocommerce .cart_totals td::before{display:none!important}
.ge-cart-w.elementor-widget .woocommerce .cart_totals tr.cart-subtotal td{font-weight:600!important}
.ge-cart-w.elementor-widget .woocommerce .cart_totals tr.ge-later td{color:#5E574D}
.ge-cart-w.elementor-widget .woocommerce .wc-proceed-to-checkout{margin:28px 0 0!important;padding:0!important}
.ge-cart-w.elementor-widget .woocommerce a.checkout-button{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;margin:0!important;box-shadow:0 10px 30px -12px rgba(217,146,28,.7);transition:all .3s}
.ge-cart-w.elementor-widget .woocommerce a.checkout-button:hover{transform:translateY(-2px)}
.ge-cart-w.elementor-widget .woocommerce a.checkout-button::before{content:"";flex-shrink:0;width:15px;height:15px;background:currentColor;-webkit-mask:var(--ge-lock) center/contain no-repeat;mask:var(--ge-lock) center/contain no-repeat;--ge-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z'/%3E%3C/svg%3E")}
.ge-cart-w.elementor-widget .woocommerce .ge-keep{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;margin-top:16px;font-family:"Public Sans",system-ui,sans-serif;font-size:14.5px;font-weight:600;line-height:1.5;color:#15130F;text-decoration:none}
.ge-cart-w.elementor-widget .woocommerce .ge-keep svg{width:11px;height:11px;fill:currentColor}
.ge-cart-w.elementor-widget .woocommerce .ge-keep span{text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.ge-cart-w.elementor-widget .woocommerce .ge-keep:hover{color:#8A5A10}
.ge-cart-w.elementor-widget .woocommerce .ge-sum-note{display:flex;gap:12px;margin:28px 0 0;padding-top:20px;border-top:1px solid rgba(216,207,191,0.7);font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;line-height:1.625;color:#5E574D}
.ge-cart-w.elementor-widget .woocommerce .ge-sum-note svg{flex-shrink:0;width:13.5px;height:13.5px;margin-top:3px;fill:#D9921C}
/* /checkout (checkout/index.php): numbered cards on the left (site.js groups WooCommerce's fields into them), the order
   summary on the right */
.ge-checkout-w.elementor-widget .woocommerce .e-checkout__container{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:32px!important;align-items:start}
.ge-checkout-w.elementor-widget .woocommerce .e-checkout__column{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
.ge-checkout-w.elementor-widget .woocommerce .e-checkout__column-start{display:flex;flex-direction:column;gap:24px}
/* Stripe's Apple Pay / Google Pay buttons at the top of the form column (gloudeman-site-rules.php). Stripe's script shows
   or hides the buttons and the "or" line; the wrapper's -24px cancels the column gap so nothing is left behind when the
   device has no wallet. */
.ge-checkout-w.elementor-widget .woocommerce .ge-express{margin-bottom:-24px}
.ge-checkout-w.elementor-widget .woocommerce #wc-stripe-express-checkout-element{margin:0!important}
.ge-checkout-w.elementor-widget .woocommerce #wc-stripe-express-checkout-button-separator{margin:20px 0 24px!important;font-family:"Public Sans",system-ui,sans-serif;font-size:13px;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce #wc-stripe-express-checkout-button-separator span{display:flex;align-items:center;gap:16px}
.ge-checkout-w.elementor-widget .woocommerce #wc-stripe-express-checkout-button-separator span::before,.ge-checkout-w.elementor-widget .woocommerce #wc-stripe-express-checkout-button-separator span::after{content:"";flex:1;height:1px;background:rgba(216,207,191,0.7)}
.ge-checkout-w.elementor-widget .woocommerce #customer_details{display:flex;flex-direction:column;gap:24px;width:auto;margin:0!important}
.ge-checkout-w.elementor-widget .woocommerce #customer_details::before,.ge-checkout-w.elementor-widget .woocommerce #customer_details::after{display:none!important}
.ge-checkout-w.elementor-widget .woocommerce #customer_details .col-1{float:none!important;width:auto!important;max-width:none!important;margin:0!important;box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28)}
.ge-checkout-w.elementor-widget .woocommerce #customer_details .col-2{display:none!important}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-card{margin:0;border:1px solid rgba(216,207,191,0.7);border-radius:32px;background:#FFFFFF;padding:24px;box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28)}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-h{display:flex;align-items:center;gap:12px;margin:0!important;padding:0;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:20px;font-weight:700;line-height:1.4;letter-spacing:0;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-num{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:9999px;background:#15130F;font-family:"Public Sans",system-ui,sans-serif;font-size:13px;font-weight:700;line-height:1;color:#F6F1E8}
.ge-checkout-w.elementor-widget .woocommerce .form-row{float:none!important;width:auto!important;margin:0!important;padding:0!important}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-contact .form-row{margin-top:24px!important}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:24px}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-hide{display:none!important}
.ge-checkout-w.elementor-widget .woocommerce .form-row label{display:block;margin:0 0 8px!important;padding:0;font-family:"Public Sans",system-ui,sans-serif;font-size:14.5px;font-weight:600;line-height:1.5;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .form-row label .required{display:none}
.ge-checkout-w.elementor-widget .woocommerce .form-row label .optional{font-weight:400;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .form-row .input-text,.ge-checkout-w.elementor-widget .woocommerce .form-row select{width:100%!important;min-height:0;line-height:1.5!important}
.ge-checkout-w.elementor-widget .woocommerce .form-row .input-text:focus{outline:none;box-shadow:0 0 0 2px rgba(246,189,85,.4)!important}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-input-wrapper{display:block;margin:0!important}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-input-wrapper>.input-text,.ge-checkout-w.elementor-widget .woocommerce .woocommerce-input-wrapper>select{display:block}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-input-wrapper .description{display:block!important;position:static;margin:8px 0 0;padding:0;border:0;background:none;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;line-height:1.5;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-input-wrapper .description::before{display:none}
.ge-checkout-w.elementor-widget .woocommerce .select2-container{width:100%!important}
.ge-checkout-w.elementor-widget .woocommerce .select2-container .select2-selection--single{height:auto!important;padding:12px 40px 12px 16px;border:1px solid #D8CFBF!important;border-radius:16px!important;background:rgba(246,241,232,0.4)!important}
.ge-checkout-w.elementor-widget .woocommerce .select2-container .select2-selection__rendered{padding:0!important;font-family:"Public Sans",system-ui,sans-serif;font-size:16px;line-height:1.5!important;color:#15130F!important}
.ge-checkout-w.elementor-widget .woocommerce .select2-container .select2-selection__arrow{top:50%!important;right:16px!important;width:12px!important;height:8px!important;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2315130F' stroke-width='1.6'/%3E%3C/svg%3E") center/12px no-repeat}
.ge-checkout-w.elementor-widget .woocommerce .select2-container .select2-selection__arrow b{display:none}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-info{display:flex;gap:16px;margin-top:24px;padding:20px;border:1px solid rgba(216,207,191,0.7);border-radius:16px;background:rgba(246,241,232,0.5);font-family:"Public Sans",system-ui,sans-serif;font-size:15px;line-height:1.625;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-info svg{flex-shrink:0;width:18.75px;height:15px;margin-top:5px;fill:#D9921C}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-info p{margin:0}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-info p+p{margin-top:4px;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-info .ge-co-info-t{font-weight:600}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-sub{display:flex;align-items:center;gap:10px;margin:8px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;line-height:1.5;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-sub svg{width:13px;height:15px;fill:#D9921C}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-pay #payment{margin:24px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-pay #payment ul.payment_methods{margin:0!important;padding:0!important;border:0!important;list-style:none}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-pay #payment ul.payment_methods li{margin:0;padding:0;list-style:none}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-pay #payment .woocommerce-info{margin:0;padding:16px 20px;border:1px solid rgba(216,207,191,0.7);border-radius:16px;background:rgba(246,241,232,0.5);font-family:"Public Sans",system-ui,sans-serif;font-size:15px;line-height:1.625;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-ready .e-checkout__order_review-2{display:none!important}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-place .place-order{display:flex;flex-direction:column;margin:0!important;padding:0!important}
.ge-checkout-w.elementor-widget .woocommerce #place_order{order:-1;display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%!important;margin:0!important;float:none!important;box-shadow:0 10px 30px -12px rgba(217,146,28,.7);transition:all .3s}
.ge-checkout-w.elementor-widget .woocommerce #place_order:hover{transform:translateY(-2px)}
/* site.js moves Place order out of #payment (the card fields stay where Stripe mounts them), so Elementor's own
   "#payment #place_order" button controls stop matching it there; this gives the moved button the same look. */
/* A missing or wrong field: its box takes a brass edge and its message (WooCommerce prints it under the field) reads
   in brass semibold, the site's emphasis color, where WooCommerce and Elementor leave grey system text. */
.ge-checkout-w.elementor-widget .woocommerce #customer_details .woocommerce-invalid .input-text,.ge-checkout-w.elementor-widget .woocommerce #customer_details .woocommerce-invalid select{border-color:#8A5A10!important}
.ge-checkout-w.elementor-widget .woocommerce .form-row .checkout-inline-error-message{margin:6px 0 0!important;font-family:"Public Sans",system-ui,sans-serif!important;font-size:13.5px!important;font-weight:600!important;line-height:1.5!important;color:#8A5A10!important}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-place #place_order{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:9999px;background:#F6BD55;color:#15130F;padding:14px 24px;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.5;box-shadow:0 10px 30px -12px rgba(217,146,28,.7);transition:all .3s;cursor:pointer;width:100%;padding:16px 24px;border:0!important}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-place #place_order:hover{background:#F9C96B;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce #place_order svg{display:block;flex-shrink:0;width:15px;height:15px;fill:currentColor}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-terms-and-conditions-wrapper{margin:16px 0 0}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-privacy-policy-text p{margin:0;text-align:center;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;line-height:1.625;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-privacy-policy-text a{color:#15130F;font-weight:600;text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-privacy-policy-text a:hover{color:#8A5A10}
.ge-checkout-w.elementor-widget .woocommerce .e-checkout__order_review{position:relative;box-shadow:none}
.ge-checkout-w.elementor-widget .woocommerce .ge-sum-h{margin:0!important;padding-right:96px;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:24px;font-weight:700;line-height:1.3333;letter-spacing:0;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-edit-cart{position:absolute;top:var(--ge-sum-pad,28px);right:var(--ge-sum-pad,28px);margin-top:9px;font-family:"Public Sans",system-ui,sans-serif;font-size:14px;line-height:1.5;color:#15130F;font-weight:600;text-decoration:underline;text-decoration-color:#D9921C;text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.ge-checkout-w.elementor-widget .woocommerce .ge-edit-cart:hover{color:#8A5A10}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table{display:block;width:100%;margin:12px 0 0!important;border:0!important;border-radius:0!important;border-collapse:collapse}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table thead{display:none!important}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tbody,.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tfoot{display:block}
/* Each summary line is a grid like the mockup's: photo, then name and price on one row, the details under both.
   The name cell and its body take no box of their own (display:contents) so their parts sit in this grid; the cell's
   trailing &nbsp; from WooCommerce's template lands in an empty last row with no height. */
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.cart_item{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:16px;row-gap:0;font-size:0;line-height:0;align-items:start;padding:16px 0;border-top:1px solid rgba(216,207,191,0.7)}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.cart_item:first-child{border-top:0}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table td{display:block;padding:0!important;border:0!important;background:none!important}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table td.product-name{display:contents!important;font-size:0!important;line-height:0!important}
.ge-checkout-w.elementor-widget .woocommerce .ge-sum-pic{position:relative;grid-area:1/1/3/2;width:72px;height:72px;line-height:1}
.ge-checkout-w.elementor-widget .woocommerce .ge-sum-pic img{display:block;width:72px!important;height:72px!important;max-width:none!important;padding:4px;border:1px solid rgba(216,207,191,0.7);border-radius:16px;background:#FFFFFF;object-fit:contain}
.ge-checkout-w.elementor-widget .woocommerce .ge-sum-qty{position:absolute;top:-8px;right:-8px;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:9999px;background:#15130F;font-family:"Public Sans",system-ui,sans-serif;font-size:12px;font-weight:700;line-height:1;color:#F6F1E8}
.ge-checkout-w.elementor-widget .woocommerce .ge-sum-body{display:contents}
.ge-checkout-w.elementor-widget .woocommerce .ge-sum-name{grid-area:1/2/2/3;min-width:0;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:15.5px;font-weight:700;line-height:1.375;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-sum-body .ge-line-meta{grid-area:2/2/3/4;margin:4px 0 0;font-weight:400;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;line-height:1.5;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table td.product-total{grid-area:1/3/2/4;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:600;line-height:1.5;color:#15130F;text-align:right}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tfoot{margin-top:8px;border-top:1px solid rgba(216,207,191,0.7)}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tfoot tr{display:flex!important;align-items:baseline;justify-content:space-between;gap:24px;padding:12px 0;border-top:1px solid rgba(216,207,191,0.7)}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tfoot tr:first-child{border-top:0}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tfoot th,.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tfoot td{display:block;padding:0!important;border:0!important;background:none!important;font-family:"Public Sans",system-ui,sans-serif;font-size:15.5px!important;font-weight:400!important;line-height:1.5;color:#15130F;text-align:left}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tfoot td{text-align:right}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.cart-subtotal td{font-weight:600!important}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.ge-later td{color:#5E574D}
/* Printful's rate: price over the delivery window (gloudeman-site-rules), no list bullet, and none of Elementor's 70px cap on the cell. */
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{max-width:none;min-width:0}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table #shipping_method{margin:0;padding:0;list-style:none}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table #shipping_method li{margin:0;padding:0}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table #shipping_method label{display:block;margin:0;padding:0;font:inherit;line-height:inherit;color:inherit}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table .ge-ship-eta{display:block;font-size:13px;line-height:1.5;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.order-total{padding:16px 0 0}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.order-total th,.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.order-total td,.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.order-total strong{font-family:"Bricolage Grotesque",system-ui,sans-serif!important;font-variation-settings:"opsz" 72;font-size:18px!important;font-weight:700!important;line-height:28px!important}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.ge-total-note{justify-content:flex-end;padding:0;border:0}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-checkout-review-order-table tr.ge-total-note td{font-size:13px!important;line-height:1.5!important;color:#5E574D}
/* The order confirmation (gloudeman-site-rules templates/thankyou.php; checkout/index.php's #order-received): the
   "Thank you" card beside "Order details", whose lines and totals take the checkout summary's look. */
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-order{margin:0}
.ge-checkout-w.elementor-widget .woocommerce .ge-or{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start;font-family:"Public Sans",system-ui,sans-serif;font-size:16px;line-height:1.5;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-card{margin:0;border:1px solid rgba(216,207,191,0.7);border-radius:32px;background:#FFFFFF;padding:24px;box-shadow:0 1px 2px rgba(21,19,15,.06),0 12px 32px -18px rgba(21,19,15,.28)}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-ico{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:9999px;background:#F8ECD2}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-ico svg{display:block;width:24px;height:24px;fill:#D9921C}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-h{margin:20px 0 0!important;padding:0;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:24px;font-weight:700;line-height:32px;letter-spacing:0;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-p{max-width:576px;margin:12px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:16px;line-height:1.625;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:28px 0 0;padding:24px 0 0;border-top:1px solid rgba(216,207,191,0.7);font-family:"Public Sans",system-ui,sans-serif;font-size:15.5px;line-height:1.5;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-facts dt{margin:0;font-size:13.5px;font-weight:400;line-height:1.5;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-facts dd{margin:4px 0 0;font-weight:600}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-email{word-break:break-all}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-addr{line-height:1.625}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:32px;border-radius:9999px;background:#15130F;padding:14px 24px;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.5;color:#F6F1E8;text-decoration:none;transition:all .3s}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-btn:hover{transform:translateY(-2px);background:#000000;color:#F6F1E8}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-btn:focus-visible{outline:2px solid #15130F;outline-offset:2px}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-sum{margin:0;border:1px solid rgba(216,207,191,0.7);border-radius:32px;background:rgba(236,228,214,0.6);padding:28px}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-sum-h{margin:0!important;padding:0;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:24px;font-weight:700;line-height:1.3333;letter-spacing:0;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-lines{margin-top:12px}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:16px;align-items:start;padding:16px 0;border-top:1px solid rgba(216,207,191,0.7)}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-line:first-child{border-top:0}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-price{grid-area:1/3/2/4;font-family:"Public Sans",system-ui,sans-serif;font-size:15px;font-weight:600;line-height:1.5;color:#15130F;text-align:right}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-line .ge-line-meta{grid-area:2/2/3/4;margin:4px 0 0;font-family:"Public Sans",system-ui,sans-serif;font-size:13.5px;font-weight:400;line-height:1.5;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .ge-or .woocommerce-Price-amount,.ge-checkout-w.elementor-widget .woocommerce .ge-or .woocommerce-Price-amount *{font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;color:inherit!important}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-totals{margin:0;padding:0;border-top:1px solid rgba(216,207,191,0.7);font-family:"Public Sans",system-ui,sans-serif;font-size:15.5px;line-height:1.5;color:#15130F}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:12px 0;border-top:1px solid rgba(216,207,191,0.7)}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-row:first-child{padding-top:16px;border-top:0}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-row dt{margin:0;font-weight:400}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-row dd{margin:0;text-align:right}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-cart_subtotal dd{font-weight:600}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-row .ge-ship-eta{display:block;font-size:13px;line-height:1.5;color:#5E574D}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-order_total{padding:16px 0 0}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-order_total ins{text-decoration:none}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-order_total dt,.ge-checkout-w.elementor-widget .woocommerce .ge-or-order_total dd{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 72;font-size:18px;font-weight:700;line-height:28px}
@media (min-width:640px){
.ge-checkout-w.elementor-widget .woocommerce .ge-or-card,.ge-checkout-w.elementor-widget .woocommerce .ge-or-sum{padding:32px}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-h{font-size:28px}
.ge-checkout-w.elementor-widget .woocommerce .ge-or-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
.ge-checkout-w.elementor-widget .woocommerce .ge-or{grid-template-columns:minmax(0,1fr) 26rem;gap:40px}
}
@media (min-width:640px){
.ge-cart-w.elementor-widget .woocommerce td.product-thumbnail a{width:112px;height:112px;margin-right:24px}
.ge-cart-w.elementor-widget .woocommerce td.product-name>a{font-size:20px}
.ge-checkout-w.elementor-widget .woocommerce .ge-co-card{padding:32px}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-billing-fields__field-wrapper{grid-template-columns:repeat(2,minmax(0,1fr))}
.ge-checkout-w.elementor-widget .woocommerce .woocommerce-billing-fields__field-wrapper>.form-row{grid-column:1/-1}
.ge-checkout-w.elementor-widget .woocommerce #billing_first_name_field,.ge-checkout-w.elementor-widget .woocommerce #billing_state_field{grid-column:1}
.ge-checkout-w.elementor-widget .woocommerce #billing_last_name_field,.ge-checkout-w.elementor-widget .woocommerce #billing_postcode_field{grid-column:2}
.ge-checkout-w.elementor-widget .woocommerce .e-checkout__order_review{--ge-sum-pad:32px}
}
@media (min-width:1024px){
.ge-cart-w.elementor-widget .woocommerce .e-cart__container{grid-template-columns:minmax(0,1fr) 24rem!important;gap:40px!important}
.ge-checkout-w.elementor-widget .woocommerce .e-checkout__container{grid-template-columns:minmax(0,1fr) 26rem!important;gap:40px!important}
}
@media (max-width:639px){
.ge-cart-w.elementor-widget .woocommerce .e-cart-totals,.ge-checkout-w.elementor-widget .woocommerce .e-checkout__order_review{--sections-padding:28px}
}
@media (min-width:640px){
.ge-pimg .elementor-widget-image img{padding:16px}
.ge-pcard-c .ge-pimg .elementor-widget-image img{padding:8px}
.elementor-widget.ge-pbadge{left:16px;top:16px}
.ge-pgal .flex-direction-nav .flex-prev{left:17px}
.ge-pgal .flex-direction-nav .flex-next{right:17px}
.ge-pgal .flex-control-thumbs li{width:80px!important}
.ge-pgal .flex-control-thumbs img{width:80px!important;height:80px!important}
.ge-atc .single_add_to_cart_button{width:fit-content;padding-left:40px;padding-right:40px}
}
@media (max-width:639px){
.ge-hscroll .elementor-loop-container{display:flex!important;gap:16px!important;margin-inline:-20px;padding:0 20px 12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px}
.ge-hscroll .elementor-loop-container>.e-loop-item{flex:0 0 72%;scroll-snap-align:start}
}
@media (min-width:1280px){
.e-con.ge-pgrid{column-gap:80px!important}
}
@media (prefers-reduced-motion:reduce){
.ge-atc .single_add_to_cart_button:hover,.ge-cart .elementor-button--checkout:hover,.ge-mc-empty a:hover{transform:none}
}

@media (prefers-reduced-motion:reduce){
.ge-js .reveal{opacity:1;transform:none;transition:none}
.ge-lift:hover,.ge-lift-sm:hover,.ge-btn .elementor-button:hover,.ge-news .elementor-button:hover{transform:none}
}/* End custom CSS */