/*
Theme Name: Hello Elementor Child (Artistry Boutique)
Template: hello-elementor
Description: Child theme holding Artistry Boutique site CSS. Edit via Appearance > Theme File Editor.
Version: 1.6.6b
*/

/* =====================================================================
   Artistry Boutique · site-custom.css  (v2 "Gallery Warm")
   Paste the whole file into: Elementor > Site Settings > Custom CSS (Pro).
   Every class here is set on elements by the JSON templates in this folder
   (Advanced > CSS Classes). Prefix: ab-. No addon packs, no external files.
   Breakpoints match the kit: tablet <= 900px, mobile <= 767px.
   ===================================================================== */
:root{
 --ab-ink:#17140F;--ab-ink-2:#221E18;--ab-paper:#FAF7F1;--ab-bone:#F1EBE0;--ab-linen:#E4DBCC;
 --ab-brass:#7A5C24;--ab-brass-l:#C9A86A;--ab-cedar:#9B2C1F;--ab-cedar-d:#7C2318;--ab-muted:#5B544A;
 --ab-moss:#2F5D50;--ab-on-ink:#D8D0C2;--ab-on-ink-2:#A9A091;--ab-rule-ink:#3A342B;
 --ab-display:"Cormorant Garamond","Cormorant",Georgia,serif;
 --ab-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
 --ab-sig:"Mrs Saint Delafield",cursive;
 --ab-hair:1px solid var(--ab-linen);
 --ab-hd-h:80px;                       /* main header bar height */
 --ab-shadow-art:0 1px 1px rgba(23,20,15,.10),0 6px 12px -6px rgba(23,20,15,.22),0 22px 40px -18px rgba(23,20,15,.35),0 50px 80px -40px rgba(23,20,15,.30);
}
@media (max-width:900px){:root{--ab-hd-h:64px}}

/* ---------- base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{background:var(--ab-paper);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}
/* paper grain (inline SVG noise, < 1 KB) */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.07;mix-blend-mode:multiply;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.2  0 0 0 0 0.16  0 0 0 0 0.1  0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
:focus-visible{outline:2px solid var(--ab-cedar);outline-offset:4px}
.elementor-heading-title em,h1 em,h2 em,h3 em{font-style:italic;font-weight:500;color:var(--ab-cedar)}
.ab-on-ink.elementor-element .elementor-heading-title em,.ab-ft.elementor-element .elementor-heading-title em{color:var(--ab-brass-l)}
.ab-on-ink,.ab-on-ink.elementor-element .elementor-heading-title{color:var(--ab-paper)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- type helpers ---------- */
.ab-eyebrow.elementor-element .elementor-heading-title,.ab-eyebrow.elementor-widget-text-editor{font:600 12px/1.4 var(--ab-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ab-brass);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ab-eyebrow.elementor-element .elementor-heading-title::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7;flex:none}
.ab-eyebrow--plain.elementor-element .elementor-heading-title::before{display:none}
.ab-on-ink .ab-eyebrow.elementor-element .elementor-heading-title,.ab-ft .ab-eyebrow.elementor-element .elementor-heading-title{color:var(--ab-brass-l)}
.ab-lead,.ab-lead p{font-size:20px;line-height:1.6;color:var(--ab-muted);max-width:40ch}
.ab-on-ink .ab-lead,.ab-on-ink .ab-lead p{color:var(--ab-on-ink)}
.ab-muted,.ab-muted.elementor-element .elementor-heading-title,.ab-muted p{color:var(--ab-muted)}
.ab-fine,.ab-fine p,.ab-fine.elementor-element .elementor-heading-title{font-size:13px;line-height:1.5;color:var(--ab-muted)}
.ab-small,.ab-small.elementor-element .elementor-heading-title{font-size:15px;line-height:1.5}
.ab-sig.elementor-element .elementor-heading-title{font-family:var(--ab-sig);font-weight:400;font-size:46px;line-height:1;letter-spacing:0;color:var(--ab-ink)}
.ab-link.elementor-element .elementor-heading-title a,a.ab-link,.ab-link a{font:500 16px/1.4 var(--ab-sans);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .2s,border-color .2s}
.ab-link.elementor-element .elementor-heading-title a::after,a.ab-link::after{content:" →";display:inline-block;transition:transform .25s}
.ab-link.elementor-element .elementor-heading-title a:hover,a.ab-link:hover{color:var(--ab-cedar)}
.ab-link.elementor-element .elementor-heading-title a:hover::after,a.ab-link:hover::after{transform:translateX(4px)}

/* numbered section header: "01  THE COLLECTION ........ See all →" */
.ab-secnum{border-top:1px solid var(--ab-ink)!important;padding-top:16px!important;margin-bottom:44px!important}
.ab-on-ink .ab-secnum,.ab-on-ink.ab-secnum{border-top-color:var(--ab-brass-l)!important}
.ab-secnum-n.elementor-element .elementor-heading-title{font:italic 500 22px/1 var(--ab-display);color:var(--ab-brass)}
.ab-on-ink .ab-secnum-n.elementor-element .elementor-heading-title{color:var(--ab-brass-l)}
.ab-secnum-t.elementor-element .elementor-heading-title{font:600 12px/1 var(--ab-sans);letter-spacing:.2em;text-transform:uppercase;color:inherit}
.ab-secnum-r{margin-left:auto!important}
.ab-secnum-r.elementor-element .elementor-heading-title{font-size:15px}
@media (max-width:767px){.ab-secnum{margin-bottom:28px!important}.ab-secnum-r{display:none}}

/* ---------- buttons (kit sets the ink default; these are variants) ---------- */
.elementor-button{transition:background .2s,color .2s,border-color .2s,transform .2s}
.ab-btn--line .elementor-button{background:transparent!important;color:var(--ab-ink)!important;border:1px solid var(--ab-ink)!important}
.ab-btn--line .elementor-button:hover{background:var(--ab-ink)!important;color:var(--ab-paper)!important}
.ab-btn--brass .elementor-button{background:var(--ab-brass-l)!important;border-color:var(--ab-brass-l)!important;color:var(--ab-ink)!important}
.ab-btn--brass .elementor-button:hover{background:#fff!important;border-color:#fff!important}
.ab-btn--cedar .elementor-button{background:var(--ab-cedar)!important;border-color:var(--ab-cedar)!important;color:#fff!important}
.ab-btn--cedar .elementor-button:hover{background:var(--ab-cedar-d)!important;border-color:var(--ab-cedar-d)!important}
.ab-btn--small .elementor-button{min-height:42px;padding:12px 16px;font-size:12.5px}
.ab-btn--block,.ab-btn--block .elementor-button{width:100%}

/* ---------- frames & mats (put on an Image widget) ---------- */
.ab-frame{position:relative;background:#FBF9F4;padding:9%!important;border:0 solid transparent;
 box-shadow:inset 0 0 0 1px rgba(0,0,0,.04),inset 0 2px 6px rgba(0,0,0,.08),var(--ab-shadow-art);line-height:0;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.ab-frame--thin{padding:5%!important}
.ab-frame img{display:block;width:100%;height:auto;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.18)}
.ab-frame--black{border:12px solid #1C1914}
.ab-frame--oak{border:12px solid #A88457;border-image:linear-gradient(135deg,#C29E6D,#8C6A40 50%,#B48F5F) 1}
.ab-frame--white{border:10px solid #fff}
.ab-frame--float{background:transparent;padding:0!important;box-shadow:none}
.ab-frame--float img{box-shadow:var(--ab-shadow-art)}
@media (max-width:767px){.ab-frame--black,.ab-frame--oak{border-width:8px}.ab-frame--white{border-width:7px}}

/* bone "wall" stage that a framed piece hangs on */
.ab-stage{background:var(--ab-bone);position:relative;display:flex!important;align-items:center;justify-content:center;aspect-ratio:1/1;padding:12%!important;overflow:hidden}
.ab-stage .ab-frame{width:auto!important;max-width:78%}
.ab-stage .ab-frame img{width:auto;max-width:100%;max-height:clamp(150px,20vw,300px)}
.ab-view{position:absolute!important;left:50%;bottom:16px;transform:translate(-50%,8px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;width:auto!important}
.ab-view.elementor-element .elementor-heading-title{font:600 12px/1 var(--ab-sans);letter-spacing:.18em;text-transform:uppercase;background:var(--ab-paper);padding:8px 14px;white-space:nowrap;color:var(--ab-ink)}

/* ---------- cards (loop item templates) ---------- */
.ab-card:hover .ab-frame,.ab-card:focus-within .ab-frame{transform:translateY(-4px)}
.ab-card:hover .ab-view,.ab-card:focus-within .ab-view{opacity:1;transform:translate(-50%,0)}
.ab-card-title.elementor-element .elementor-heading-title{font:600 24px/1.15 var(--ab-display);letter-spacing:-.005em}
.ab-card-title.elementor-element .elementor-heading-title a{text-decoration:none;color:inherit}
.ab-card-title.elementor-element .elementor-heading-title a::after{content:"";position:absolute;inset:0;z-index:1} /* whole card clickable */
.ab-card{position:relative}
.ab-card-by.elementor-element .elementor-heading-title,.ab-card-by{font-size:15px;line-height:1.4;color:var(--ab-muted)}
.ab-card-price.elementor-element .elementor-heading-title{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ab-card-price-sub,.ab-card-price-sub .artistry-print-summary{font-size:13px;color:var(--ab-muted);text-align:right}
@media (max-width:767px){.ab-card-title.elementor-element .elementor-heading-title{font-size:19px}.ab-card-price-sub,.ab-card-price-sub .artistry-print-summary{text-align:left}}
/* vary frames inside any Loop Grid so a wall never looks stamped out */
.elementor-loop-container>.e-loop-item:nth-child(3n+1) .ab-frame--auto{border:12px solid #1C1914}
.elementor-loop-container>.e-loop-item:nth-child(3n+2) .ab-frame--auto{border:12px solid #A88457;border-image:linear-gradient(135deg,#C29E6D,#8C6A40 50%,#B48F5F) 1}
.elementor-loop-container>.e-loop-item:nth-child(3n) .ab-frame--auto{border:10px solid #fff;padding:5%!important}
/* artist card */
.ab-arch img{aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 0 0;filter:saturate(.88);box-shadow:var(--ab-shadow-art);width:100%}
.ab-tags.elementor-element .elementor-heading-title{font:600 12px/1.5 var(--ab-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ab-ink)}
/* service card */
.ab-svc-photo .gallery-item:not(:first-child){display:none!important}
.ab-svc-photo .gallery{display:block!important;margin:0!important}
.ab-svc-photo .gallery-item{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}
.ab-svc-photo img{width:100%!important;aspect-ratio:3/2;object-fit:cover;border:0!important;filter:saturate(.9);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.ab-svc-photo{overflow:hidden}
.ab-card:hover .ab-svc-photo img{transform:scale(1.04)}
.ab-svc-type.elementor-element .elementor-heading-title{font:600 11.5px/1.3 var(--ab-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ab-brass)}
.ab-km.elementor-element .elementor-heading-title{font-variant-numeric:tabular-nums;font-size:15px}

/* Loop Grid modifiers (CSS class on the Loop Grid widget) */
/* home "Coast & quiet water": a hung wall, bottoms aligned, varied widths */
.ab-grid-wall .elementor-loop-container{display:flex!important;align-items:flex-end;justify-content:space-between;gap:36px;background:var(--ab-bone);padding:72px 56px 40px}
.ab-grid-wall .e-loop-item{flex:1 1 0}
.ab-grid-wall .e-loop-item:nth-child(2){flex-grow:1.4}.ab-grid-wall .e-loop-item:nth-child(4){flex-grow:1.15}.ab-grid-wall .e-loop-item:nth-child(5){flex-grow:.75}
.ab-grid-wall .ab-stage{background:transparent;aspect-ratio:auto;padding:0!important}
.ab-grid-wall .ab-stage .ab-frame{max-width:100%}
.ab-grid-wall .ab-stage .ab-frame img{max-height:none;width:100%}
@media (max-width:900px){.ab-grid-wall .elementor-loop-container{overflow-x:auto;padding:40px 24px 28px;gap:24px;justify-content:flex-start;scroll-snap-type:x mandatory}
 .ab-grid-wall .e-loop-item{flex:0 0 56%;scroll-snap-align:start}}
/* home "Fresh from the studio": first card large, then 2x2 */
@media (min-width:768px){
 .ab-grid-editorial .elementor-loop-container{display:grid!important;grid-template-columns:7fr 2.5fr 2.5fr;gap:40px 32px}
 .ab-grid-editorial .e-loop-item:first-child{grid-row:span 2}
 .ab-grid-editorial .e-loop-item:first-child .ab-stage .ab-frame img{max-height:clamp(260px,34vw,520px)}
}
/* artist portfolio: masonry wall */
.ab-grid-masonry .ab-stage{aspect-ratio:auto;padding:13% 15%!important}
.ab-grid-masonry .ab-stage .ab-frame img{max-height:none}
/* services as wide rows (artist page Hire section) */
@media (min-width:901px){
 .ab-grid-rows .ab-card--svc{display:grid!important;grid-template-columns:420px 1fr;gap:48px!important;align-items:center;background:#fff;border:1px solid var(--ab-linen)!important;padding:28px!important}
 .ab-grid-rows .ab-svc-title.elementor-element .elementor-heading-title{font-size:38px}
}
/* services on the dark hire band */
.ab-on-ink .ab-card--svc{border-top-color:var(--ab-rule-ink)!important}
.ab-on-ink .ab-svc-title.elementor-element .elementor-heading-title,.ab-on-ink .ab-km.elementor-element .elementor-heading-title{color:var(--ab-paper)}
.ab-on-ink .ab-svc-type.elementor-element .elementor-heading-title{color:var(--ab-brass-l)}
.ab-on-ink .ab-card-by.elementor-element .elementor-heading-title,.ab-on-ink .ab-card-by{color:var(--ab-on-ink)}
/* hide a whole section when its Loop Grid came back empty (front end only) */
body:not(.elementor-editor-active) .ab-hide-if-empty:not(:has(.e-loop-item)){display:none!important}

/* ---------- chips & filters ---------- */
.ab-chips{display:flex;gap:8px;flex-wrap:wrap}
.ab-chips a,.ab-chip{font:500 14px/1 var(--ab-sans);padding:9px 16px;border:1px solid var(--ab-linen);border-radius:999px;text-decoration:none;color:var(--ab-ink);white-space:nowrap;transition:border-color .2s,background .2s}
.ab-chips a:hover{border-color:var(--ab-ink)}
.ab-chips a[aria-current="page"],.ab-chips a.is-on{background:var(--ab-ink);border-color:var(--ab-ink);color:var(--ab-paper)}
.ab-on-ink .ab-chips a{color:var(--ab-on-ink);border-color:var(--ab-rule-ink)}
.ab-on-ink .ab-chips a:hover{border-color:var(--ab-brass-l);color:#fff}
/* Elementor Pro Taxonomy Filter styled as chips */
.ab-taxfilter .e-filter{gap:8px!important;flex-wrap:wrap}
.ab-taxfilter .e-filter-item{font:500 14px/1 var(--ab-sans)!important;padding:9px 16px!important;border:1px solid var(--ab-linen)!important;border-radius:999px!important;background:transparent!important;color:var(--ab-ink)!important;cursor:pointer}
.ab-taxfilter .e-filter-item:hover{border-color:var(--ab-ink)!important}
.ab-taxfilter .e-filter-item[aria-pressed="true"]{background:var(--ab-ink)!important;border-color:var(--ab-ink)!important;color:var(--ab-paper)!important}
@media (max-width:767px){.ab-taxfilter .e-filter,.ab-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}}

/* ---------- GET forms in HTML widgets (Find / Hire search) ---------- */
.ab-form{display:grid;grid-template-columns:1fr 1fr auto;background:var(--ab-paper);color:var(--ab-ink);box-shadow:0 30px 60px -30px rgba(0,0,0,.45);border:1px solid var(--ab-linen)}
.ab-form .f{padding:16px 26px;border-right:var(--ab-hair);display:flex;flex-direction:column;gap:4px;min-width:0}
.ab-form label{font:600 11.5px/1.2 var(--ab-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ab-brass)}
.ab-form .f select,.ab-form .f input{font:600 26px/1.15 var(--ab-display);color:var(--ab-ink);background-color:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:4px 0!important;width:100%;min-height:44px;outline:0;-webkit-appearance:none;appearance:none}
.ab-form .f select{padding-right:24px!important;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%235B544A' stroke-width='1.5'/></svg>") right 2px center/12px no-repeat;padding-right:24px}
.ab-form .f input::placeholder{color:#8a8275;font-weight:500}
.ab-form .f:focus-within{box-shadow:inset 0 -2px 0 var(--ab-cedar)}
.ab-form button[type=submit]{font:600 15px/1 var(--ab-sans);letter-spacing:.06em;text-transform:uppercase;background:var(--ab-ink);color:var(--ab-paper);border:0;border-radius:0;padding:0 40px;min-height:76px;cursor:pointer;transition:background .2s}
.ab-form button[type=submit]:hover,.ab-form button[type=submit]:focus{background:var(--ab-cedar);color:#fff}
.ab-on-ink .ab-form{border:0;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ab-on-ink .ab-form button[type=submit]{background:var(--ab-cedar)}
.ab-on-ink .ab-form button[type=submit]:hover{background:var(--ab-cedar-d)}
.ab-form-note{font-size:14px;color:var(--ab-muted);margin:12px 0 0}
.ab-on-ink .ab-form-note{color:var(--ab-on-ink-2)}
@media (max-width:900px){.ab-form{grid-template-columns:1fr}.ab-form .f{border-right:0;border-bottom:var(--ab-hair)}.ab-form button[type=submit]{min-height:58px}}

/* =====================================================================
   HEADER  (Theme Builder header: .ab-util + .ab-mainbar + .ab-mpanel)
   Sticky is pure CSS: the util bar (36px) scrolls away, the main bar stays.
   ===================================================================== */
.elementor-location-header{position:sticky;top:-36px;z-index:990}
body.admin-bar .elementor-location-header{top:-4px}
@media (max-width:900px){.elementor-location-header{top:0}body.admin-bar .elementor-location-header{top:46px}}
@media (max-width:600px){body.admin-bar .elementor-location-header{top:0}}
.ab-util{font-size:13.5px}
.ab-util p{margin:0;letter-spacing:.02em;color:var(--ab-on-ink);font-size:13.5px}
.ab-util p b,.ab-util p strong{color:var(--ab-brass-l);font-weight:600}
.ab-util .elementor-nav-menu a.elementor-item{color:var(--ab-on-ink)!important;font-size:13.5px!important;padding:8px 0!important}
.ab-util .elementor-nav-menu a.elementor-item:hover,.ab-util .elementor-nav-menu a.elementor-item:focus{color:#fff!important}
.ab-mainbar{background:rgba(250,247,241,.94)!important;-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:var(--ab-hair)}
.ab-logo.elementor-element .elementor-heading-title{font:600 30px/1 var(--ab-display);letter-spacing:-.01em;text-align:center}
.ab-logo.elementor-element .elementor-heading-title a{text-decoration:none;color:var(--ab-ink);display:inline-block}
.ab-logo.elementor-element .elementor-heading-title a small,.ab-logo-sub.elementor-element .elementor-heading-title{display:block;font:600 9.5px/1 var(--ab-sans);letter-spacing:.42em;text-transform:uppercase;color:var(--ab-brass);margin-top:5px;text-align:center}
@media (max-width:900px){.ab-mainbar .ab-logo.elementor-element .elementor-heading-title,.ab-mainbar .ab-logo.elementor-element .elementor-heading-title a small{text-align:left}}
@media (max-width:767px){.ab-mainbar .ab-logo.elementor-element .elementor-heading-title{font-size:23px;white-space:nowrap}.ab-mainbar .ab-logo.elementor-element .elementor-heading-title a small{font-size:8px;letter-spacing:.3em}.ab-burger{padding:0 12px}}
.ab-ft .ab-logo.elementor-element .elementor-heading-title a{color:var(--ab-paper)}
.ab-ft .ab-logo.elementor-element .elementor-heading-title,.ab-ft .ab-logo.elementor-element .elementor-heading-title a small{text-align:left}
.ab-ft .ab-logo.elementor-element .elementor-heading-title a small{color:var(--ab-brass-l);margin-top:6px}
.ab-acct.elementor-element .elementor-heading-title a{font:500 15.5px/1 var(--ab-sans);text-decoration:none;color:var(--ab-ink);position:relative;padding:6px 0}
.ab-acct.elementor-element .elementor-heading-title a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ab-ink);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.ab-acct.elementor-element .elementor-heading-title a:hover::after{transform:scaleX(1)}
.ab-cart .elementor-menu-cart__toggle .elementor-button{background:transparent!important;border:0!important;color:var(--ab-ink)!important;padding:6px 2px!important;min-height:0}
.ab-cart .elementor-button-text{display:none}
.ab-cart .elementor-button-icon{font-size:20px;color:var(--ab-ink)}
.ab-cart .elementor-button-icon-qty[data-counter]{background:var(--ab-ink)!important;color:var(--ab-paper)!important;font-size:10px;min-width:16px;height:16px;line-height:16px;top:-6px;right:-10px}
/* burger (HTML widget) */
.ab-burger{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 16px;font:600 13px/1 var(--ab-sans)!important;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--ab-ink)!important;background:transparent!important;color:var(--ab-ink)!important;border-radius:0!important;cursor:pointer}
.ab-burger:hover,.ab-burger:focus{background:var(--ab-ink)!important;color:var(--ab-paper)!important}
.ab-burger__lines{position:relative;width:16px;height:10px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.ab-burger__lines::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .2s}
body.ab-menu-open .ab-burger__lines{border-color:transparent}
.ab-burger__lines::before{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;opacity:0;transition:transform .2s,opacity .2s}
body.ab-menu-open .ab-burger__lines::after{transform:rotate(45deg)}
body.ab-menu-open .ab-burger__lines::before{opacity:1;transform:rotate(-45deg)}
/* mobile panel */
.ab-mpanel{display:none!important}
body.ab-menu-open .ab-mpanel{display:flex!important;position:fixed!important;left:0;right:0;bottom:0;top:var(--ab-hd-h);z-index:989;overflow:auto;background:var(--ab-paper)}
body.admin-bar.ab-menu-open .ab-mpanel{top:calc(var(--ab-hd-h) + 46px)}
@media (max-width:600px){body.admin-bar.ab-menu-open .ab-mpanel{top:var(--ab-hd-h)}}
body.ab-menu-open{overflow:hidden}
.elementor-editor-active .ab-mpanel{display:flex!important;position:static!important}
@media (min-width:901px){body.ab-menu-open .ab-mpanel{display:none!important}}
.ab-mpanel-main .elementor-nav-menu a.elementor-item{display:flex!important;justify-content:space-between;padding:14px 0!important;border-bottom:var(--ab-hair);font:500 32px/1.1 var(--ab-display)!important;color:var(--ab-ink)!important}
.ab-mpanel-main .elementor-nav-menu a.elementor-item::after{content:"→";position:static!important;opacity:1!important;background:none!important;height:auto!important;width:auto!important;font:400 20px var(--ab-sans);color:var(--ab-muted)}
.ab-mpanel-join.elementor-element .elementor-heading-title a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:var(--ab-hair);font:500 32px/1.1 var(--ab-display);text-decoration:none;color:var(--ab-cedar)}
.ab-mpanel-join.elementor-element .elementor-heading-title a::after{content:"→";font:400 20px var(--ab-sans);color:var(--ab-muted)}
.ab-mpanel-util .elementor-nav-menu{display:grid!important;grid-template-columns:1fr 1fr;gap:0 16px}
.ab-mpanel-util .elementor-nav-menu a.elementor-item{padding:8px 0!important;font:400 16px/1.3 var(--ab-sans)!important;color:var(--ab-muted)!important}
.ab-mpanel-h.elementor-element .elementor-heading-title{font:600 11.5px/1 var(--ab-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ab-brass)}

/* =====================================================================
   FOOTER
   ===================================================================== */
.ab-ft{font-size:15.5px}
.ab-ft .ab-ft-statement{border-bottom:1px solid var(--ab-rule-ink)!important}
.ab-ft p{color:var(--ab-on-ink)}
.ab-ft a{color:var(--ab-paper)}
.ab-ft-h.elementor-element .elementor-heading-title{font:600 11.5px/1.2 var(--ab-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ab-brass-l);margin:6px 0 8px}
.ab-ft-menu .elementor-nav-menu a.elementor-item{color:var(--ab-paper)!important;padding:5.5px 0!important;font-size:15.5px!important;font-weight:400!important;display:inline-block!important;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s}
.ab-ft-menu .elementor-nav-menu a.elementor-item:hover,.ab-ft-menu .elementor-nav-menu a.elementor-item:focus{background-size:100% 1px}
.ab-ft-menu .elementor-nav-menu a.elementor-item::before,.ab-ft-menu .elementor-nav-menu a.elementor-item::after{display:none!important}
.ab-ft-blurb p{color:var(--ab-on-ink);max-width:32ch;margin:0}
.ab-ft-contact p{color:var(--ab-on-ink);line-height:1.7;margin:0}
.ab-social .elementor-social-icon{border:1px solid #4A4339!important;background:transparent!important;transition:background .2s,border-color .2s}
.ab-social .elementor-social-icon:hover{background:var(--ab-brass-l)!important;border-color:var(--ab-brass-l)!important}
.ab-social .elementor-social-icon:hover i,.ab-social .elementor-social-icon:hover svg{color:var(--ab-ink)!important;fill:var(--ab-ink)!important}
.ab-mpanel .ab-social .elementor-social-icon{border-color:var(--ab-linen)!important}
.ab-mpanel .ab-social .elementor-social-icon i,.ab-mpanel .ab-social .elementor-social-icon svg{color:var(--ab-ink)!important;fill:var(--ab-ink)!important}
.ab-ft-bottom{border-top:1px solid var(--ab-rule-ink)!important;color:var(--ab-on-ink-2);font-size:13.5px}
.ab-ft-bottom p{margin:0;color:var(--ab-on-ink-2);font-size:13.5px}
.ab-made{display:inline-flex;align-items:center;gap:8px;color:var(--ab-on-ink)}
.ab-pay{display:flex;gap:8px;flex-wrap:wrap}
.ab-pay span{border:1px solid #4A4339;color:var(--ab-on-ink);padding:4px 9px;font-size:11.5px;font-weight:600;letter-spacing:.08em}

/* =====================================================================
   HOME
   ===================================================================== */
.ab-hero-h1.elementor-element .elementor-heading-title{font-size:84px;line-height:.98}
@media (max-width:900px){.ab-hero-h1.elementor-element .elementor-heading-title{font-size:56px}}
.ab-jobs{list-style:none;margin:0;padding:0;border-top:1px solid var(--ab-ink)}
.ab-jobs a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:18px;padding:20px 4px;border-bottom:var(--ab-hair);text-decoration:none;color:var(--ab-ink);transition:padding .3s,background .3s}
.ab-jobs a:hover,.ab-jobs a:focus-visible{padding-left:16px;background:linear-gradient(90deg,var(--ab-bone),rgba(241,235,224,0))}
.ab-jobs .i{font:italic 400 22px var(--ab-display);color:var(--ab-brass)}
.ab-jobs b{font:600 32px/1 var(--ab-display);letter-spacing:-.01em;display:block}
.ab-jobs small{display:block;font-size:15px;color:var(--ab-muted);margin-top:4px}
.ab-jobs .ar{width:44px;height:44px;border:1px solid var(--ab-linen);border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s}
.ab-jobs a:hover .ar,.ab-jobs a:focus-visible .ar{background:var(--ab-ink);color:var(--ab-paper);border-color:var(--ab-ink)}
.ab-jobs a.primary b{color:var(--ab-cedar)}
@media (max-width:767px){.ab-jobs b{font-size:27px}.ab-jobs a{grid-template-columns:34px 1fr auto;gap:12px;padding:16px 0}}
.ab-hero-art{position:relative}
.ab-hero-art::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 40% 20%,rgba(255,252,245,.9),rgba(255,252,245,0) 70%);pointer-events:none}
.ab-hero-art>*,.ab-hero-art>.e-con-inner>*{position:relative;z-index:1}
.ab-label{border-top:1px solid var(--ab-ink)!important;padding-top:12px!important;font-size:13.5px;line-height:1.5;color:var(--ab-muted)}
.ab-label p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ab-muted)}
.ab-label b{display:block;font:600 22px/1.1 var(--ab-display);color:var(--ab-ink);margin-bottom:4px}
.ab-label i{font-family:var(--ab-display);font-size:18px}
.ab-label .p{display:block;color:var(--ab-ink);font-variant-numeric:tabular-nums}
.ab-tick.elementor-element .elementor-heading-title{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ab-muted)}
.ab-trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.ab-trust li{padding:28px 28px 28px 0;display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;border-right:var(--ab-hair)}
.ab-trust li+li{padding-left:28px}.ab-trust li:last-child{border-right:0}
.ab-trust svg{width:30px;height:30px;color:var(--ab-brass)}
.ab-trust b{display:block;font:600 22px/1.15 var(--ab-display);color:var(--ab-ink)}
.ab-trust span{font-size:14.5px;color:var(--ab-muted);line-height:1.5}
@media (max-width:900px){.ab-trust ul{grid-template-columns:1fr 1fr}.ab-trust li,.ab-trust li+li{padding:20px 12px 20px 0;border-right:0;border-bottom:var(--ab-hair)}}
@media (max-width:767px){.ab-trust ul{grid-template-columns:1fr}.ab-trust li{grid-template-columns:28px 1fr;gap:10px}.ab-trust b{font-size:19px}}
.ab-spot-studio img{aspect-ratio:4/5;object-fit:cover;width:100%;filter:saturate(.85) contrast(1.02)}
.ab-spot-inset{position:absolute!important;right:-56px;bottom:-48px;width:42%!important;z-index:2}
@media (max-width:900px){.ab-spot-inset{right:-6px;bottom:-36px;width:44%!important}}
.ab-pull.elementor-element .elementor-heading-title,.ab-pull blockquote{margin:0;font:italic 500 44px/1.12 var(--ab-display);letter-spacing:-.01em;position:relative;padding-top:56px}
.ab-pull.elementor-element .elementor-heading-title::before{content:"\201C";position:absolute;top:-24px;left:-6px;font-size:150px;line-height:1;color:var(--ab-brass-l);font-style:normal}
@media (max-width:767px){.ab-pull.elementor-element .elementor-heading-title{font-size:32px;padding-top:40px}.ab-pull.elementor-element .elementor-heading-title::before{font-size:110px;top:-20px}}
.ab-who{border-top:var(--ab-hair)!important;border-bottom:var(--ab-hair)!important}
.ab-who .elementor-widget-html{flex:none}
@media (max-width:767px){.ab-who .elementor-widget-html span{font-size:38px!important}}
.ab-room{position:relative;overflow:hidden;aspect-ratio:16/10;background:radial-gradient(120% 80% at 30% 0%,rgba(255,250,240,.9),rgba(255,250,240,0) 60%),linear-gradient(180deg,#E7DFD2 0%,#DDD3C3 74%,#CFC3B0 74.2%,#CFC3B0 75%,#B99A76 75%,#A6845F 100%)}
.ab-room--wide{aspect-ratio:21/9}
@media (max-width:767px){.ab-room--wide{aspect-ratio:4/3}}
.ab-room .ab-wall-art{position:absolute!important;left:50%;top:13%;transform:translateX(-50%);width:30%!important;z-index:2}
.ab-room--wide .ab-wall-art{width:20%!important;top:10%}
@media (max-width:767px){.ab-room--wide .ab-wall-art{width:36%!important}}
.ab-room .ab-wall-art img{width:100%}
.ab-room-decor{position:absolute!important;inset:0;pointer-events:none;z-index:1;width:100%!important}
.ab-room-decor .bench{position:absolute;left:50%;transform:translateX(-50%);bottom:18%;width:52%;height:9%;background:linear-gradient(180deg,#3A3128,#2A231C);box-shadow:0 18px 30px -10px rgba(0,0,0,.45)}
.ab-room-decor .bench::before,.ab-room-decor .bench::after{content:"";position:absolute;bottom:-60%;width:3%;height:60%;background:#2A231C}
.ab-room-decor .bench::before{left:6%}.ab-room-decor .bench::after{right:6%}
.ab-room-decor .vase{position:absolute;bottom:27%;left:33%;width:3.4%;aspect-ratio:1/2.2;background:linear-gradient(90deg,#d8d2c6,#f3efe7 40%,#cfc8bb);border-radius:40% 40% 18% 18%}
.ab-room-decor .stem{position:absolute;bottom:40%;left:34.5%;width:1px;height:16%;background:#5a4a35;transform:rotate(-6deg);transform-origin:bottom}
.ab-room-decor .books{position:absolute;bottom:27%;right:31%;width:9%;height:2.6%;background:linear-gradient(180deg,#9B2C1F 0 33%,#E4DBCC 33% 66%,#2F5D50 66%)}
.ab-room-decor .scale{position:absolute;right:20px;bottom:16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.9}
@media (max-width:767px){.ab-room-decor .scale{display:none}}
.ab-dash-list ul{list-style:none;margin:28px 0 32px;padding:0}
.ab-dash-list li{padding:12px 0;border-bottom:var(--ab-hair);font-size:16px;display:flex;gap:12px}
.ab-dash-list li::before{content:"—";color:var(--ab-brass)}
.ab-step{border-right:var(--ab-hair)}
.ab-step:last-child{border-right:0}
.ab-step-num.elementor-element .elementor-heading-title{font:italic 500 88px/.9 var(--ab-display);color:var(--ab-brass-l)}
.ab-step p{color:var(--ab-muted);font-size:16.5px;margin:0}
@media (max-width:900px){.ab-step{border-right:0;border-bottom:var(--ab-hair)}.ab-step-num.elementor-element .elementor-heading-title{font-size:64px}}
.ab-hire{position:relative;overflow:hidden}
.ab-hire::before{content:"";position:absolute;inset:28px;border:1px solid rgba(201,168,106,.35);pointer-events:none}
@media (max-width:767px){.ab-hire::before{inset:12px}}
.ab-collage{position:relative;min-height:520px}
.ab-collage .ab-frame{position:absolute!important}
.ab-collage .c1{left:0;top:30px;width:38%!important}
.ab-collage .c2{left:30%;top:150px;width:34%!important;z-index:2}
.ab-collage .c3{right:0;top:0;width:36%!important}
@media (max-width:900px){.ab-collage{min-height:340px}}
.ab-steps-ol ol{list-style:none;margin:30px 0 36px;padding:0;counter-reset:s}
.ab-steps-ol li{display:grid;grid-template-columns:54px 1fr;gap:12px;padding:18px 0;border-bottom:var(--ab-hair)}
.ab-steps-ol li::before{counter-increment:s;content:"0" counter(s);font:italic 400 26px var(--ab-display);color:var(--ab-brass)}
.ab-steps-ol li b{display:block;font-size:17px}.ab-steps-ol li span{color:var(--ab-muted);font-size:15.5px}

/* =====================================================================
   PAGE HEROES & EDITORIAL (Buy / Find / Hire / Join / info pages)
   ===================================================================== */
.ab-page-hero{border-bottom:var(--ab-hair)}
.ab-prose{max-width:720px}
.ab-prose p,.ab-prose li{font-size:18px;line-height:1.7}
.ab-prose h2{font:500 40px/1.1 var(--ab-display);margin:48px 0 14px}
.ab-prose h3{font:600 26px/1.2 var(--ab-display);margin:32px 0 10px}
.ab-prose a{color:var(--ab-cedar)}
.ab-prose ul,.ab-prose ol{padding-left:1.2em}
.ab-draft{background:#FFF7E0;border:1px dashed var(--ab-brass)!important}
.ab-draft p{margin:0;color:var(--ab-brass);font-weight:600;font-size:15px}
.ab-faq .elementor-toggle-item{border-bottom:var(--ab-hair)}
.ab-faq .elementor-tab-title{padding:22px 0!important;border:0!important;font:600 24px/1.25 var(--ab-display)!important;color:var(--ab-ink)}
.ab-faq .elementor-tab-title a{color:var(--ab-ink)!important;text-decoration:none}
.ab-faq .elementor-tab-content{padding:0 0 24px!important;border:0!important;color:var(--ab-muted);font-size:17px}
.ab-faq .elementor-toggle-icon{color:var(--ab-brass)!important}
.ab-faq .elementor-toggle-icon svg{fill:var(--ab-brass)!important;width:.62em;height:.62em}
.ab-plan{background:#fff;border:1px solid var(--ab-linen)!important;box-shadow:0 30px 50px -40px rgba(23,20,15,.45)}
.ab-plan-price.elementor-element .elementor-heading-title{font:500 44px/1.05 var(--ab-display)}
.ab-check ul{list-style:none;margin:0;padding:0}
.ab-check li{padding:12px 0 12px 30px;border-bottom:var(--ab-hair);position:relative;font-size:16.5px}
.ab-check li::before{content:"";position:absolute;left:2px;top:19px;width:12px;height:7px;border-left:1.5px solid var(--ab-moss);border-bottom:1.5px solid var(--ab-moss);transform:rotate(-45deg)}
.ab-check li b{display:block}

/* =====================================================================
   ARTIST SINGLE
   ===================================================================== */
.ab-ahero{position:relative;overflow:hidden}
.ab-ahero::after{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(122,92,36,.18);pointer-events:none}
.ab-artist-h1.elementor-element .elementor-heading-title{font-size:112px;line-height:.92}
@media (max-width:900px){.ab-artist-h1.elementor-element .elementor-heading-title{font-size:68px}}
.ab-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:220px 220px 0 0;box-shadow:var(--ab-shadow-art);filter:saturate(.85)}
.ab-portrait{position:relative}
.ab-portrait::after{content:"";position:absolute;inset:10px;border-radius:210px 210px 0 0;border:1px solid rgba(255,255,255,.55);pointer-events:none}
.ab-tags-line.elementor-element .elementor-heading-title{display:inline-block;font:600 12px/1 var(--ab-sans);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ab-ink);padding:9px 12px}
.ab-bio-quote,.ab-bio-quote p{font:italic 500 28px/1.25 var(--ab-display);color:var(--ab-ink)}
.ab-bio-quote{border-left:2px solid var(--ab-brass-l);padding-left:22px!important;max-width:30ch;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ab-bio-quote p{margin:0}
@media (max-width:767px){.ab-bio-quote,.ab-bio-quote p{font-size:22px}}
/* the plugin's Profile tabs: let the bar stick to the whole page, not just its widget box */
.ab-profile-tabs,.ab-profile-tabs>.e-con-inner,.ab-profile-tabs .elementor-widget,.ab-profile-tabs .elementor-widget-container{display:contents!important}
.ab-profile-tabs .artistry-profile-nav{--apn-offset:var(--ab-hd-h)!important;top:var(--ab-hd-h)!important}
body.admin-bar .ab-profile-tabs .artistry-profile-nav{top:calc(var(--ab-hd-h) + 32px)!important}
.artistry-profile-nav__inner{max-width:1280px;padding:0 48px}
@media (max-width:767px){.artistry-profile-nav__inner{padding:0 20px}}
.ab-psec{border-bottom:var(--ab-hair)}
.ab-dropcap p{font:500 30px/1.35 var(--ab-display);letter-spacing:-.005em;margin:0 0 18px}
.ab-dropcap p:first-child::first-letter{font-size:92px;float:left;line-height:.8;margin:8px 12px 0 0;color:var(--ab-cedar);font-style:italic}
.ab-dropcap p+p{font:400 18px/1.65 var(--ab-sans);color:var(--ab-muted)}
@media (max-width:767px){.ab-dropcap p{font-size:24px}.ab-dropcap p:first-child::first-letter{font-size:70px}}
.ab-facts{border-top:1px solid var(--ab-ink)!important}
.ab-fact{border-bottom:var(--ab-hair)!important}
.ab-fact-k.elementor-element .elementor-heading-title{font:600 11.5px/1.6 var(--ab-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ab-muted)}
.ab-fact-v.elementor-element .elementor-heading-title{font-size:15.5px;line-height:1.5;overflow-wrap:anywhere}
.ab-fact-v.elementor-element .elementor-heading-title a{color:var(--ab-ink)}
.ab-fact:not(:has(.ab-fact-v.elementor-element .elementor-heading-title)){display:none!important}
.ab-contact-card{background:#fff;border:1px solid var(--ab-linen)!important}
/* plugin contact forms (artist, service and /contact/) in the v2 underline style */
.artistry-contact__form label{font:600 12px/1.2 var(--ab-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ab-muted)}
.artistry-contact__form input[type="text"],.artistry-contact__form input[type="email"],.artistry-contact__form textarea{background:transparent!important;border:0!important;border-bottom:1px solid var(--ab-ink)!important;padding:10px 0!important;font-size:18px}
.artistry-contact__form input:focus,.artistry-contact__form textarea:focus{outline:0;border-bottom:2px solid var(--ab-cedar)!important}
.artistry-contact__form .artistry-btn{min-height:52px}

/* =====================================================================
   ARTWORK SINGLE
   ===================================================================== */
.ab-crumbs.elementor-element .elementor-heading-title{font-size:13.5px;color:var(--ab-muted)}
.ab-crumbs.elementor-element .elementor-heading-title a{text-decoration:none;color:var(--ab-muted)}
.ab-crumbs.elementor-element .elementor-heading-title a:hover{text-decoration:underline}
.ab-crumb-sep.elementor-element .elementor-heading-title{color:var(--ab-linen);font-size:13.5px}
.ab-pdp-stage{position:relative;overflow:hidden;aspect-ratio:1/1}
.ab-pdp-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 40% 25%,rgba(255,252,245,.95),rgba(255,252,245,0) 70%);pointer-events:none}
.ab-pdp-stage .ab-frame{z-index:1;width:62%!important;cursor:zoom-in}
.ab-pdp-stage .ab-frame img{max-height:none}
.ab-tools{position:absolute!important;top:18px;right:18px;z-index:2;width:auto!important}
.ab-tools a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:rgba(250,247,241,.92);border:1px solid var(--ab-linen);font:600 13px/1 var(--ab-sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ab-ink)}
.ab-tools svg{width:16px;height:16px}
@media (max-width:767px){.ab-tools a span{display:none}}
.ab-thumbs .gallery{display:grid!important;grid-template-columns:repeat(5,1fr);gap:12px;margin:0!important}
.ab-thumbs .gallery-item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;aspect-ratio:1/1;background:var(--ab-bone);display:grid;place-items:center;border:1px solid transparent;transition:border-color .2s}
.ab-thumbs .gallery-item:hover{border-color:var(--ab-ink)}
.ab-thumbs .gallery-item img{width:62%!important;height:auto!important;border:0!important;box-shadow:0 6px 12px -6px rgba(0,0,0,.35)}
.ab-thumbs .gallery-caption{display:none}
@media (max-width:767px){.ab-thumbs .gallery{gap:6px}}
@media (min-width:901px){.ab-info{position:sticky!important;top:calc(var(--ab-hd-h) + 30px);align-self:flex-start}}
.ab-artwork-h1.elementor-element .elementor-heading-title{font-size:72px;line-height:.96}
@media (max-width:900px){.ab-artwork-h1.elementor-element .elementor-heading-title{font-size:50px}}
.ab-byline.elementor-element .elementor-heading-title{font-size:16px}
.ab-byline.elementor-element .elementor-heading-title a{font-weight:600;color:var(--ab-ink)}
.ab-specs{border-top:1px solid var(--ab-ink)!important}
.ab-spec{border-bottom:var(--ab-hair)!important}
.ab-spec:not(:has(.ab-spec-v.elementor-element .elementor-heading-title)){display:none!important}  /* hides Size when artwork_size is empty */
.ab-spec-k.elementor-element .elementor-heading-title{font:600 11.5px/1.6 var(--ab-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ab-muted)}
.ab-spec-v.elementor-element .elementor-heading-title{font-size:15.5px;line-height:1.5}
.ab-buy{background:#fff;border:1px solid var(--ab-linen)!important;position:relative;box-shadow:0 30px 50px -40px rgba(23,20,15,.45)}
.ab-buy::before{content:"";position:absolute;inset:5px;border:1px solid var(--ab-bone);pointer-events:none}
body:not(.elementor-editor-active) .ab-buy:not(:has(.artistry-buy)){display:none!important}  /* not for sale: no box at all */
.ab-buy-h.elementor-element .elementor-heading-title{font:600 11.5px/1 var(--ab-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ab-moss);display:flex;align-items:center;gap:10px}
.ab-buy-h.elementor-element .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ab-moss)}
/* restyle the plugin's Buy this piece widget to the mockup */
.ab-buy .artistry-buy{gap:8px}
.ab-buy .artistry-btn{width:100%;justify-content:space-between;min-height:58px;font-size:14.5px}
.ab-buy .artistry-buy__item--print .artistry-btn{min-height:56px;text-transform:none;letter-spacing:0;font-weight:500;font-size:16px}
.ab-buy .artistry-buy__item--print .artistry-buy__price{font-weight:600}
.ab-buy .artistry-buy__item--original{margin-bottom:18px;padding-bottom:20px;border-bottom:var(--ab-hair)}
.ab-buy .artistry-buy__edition{font-size:12.5px;margin:6px 0 4px}
.ab-buy .artistry-buy__item--limited .artistry-buy__edition{color:var(--ab-brass)}
.ab-buy .artistry-buy__legend{font-size:13px;line-height:1.5}
.ab-buy .artistry-btn[disabled]{text-decoration:none;color:#8a8275}
.ab-assure .elementor-toggle-item{border-bottom:var(--ab-hair)}
.ab-assure{border-top:1px solid var(--ab-ink)}
.ab-assure .elementor-tab-title{padding:15px 0!important;border:0!important;font:600 15.5px/1.35 var(--ab-sans)!important}
.ab-assure .elementor-tab-title a{color:var(--ab-ink)!important;text-decoration:none}
.ab-assure .elementor-tab-content{padding:0 0 15px!important;border:0!important;font-size:14px;color:var(--ab-muted)}
.ab-assure .elementor-toggle-icon{color:var(--ab-muted)!important}
.ab-note-quote.elementor-element .elementor-heading-title,.ab-note-quote p{font:italic 500 40px/1.18 var(--ab-display);letter-spacing:-.01em;margin:0}
@media (max-width:767px){.ab-note-quote.elementor-element .elementor-heading-title,.ab-note-quote p{font-size:30px}}
.ab-fact-p.elementor-element .elementor-heading-title{font:600 11.5px/1.4 var(--ab-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ab-ink)}
.ab-fact-p p{font-size:15.5px;color:var(--ab-muted);margin:6px 0 0}
.ab-acard{background:var(--ab-bone)}
.ab-acard-name.elementor-element .elementor-heading-title{font-size:44px}
@media (max-width:767px){.ab-acard-name.elementor-element .elementor-heading-title{font-size:36px}}

/* =====================================================================
   SERVICE SINGLE
   ===================================================================== */
.ab-radius{width:120px;height:120px;border-radius:50%;border:1px dashed var(--ab-brass);display:grid;place-items:center;position:relative;margin:0 auto 30px}
.ab-radius::before{content:"";position:absolute;inset:26px;border-radius:50%;border:1px solid var(--ab-linen)}
.ab-radius::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--ab-cedar)}
.ab-svc-gallery .gallery{display:grid!important;grid-template-columns:repeat(2,1fr);gap:16px;margin:0!important}
.ab-svc-gallery .gallery-item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
.ab-svc-gallery img{width:100%!important;aspect-ratio:3/2;object-fit:cover;border:0!important}

/* footer body copy */
.ab-ft .elementor-widget-text-editor:not(.ab-lead) p{font-size:15.5px;line-height:1.6}
/* plugin buttons (profile nav actions, copy link) in the theme's voice */
.artistry-btn.artistry-btn--primary,.artistry-btn.artistry-btn--primary:visited{background:var(--ab-ink)!important;color:var(--ab-paper)!important;border:1px solid var(--ab-ink)!important;border-radius:0!important}
.artistry-btn.artistry-btn--primary:hover,.artistry-btn.artistry-btn--primary:focus{background:var(--ab-cedar)!important;border-color:var(--ab-cedar)!important;color:#fff!important}
button.artistry-copy-link,.artistry-btn.artistry-btn--quiet{background:transparent!important;color:var(--ab-ink)!important;border:1px solid var(--ab-ink)!important;border-radius:0!important;font:600 14px/1 var(--ab-sans)!important;letter-spacing:.02em!important;text-transform:none!important;padding:13px 20px!important;cursor:pointer}
button.artistry-copy-link:hover,button.artistry-copy-link:focus,.artistry-btn.artistry-btn--quiet:hover{background:var(--ab-ink)!important;color:var(--ab-paper)!important}

/* =====================================================================
   v3 additions (2026-10-09) · 1440 layout, typography baseline, hire frame
   Replaces the whole Custom CSS box: paste this entire file.
   ===================================================================== */

/* ---------- 1440 layout that scales down ----------
   Page max 1440px = 1344px content + 2 × 48px gutters. Gutter shrinks fluidly
   (3.333vw) to 20px on phones. Overrides the 48px padding baked into every
   boxed parent container in the JSON templates, so no per-section edits needed.
   Kit: Content Width 1344px; container padding L/R left at 48px as the editor
   fallback (this CSS wins on the front end). */
:root{--ab-wrap:1344px;--ab-gut:clamp(20px,3.333vw,48px);--ab-sec:clamp(64px,8.333vw,120px)}
.e-con-boxed.e-parent{--padding-left:var(--ab-gut)!important;--padding-right:var(--ab-gut)!important}
.e-con-boxed.e-parent>.e-con-inner{max-width:min(100%,var(--ab-wrap))!important}
.e-con-full.e-parent.ab-wrap{max-width:calc(var(--ab-wrap) + 2*var(--ab-gut));margin-inline:auto}
/* header bars and footer use the same rhythm */
.elementor-location-header .e-con.e-parent,.elementor-location-footer .e-con.e-parent{--padding-left:var(--ab-gut)!important;--padding-right:var(--ab-gut)!important}

/* ---------- typography baseline ----------
   The kit's Theme Style typography (body, H1–H6, buttons) did not persist:
   post-6.css only carries the colour/font variables, so body text fell back to
   Hello's system font stack and headings to Hello's reset sizes (h2 = 32px).
   These rules make the CSS the source of truth so a kit re-save can't break it. */
body,.elementor-kit-6{font-family:var(--ab-sans);font-size:18px;line-height:1.65;color:var(--ab-ink)}
.elementor-kit-6 a{color:var(--ab-ink)}
.elementor-kit-6 a:hover{color:var(--ab-cedar)}
.elementor-kit-6 h1,.elementor-kit-6 h2,.elementor-kit-6 h3,.elementor-kit-6 h4,.elementor-kit-6 h5,.elementor-kit-6 h6,
.elementor-widget-heading h1.elementor-heading-title,.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,.elementor-widget-heading h4.elementor-heading-title{font-family:var(--ab-display);font-weight:500}
.elementor-kit-6 h1,.elementor-widget-heading h1.elementor-heading-title{font-size:clamp(44px,5.28vw,76px);line-height:1;letter-spacing:-.02em}
.elementor-kit-6 h2,.elementor-widget-heading h2.elementor-heading-title{font-size:clamp(36px,4.45vw,64px);line-height:1.02;letter-spacing:-.02em}
.elementor-kit-6 h3,.elementor-widget-heading h3.elementor-heading-title{font-size:clamp(24px,2.09vw,30px);line-height:1.1;letter-spacing:-.01em}
.elementor-kit-6 h4,.elementor-widget-heading h4.elementor-heading-title{font-size:clamp(20px,1.67vw,24px);line-height:1.2;font-weight:600}
.elementor-kit-6 h5{font-size:20px;line-height:1.3;font-weight:600}
.elementor-kit-6 h6{font-size:16px;line-height:1.3;font-weight:600}
.elementor-heading-title em{font-style:italic;font-weight:500}
.elementor-kit-6 h1 em,.elementor-kit-6 h2 em{color:var(--ab-cedar)}
.ab-on-ink h1 em,.ab-on-ink h2 em,.ab-ft h2 em{color:var(--ab-brass-l)}
/* the classed small labels keep their own font rules above (they are more specific) */

/* footer statement (Jeremy: "footer header") · proof 72px display */
.ab-ft-title.elementor-element .elementor-heading-title{font:500 clamp(44px,5vw,72px)/1.02 var(--ab-display);letter-spacing:-.02em;color:var(--ab-paper)}
.ab-ft .ab-ft-statement .elementor-widget-text-editor,.ab-ft .ab-ft-statement .elementor-widget-text-editor p{font-size:17px;color:var(--ab-on-ink)}
/* hire heading is 58px in the proof */
.ab-hire h2.elementor-heading-title{font-size:clamp(36px,4.03vw,58px)}
.ab-hire .ab-lead,.ab-hire .ab-lead p{font-size:18px}

/* buttons · proof: Inter 600 15px uppercase .06em, 52px tall */
.elementor-kit-6 .elementor-button,.elementor-widget-button .elementor-button{font-family:var(--ab-sans);font-weight:600;font-size:15px;line-height:1;letter-spacing:.06em;text-transform:uppercase;min-height:52px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;border-radius:0}
.ab-cart .elementor-menu-cart__toggle .elementor-button{text-transform:none;letter-spacing:0;min-height:0}

/* small corrections from the font audit */
.ab-secnum-n.elementor-element .elementor-heading-title{font-weight:400}
.ab-link.elementor-element .elementor-heading-title{font:500 16px/1.4 var(--ab-sans)}
.ab-step h3.elementor-heading-title,.ab-step .elementor-heading-title{font-size:clamp(24px,2.09vw,30px)}
.ab-sig-text.elementor-element .elementor-heading-title,.ab-sig-text{font-size:44px!important}
.ab-chips a{font-weight:400}

/* ---------- Hire an artist frame ----------
   Elementor containers give ::before width/height 100% (it's their background
   overlay layer), so the inset:28px frame was shifted 28px right/down and the
   right and bottom edges were clipped by overflow:hidden. Reset the size. */
.ab-hire.e-con::before,.e-con.ab-hire::before{content:""!important;display:block;position:absolute;top:28px;right:28px;bottom:28px;left:28px;width:auto!important;height:auto!important;border:1px solid rgba(201,168,106,.35);background:none!important;opacity:1!important;mix-blend-mode:normal!important;pointer-events:none;z-index:0}
.ab-hire.e-con>.e-con-inner{position:relative;z-index:1}
@media (max-width:767px){.ab-hire.e-con::before,.e-con.ab-hire::before{top:12px;right:12px;bottom:12px;left:12px}}

/* default (ink) button colours · the kit Buttons section did not persist,
   so buttons fell back to Elementor's grey #69727D */
.elementor-kit-6 .elementor-button,.elementor-widget-button .elementor-button{background-color:var(--ab-ink);color:var(--ab-paper);border:1px solid var(--ab-ink)}
.elementor-kit-6 .elementor-button:hover,.elementor-widget-button .elementor-button:hover{background-color:var(--ab-cedar);border-color:var(--ab-cedar);color:#fff}
.ab-secnum-r.ab-link.elementor-element .elementor-heading-title,.ab-secnum-r.ab-link.elementor-element .elementor-heading-title a{font-size:15px}

/* overrides */
.ab-room-decor .stem{display:none!important}
.ab-room-decor .scale{color:#5B544A!important;opacity:1!important}
/* ==== HOME TWEAKS v6 (2026-10-09, replaces v5): append to end of child theme style.css ==== */

/* 1. The Collection (loop grid 55aa0ab0): uniform 4:5 frames */
.elementor-element-55aa0ab0.ab-grid-wall .elementor-loop-container{align-items:flex-start!important;justify-content:flex-start}
.elementor-element-55aa0ab0.ab-grid-wall .e-loop-item,
.elementor-element-55aa0ab0.ab-grid-wall .e-loop-item:nth-child(n){flex:1 1 0!important;min-width:0}
@media(max-width:900px){.elementor-element-55aa0ab0.ab-grid-wall .e-loop-item,.elementor-element-55aa0ab0.ab-grid-wall .e-loop-item:nth-child(n){flex:0 0 42%!important}}
@media(max-width:767px){.elementor-element-55aa0ab0.ab-grid-wall .e-loop-item,.elementor-element-55aa0ab0.ab-grid-wall .e-loop-item:nth-child(n){flex:0 0 68%!important}}
.elementor-element-55aa0ab0 .ab-card{display:flex!important;flex-direction:column}
.elementor-element-55aa0ab0 .ab-stage{aspect-ratio:4/5!important;padding:0!important;width:100%;display:block!important}
.elementor-element-55aa0ab0 .ab-stage .ab-frame{position:absolute!important;inset:0;width:auto!important;max-width:none!important;margin:0!important;box-sizing:border-box;overflow:hidden}
.elementor-element-55aa0ab0 .ab-stage .ab-frame>.elementor-widget-container,
.elementor-element-55aa0ab0 .ab-stage .ab-frame a{display:block;width:100%;height:100%}
.elementor-element-55aa0ab0 .ab-stage .ab-frame img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover}

/* 1b. Collection caption: compact, natural height, full card width
   title (Cormorant, 1-2 lines) / artist · medium (muted) / $850 · Prints from $65 */
.elementor-element-55aa0ab0 .elementor-element-659cf3c6{--flex-direction:column!important;flex-direction:column!important;align-items:stretch!important;--gap:6px!important;gap:6px!important;padding-top:16px!important;width:100%!important}
.elementor-element-55aa0ab0 .elementor-element-659cf3c6>.e-con{width:100%!important;max-width:100%!important;min-height:0!important;flex:0 0 auto!important;--width:100%}
.elementor-element-55aa0ab0 .elementor-element-67bb28a1{gap:3px!important;--gap:3px!important}
.elementor-element-55aa0ab0 .ab-card-title,.elementor-element-55aa0ab0 .ab-card-title .elementor-heading-title{width:100%;max-width:100%}
.elementor-element-55aa0ab0 .ab-card-title .elementor-heading-title{font:500 21px/1.18 var(--ab-display)!important;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;min-height:0!important}
.elementor-element-55aa0ab0 .elementor-element-6f40e1b9{flex-wrap:nowrap!important;align-items:baseline;min-width:0}
.elementor-element-55aa0ab0 .ab-card-by,.elementor-element-55aa0ab0 .ab-card-by .elementor-heading-title{font:400 13px/1.4 var(--ab-sans)!important;color:var(--ab-muted)!important;white-space:nowrap}
.elementor-element-55aa0ab0 .elementor-element-51ef819c{min-width:0;overflow:hidden}
.elementor-element-55aa0ab0 .elementor-element-51ef819c .elementor-heading-title{overflow:hidden;text-overflow:ellipsis}
.elementor-element-55aa0ab0 .elementor-element-5efd33eb{flex:0 0 auto}
/* stray separator: hide the literal " · " and draw an evenly spaced dot */
.elementor-element-55aa0ab0 .elementor-element-5efd33eb .elementor-heading-title{font-size:0!important}
.elementor-element-55aa0ab0 .elementor-element-5efd33eb .elementor-heading-title span{font-size:13px}
.elementor-element-55aa0ab0 .elementor-element-5efd33eb .elementor-heading-title span::before{content:"·";margin:0 .45em}
/* price line */
.elementor-element-55aa0ab0 .elementor-element-4efcfe72{--flex-direction:row!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:baseline!important;justify-content:flex-start!important;gap:0!important;--gap:0!important;text-align:left!important;margin-top:4px}
.elementor-element-55aa0ab0 .elementor-element-4efcfe72 .elementor-widget{width:auto!important;flex:0 0 auto;text-align:left!important}
.elementor-element-55aa0ab0 .ab-card-price .elementor-heading-title{font:600 14px/1.4 var(--ab-sans)!important;color:var(--ab-ink)!important;font-variant-numeric:tabular-nums}
.elementor-element-55aa0ab0 .ab-card-price-sub,.elementor-element-55aa0ab0 .ab-card-price-sub *{font:400 13px/1.4 var(--ab-sans)!important;color:var(--ab-muted)!important;text-align:left!important}
.elementor-element-55aa0ab0 .ab-card-price+.ab-card-price-sub::before{content:"·";margin:0 .45em;color:var(--ab-muted);font:400 13px/1.4 var(--ab-sans)}
.elementor-element-55aa0ab0 .ab-card-price-sub .elementor-shortcode{display:inline}

/* 1c. Meet a few artists: one discipline only (first term), single line with ellipsis.
   CSS fallback for the Post Terms tag (72e1633); the shortcode [ab_primary_term] makes it exact. */
.ab-card--artist .ab-eyebrow .elementor-heading-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ab-card--artist .ab-eyebrow .elementor-heading-title:has(> span){font-size:0!important}
.ab-card--artist .ab-eyebrow .elementor-heading-title:has(> span)>span{display:none}
.ab-card--artist .ab-eyebrow .elementor-heading-title:has(> span)>span:first-child{display:inline;font-size:12px}
.ab-card--artist .ab-eyebrow,.ab-card--artist .ab-eyebrow .elementor-widget-container{min-width:0;max-width:100%}

/* 3. Hero label (current Elementor markup, 22c3821a): View piece button full width under the 3 columns */
.elementor-element-22c3821a{flex-wrap:wrap!important;--flex-wrap:wrap;row-gap:16px!important}
.elementor-element-22c3821a>.elementor-element-538e5122{display:contents!important}
.elementor-element-327ffa03{order:1;flex:1 1 0;min-width:0}
.elementor-element-60c6c49e{order:2;flex:0 1 auto}
.elementor-element-6777312f{order:3;flex:0 0 auto;align-self:flex-end}
.elementor-element-fd26463{order:4;flex:0 0 100%!important;width:100%!important;max-width:100%!important}
.elementor-element-fd26463 .elementor-heading-title,.elementor-element-fd26463 .elementor-heading-title a{display:flex!important;width:100%;box-sizing:border-box}

/* 2b. Hero rotator: [ab_hero_rotator] (functions.php), replaces frame 635ff268 + label 22c3821a */
.ab-rot{position:relative;display:grid;width:100%}
.ab-rot-slide{grid-area:1/1;display:flex;flex-direction:column;align-items:center;visibility:hidden;transition:visibility 0s linear 1.6s}
.ab-rot-slide.is-active{visibility:visible;z-index:1;transition:visibility 0s}
/* frame: slow crossfade; label: quick fade out, then fade in once the old one is gone (text never overlaps) */
.ab-rot-slide .ab-rot-frame{opacity:0;transition:opacity 1.6s ease,transform .4s}
.ab-rot-slide.is-active .ab-rot-frame{opacity:1}
.ab-rot-slide .ab-rot-label{opacity:0;transition:opacity .5s ease}
.ab-rot-slide.is-active .ab-rot-label{opacity:1;transition:opacity .8s ease .6s}
.ab-rot-frame{display:block;width:min(470px,74%);box-shadow:var(--ab-shadow-art);transition:transform .4s}
.ab-rot-frame img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.ab-rot-label{width:100%;margin-top:40px;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;column-gap:20px;row-gap:16px;align-items:end}
.ab-rot-info{min-width:0}
.ab-rot-sig .ab-sig-text{font-family:var(--ab-sig);font-size:40px;line-height:1;white-space:nowrap;color:var(--ab-ink)}
.ab-rot-btn{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;
  font:600 12px/1 var(--ab-sans);letter-spacing:.06em;text-transform:uppercase;border-radius:0;
  background:var(--ab-ink);color:var(--ab-paper)!important;border:1px solid var(--ab-ink);text-decoration:none;transition:background .2s,border-color .2s}
.ab-rot-btn::after{content:"→";transition:transform .25s}
.ab-rot-btn:hover{background:var(--ab-cedar);border-color:var(--ab-cedar);color:#fff!important}
.ab-rot-btn:hover::after{transform:translateX(4px)}
.ab-rot-dots{position:absolute;z-index:2;top:8px;right:0;display:flex;gap:8px}
.ab-rot-dot{width:7px;height:7px;padding:0!important;border-radius:50%!important;border:1px solid var(--ab-ink)!important;background:transparent!important;cursor:pointer;min-height:0!important}
.ab-rot-dot.is-active{background:var(--ab-ink)!important}
@media(max-width:767px){.ab-rot-label{grid-template-columns:1fr;margin-top:24px;row-gap:12px}.ab-rot-sig{display:none}.ab-rot-frame{width:86%}.ab-rot{padding-bottom:22px}.ab-rot-dots{top:auto;bottom:0;right:auto;left:50%;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ab-rot-slide,.ab-rot-slide *{transition:none!important}}

/* 2. Meet a few artists (loop grid 58ad050a): 5 across / 3 tablet / 2 mobile */
.elementor-element-58ad050a .elementor-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;column-gap:24px}
@media(max-width:900px){.elementor-element-58ad050a .elementor-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767px){.elementor-element-58ad050a .elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px}}
.elementor-element-58ad050a .ab-card-title .elementor-heading-title{font-size:clamp(17px,1.5vw,21px)}

@media(max-width:767px){.elementor-element-58ad050a .elementor-element-591177d3{--flex-wrap:wrap!important;flex-wrap:wrap!important}
 .elementor-element-58ad050a .ab-card-by{flex:0 0 auto!important;width:auto!important}}

/* 3. Links to an individual artist/artwork become small buttons.
      Section-header links (.ab-secnum-r) and general links stay underlined.
      .ab-btnlink = new reusable class (add in Elementor), plus current widgets:
      fd26463 hero "View piece", .ab-card--artist "Visit page" (loop 153 widget 31bcbc28) */
.ab-btnlink.elementor-element .elementor-heading-title a,
.ab-card--artist .ab-link.elementor-element .elementor-heading-title a,
.elementor-element-fd26463.ab-link .elementor-heading-title a{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font:600 12px/1 var(--ab-sans)!important;letter-spacing:.06em;text-transform:uppercase;
  min-height:38px;padding:0 16px!important;border:1px solid var(--ab-ink)!important;border-radius:0;
  background:var(--ab-ink);color:var(--ab-paper)!important;text-decoration:none;
  transition:background .2s,color .2s,border-color .2s}
.ab-btnlink.elementor-element .elementor-heading-title a:hover,
.ab-card--artist .ab-link.elementor-element .elementor-heading-title a:hover,
.elementor-element-fd26463.ab-link .elementor-heading-title a:hover{background:var(--ab-cedar);border-color:var(--ab-cedar)!important;color:#fff!important}
/* outline variant (cards) */
.ab-btnlink--line.elementor-element .elementor-heading-title a,
.ab-card--artist .ab-link.elementor-element .elementor-heading-title a{background:transparent;color:var(--ab-ink)!important}
.ab-btnlink--line.elementor-element .elementor-heading-title a:hover,
.ab-card--artist .ab-link.elementor-element .elementor-heading-title a:hover{background:var(--ab-ink);border-color:var(--ab-ink)!important;color:var(--ab-paper)!important}
.ab-btnlink.elementor-element .elementor-heading-title a::after,
.ab-card--artist .ab-link.elementor-element .elementor-heading-title a::after,
.elementor-element-fd26463.ab-link .elementor-heading-title a::after{content:"→";transition:transform .25s}
.ab-btnlink.elementor-element .elementor-heading-title,
.ab-card--artist .ab-link.elementor-element .elementor-heading-title,
.elementor-element-fd26463.ab-link .elementor-heading-title{font-size:12px;line-height:1}
/* spotlight "Visit Theo's page" button (330be964): small size to match */
.elementor-element-330be964 .elementor-button{min-height:42px;padding:0 18px;font-size:12.5px}
/* artwork card hover chip "View piece" (.ab-view, loop 149): same button language */
.ab-view.elementor-element .elementor-heading-title{background:var(--ab-ink)!important;color:var(--ab-paper)!important;letter-spacing:.06em!important;padding:11px 16px!important;border-radius:0}
/* --- Round 3 (2026-10-09) --- */
/* hero rotator: (b) air under the hairline, (a) button lower, (c) dots centred under the frame */
.ab-rot .ab-rot-label{padding-top:22px!important}
.ab-rot .ab-rot-btn{margin-top:24px}
.ab-rot .ab-rot-dots{position:relative;grid-area:1/1;z-index:2;top:auto;right:auto;bottom:auto;left:auto;transform:none;
  justify-self:center;align-self:start;margin-top:calc(min(470px,74%) + 16px)}
@media(max-width:767px){.ab-rot{padding-bottom:0}.ab-rot .ab-rot-dots{margin-top:calc(86% + 12px)}.ab-rot .ab-rot-label{margin-top:36px}}
/* Meet a few artists: [ab_primary_term] Shortcode widget with class ab-eyebrow gets the original eyebrow look
   (heading 72e1633: brass, 600 12px Inter, .2em caps, 28px leading rule, margin 20px 0 6px) */
.ab-eyebrow.elementor-widget-shortcode{margin:20px 0 6px!important;min-width:0;max-width:100%}
.ab-eyebrow.elementor-widget-shortcode .elementor-shortcode{font:600 12px/1.4 var(--ab-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ab-brass);
  display:flex;align-items:center;gap:14px;flex-wrap:nowrap;min-width:0}
.ab-eyebrow.elementor-widget-shortcode .elementor-shortcode::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7;flex:none}
.ab-eyebrow.elementor-widget-shortcode .elementor-shortcode>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ab-on-ink .ab-eyebrow.elementor-widget-shortcode .elementor-shortcode{color:var(--ab-brass-l)}
/* --- Round 3b: toggles, dropdown lists, single select arrow (site-wide) --- */
/* Toggles (FAQ .ab-u-faq, Join .ab-faq, artwork .ab-assure): 30px hairline ink circle, CSS-drawn plus that turns into a minus */
.elementor-widget-toggle .elementor-tab-title{display:flex!important;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:20px}
.elementor-widget-toggle .elementor-toggle-icon{position:relative;flex:none;width:30px!important;height:30px;margin:0!important;border:1px solid rgba(23,20,15,.55)!important;border-radius:50%;background:transparent!important;display:block!important;color:var(--ab-ink)!important;transition:border-color .3s,background .3s,transform .4s}
.elementor-widget-toggle .elementor-toggle-icon>span,.elementor-widget-toggle .elementor-toggle-icon svg{display:none!important}
.elementor-widget-toggle .elementor-toggle-icon::before,.elementor-widget-toggle .elementor-toggle-icon::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;margin:-.5px 0 0 -5.5px;background:var(--ab-ink);transition:transform .35s ease,opacity .35s ease,background .3s}
.elementor-widget-toggle .elementor-toggle-icon::after{transform:rotate(90deg)}
.elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon::after{transform:rotate(180deg);opacity:0}
.elementor-widget-toggle .elementor-tab-title:hover .elementor-toggle-icon,.elementor-widget-toggle .elementor-tab-title:focus-visible .elementor-toggle-icon{border-color:var(--ab-ink)!important;background:var(--ab-bone)!important}
.elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon{border-color:var(--ab-ink)!important;background:transparent!important}
.elementor-widget-toggle .elementor-tab-title:hover .elementor-toggle-icon::before,.elementor-widget-toggle .elementor-tab-title:hover .elementor-toggle-icon::after{background:var(--ab-ink)}
.ab-u-faq .elementor-tab-title:hover .elementor-toggle-icon,.ab-u-faq .elementor-tab-title.elementor-active .elementor-toggle-icon{background:transparent!important}
.ab-u-faq .elementor-tab-title:hover .elementor-toggle-icon{background:var(--ab-bone)!important}
.ab-assure .elementor-toggle-icon{width:24px!important;height:24px}
.ab-assure .elementor-toggle-icon::before,.ab-assure .elementor-toggle-icon::after{width:9px;margin-left:-4.5px}
@media(max-width:767px){.elementor-widget-toggle .elementor-toggle-icon{width:28px!important;height:28px}.elementor-widget-toggle .elementor-tab-title{gap:14px}}

/* Selects: exactly one arrow. Elementor forms keep the custom chevron (wrapper ::before) and lose Elementor's SVG caret */
.elementor-select-wrapper .select-caret-down-wrapper{display:none!important}
.elementor-select-wrapper select{appearance:none!important;-webkit-appearance:none!important;padding-right:28px!important}
.elementor-select-wrapper::before{content:""!important;font-family:inherit!important;position:absolute;pointer-events:none;width:9px;height:9px;border-right:1.5px solid var(--ab-muted);border-bottom:1.5px solid var(--ab-muted);transform:translateY(-70%) rotate(45deg);top:50%!important;right:6px!important;inset-inline-end:6px!important;font-size:0!important}
.ab-form .f select{appearance:none!important;-webkit-appearance:none!important}
/* WooCommerce / Dokan native selects (variations, orderby, checkout, dashboard): native arrow off, one chevron */
.woocommerce select,.woocommerce-page select,.variations select,.dokan-dashboard select,.dokan-form-control:is(select){appearance:none!important;-webkit-appearance:none!important;padding-right:32px!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%235B544A' stroke-width='1.5'/></svg>")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:12px 8px!important}

/* Dropdown LISTS only (closed fields unchanged) */
/* native: honoured by Firefox; Chromium only with the customizable-select opt-in below; Safari/iOS/macOS-Chrome use the OS list */
select option{padding:10px 16px}
@supports (appearance:base-select){
  select:not([multiple]):not([size]){appearance:base-select!important}
  select:not([multiple]):not([size])::picker-icon{display:none}
  select::picker(select){appearance:base-select;border:1px solid var(--ab-linen);border-radius:0;background:#fff;padding:6px 0;box-shadow:0 18px 40px -20px rgba(23,20,15,.35);font:400 15px/1.4 var(--ab-sans);color:var(--ab-ink)}
  select option{padding:10px 16px;font:400 15px/1.4 var(--ab-sans);color:var(--ab-ink);min-width:12em}
  select option::checkmark{display:none}
  select option:hover,select option:focus-visible{background:var(--ab-bone);outline:0}
  select option:checked{background:var(--ab-linen);font-weight:600}
}
/* Select2 / selectWoo (WooCommerce checkout, Dokan) */
.select2-dropdown{border:1px solid var(--ab-linen)!important;border-radius:0!important;box-shadow:0 18px 40px -20px rgba(23,20,15,.35)}
.select2-results__option{padding:10px 16px!important;font:400 15px/1.4 var(--ab-sans);color:var(--ab-ink)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--ab-bone)!important;color:var(--ab-ink)!important}
.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[data-selected=true]{background:var(--ab-linen)!important;color:var(--ab-ink)!important;font-weight:600}
.select2-search--dropdown{padding:10px 12px!important}
/* ==== /HOME TWEAKS v6 ==== */

/* =====================================================================
   Artistry Boutique · utility-pages.css  (append to the END of the child
   theme style.css, after the site-custom-v3 rules)
   Used by: How it works, How to buy, How to hire, For artists, FAQ, Contact.
   Reuses the v2 "Gallery Warm" tokens (--ab-*). Prefix: ab-u-*.
   ===================================================================== */

/* ---- framed hero portrait (4:5) and 3:2 detail photos ---- */
.ab-u-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
.ab-u-32 img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}

/* ---- media plate: the bone/linen wall a framed photo or screenshot hangs on ---- */
.ab-u-plate{position:relative}
.ab-u-plate::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 40% 20%,rgba(255,252,245,.85),rgba(255,252,245,0) 70%);pointer-events:none}
.ab-u-plate>*{position:relative;z-index:1}
.ab-u-plate--bone{background:var(--ab-bone)}
.ab-u-plate--paper{background:var(--ab-paper)}

/* ---- refined browser chrome around site screenshots ---- */
.ab-u-browser{background:#fff;border-radius:10px;overflow:hidden;padding-top:34px!important;position:relative;
 box-shadow:0 0 0 1px rgba(23,20,15,.10),0 2px 4px rgba(23,20,15,.06),0 30px 60px -30px rgba(23,20,15,.40)}
.ab-u-browser::before{content:"";position:absolute;left:0;right:0;top:0;height:34px;background:#F6F2EA;border-bottom:1px solid var(--ab-linen)}
.ab-u-browser::after{content:"";position:absolute;top:13px;left:16px;width:8px;height:8px;border-radius:50%;background:#D9CFBF;box-shadow:14px 0 0 #D9CFBF,28px 0 0 #D9CFBF}
.ab-u-browser img{display:block;width:100%;height:auto}
.ab-u-urlbar{position:absolute!important;top:7px;left:50%;transform:translateX(-50%);z-index:2;width:auto!important}
.ab-u-urlbar .elementor-heading-title{font:500 11.5px/20px var(--ab-sans)!important;letter-spacing:.02em;color:var(--ab-muted);background:#fff;border:1px solid var(--ab-linen);border-radius:999px;padding:0 18px;white-space:nowrap}
@media (max-width:767px){.ab-u-browser{padding-top:26px!important;border-radius:8px}.ab-u-browser::before{height:26px}.ab-u-browser::after{top:9px;left:12px;width:7px;height:7px}.ab-u-urlbar{display:none}}

/* ---- figure caption under media (museum label, small) ---- */
.ab-u-cap p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ab-muted)}
.ab-u-cap b{font:600 18px/1.2 var(--ab-display);color:var(--ab-ink);margin-right:8px}
.ab-u-cap i{font-family:var(--ab-display);font-size:16px;color:var(--ab-brass)}

/* ---- section headline sizes (one size everywhere) ---- */
.ab-u-h2.elementor-element .elementor-heading-title{font-size:clamp(40px,3.9vw,56px);line-height:1.04;letter-spacing:-.01em}
.ab-u-lead p{font-size:18.5px;line-height:1.65;color:var(--ab-muted);max-width:44ch}

/* ---- in-page index rows (anchor links styled like .ab-jobs, compact) ---- */
.ab-u-index .ab-jobs b{font-size:26px}
.ab-u-index .ab-jobs a{padding:16px 4px}
.ab-u-index .ab-jobs small{font-size:14px}

/* ---- key-fact moment ---- */
.ab-u-big.elementor-element .elementor-heading-title{font:500 clamp(120px,13vw,190px)/.86 var(--ab-display);letter-spacing:-.03em;color:var(--ab-ink)}
.ab-u-big.elementor-element .elementor-heading-title em{color:var(--ab-cedar)}
.ab-u-facts{border-top:1px solid var(--ab-ink)!important}
.ab-u-facts>.e-con,.ab-u-facts>.e-con-inner>.e-con{border-bottom:var(--ab-hair)!important;padding:18px 0!important}

/* ---- CTA band buttons on ink ---- */
.ab-on-ink .ab-link.elementor-element .elementor-heading-title a{color:var(--ab-paper)}
.ab-on-ink .ab-link.elementor-element .elementor-heading-title a:hover{color:var(--ab-brass-l)}
.ab-u-cta .elementor-button{background:var(--ab-cedar)!important;color:#fff!important}
.ab-u-cta .elementor-button:hover{background:var(--ab-cedar-d)!important}

/* ---- FAQ: sticky category index + refined toggles ---- */
@media (min-width:901px){.ab-u-sticky{position:sticky!important;top:calc(var(--ab-hd-h) + 40px);align-self:flex-start}}
.ab-u-faqnav ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ab-ink)}
.ab-u-faqnav a{display:grid;grid-template-columns:34px 1fr auto;align-items:baseline;gap:10px;padding:16px 2px;border-bottom:var(--ab-hair);text-decoration:none;color:var(--ab-ink);transition:padding .3s,background .3s}
.ab-u-faqnav a:hover,.ab-u-faqnav a:focus-visible{padding-left:12px;background:linear-gradient(90deg,var(--ab-bone),rgba(241,235,224,0))}
.ab-u-faqnav .i{font:italic 400 20px var(--ab-display);color:var(--ab-brass)}
.ab-u-faqnav b{font:600 24px/1.1 var(--ab-display)}
.ab-u-faqnav small{font-size:13px;color:var(--ab-muted);font-variant-numeric:tabular-nums}
.ab-u-faqgroup{scroll-margin-top:150px}
.ab-faq.ab-u-faq{border-top:1px solid var(--ab-ink)}
.ab-u-faq .elementor-tab-title{display:flex!important;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:24px;padding:24px 0!important;font:500 25px/1.25 var(--ab-display)!important;cursor:pointer}
.ab-u-faq .elementor-toggle-icon{flex:none;width:36px!important;height:36px;border:1px solid var(--ab-linen);border-radius:50%;display:grid!important;place-items:center;transition:background .3s,border-color .3s}
.ab-u-faq .elementor-tab-title:hover .elementor-toggle-icon,.ab-u-faq .elementor-tab-title.elementor-active .elementor-toggle-icon{background:var(--ab-ink);border-color:var(--ab-ink)}
.ab-u-faq .elementor-tab-title:hover .elementor-toggle-icon svg,.ab-u-faq .elementor-tab-title.elementor-active .elementor-toggle-icon svg{fill:var(--ab-paper)!important}
.ab-u-faq .elementor-tab-title.elementor-active a{color:var(--ab-cedar)!important}
.ab-u-faq .elementor-tab-content{max-width:62ch;padding:0 0 28px!important;font-size:16.5px;line-height:1.7}
.ab-u-faq .elementor-tab-content a{color:var(--ab-cedar)}

/* ---- Contact: premium form on a white card ---- */
.ab-u-formcard{background:#fff;border:1px solid var(--ab-linen)!important;box-shadow:0 40px 80px -48px rgba(23,20,15,.45)}
.ab-u-form .elementor-field-group{margin-bottom:22px!important}
.ab-u-form .elementor-field-label{font:600 11.5px/1.2 var(--ab-sans)!important;letter-spacing:.2em;text-transform:uppercase;color:var(--ab-brass)!important;margin-bottom:6px!important}
.ab-u-form .elementor-field-textual,.ab-u-form .elementor-select-wrapper select{font:500 22px/1.3 var(--ab-display)!important;color:var(--ab-ink)!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--ab-linen)!important;border-radius:0!important;padding:6px 0 10px!important;box-shadow:none!important;min-height:0}
.ab-u-form textarea.elementor-field-textual{min-height:150px;resize:vertical}
.ab-u-form .elementor-field-textual::placeholder{color:#9b9284;font-weight:500}
.ab-u-form .elementor-field-textual:focus,.ab-u-form select:focus{border-bottom-color:var(--ab-cedar)!important;outline:0}
.ab-u-form .e-form__buttons .elementor-button,.ab-u-form button[type=submit]{width:100%;min-height:62px;background:var(--ab-ink)!important;color:var(--ab-paper)!important;font:600 14px/1 var(--ab-sans)!important;letter-spacing:.14em;text-transform:uppercase;border-radius:0!important;transition:background .2s}
.ab-u-form .e-form__buttons .elementor-button:hover,.ab-u-form button[type=submit]:hover{background:var(--ab-cedar)!important}

/* ---- mobile rhythm ---- */
@media (max-width:767px){.ab-u-h2.elementor-element .elementor-heading-title{font-size:36px}.ab-u-faq .elementor-tab-title{font-size:21px!important;padding:18px 0!important}}

/* ---- fixes from preview review ---- */
.ab-u-big.elementor-element .elementor-heading-title{font-variant-numeric:lining-nums;font-feature-settings:"lnum"}
.ab-faq.ab-u-faq{border-top:0}
.ab-dash-list li>span{flex:1}
.ab-u-form .elementor-select-wrapper::before{content:""!important;font-family:inherit!important;width:9px;height:9px;border-right:1.5px solid var(--ab-muted);border-bottom:1.5px solid var(--ab-muted);transform:translateY(-70%) rotate(45deg);top:50%!important;right:4px!important;inset-inline-end:4px!important}

/* ---- v3: key fact with framed square photo ---- */
.ab-u-square img{aspect-ratio:1/1;object-fit:cover;width:100%;height:auto}
.ab-u-big.elementor-element .elementor-heading-title{font-size:clamp(96px,9vw,136px)}

/* ---- v3: richer dark CTA band ---- */
.ab-u-band{overflow:hidden}
.ab-u-ctah.elementor-element .elementor-heading-title{color:var(--ab-paper);font-size:clamp(40px,4vw,58px);line-height:1.04}
.ab-u-band .ab-lead p{color:var(--ab-on-ink);max-width:44ch}
.ab-u-steps-ink ol{margin:28px 0 36px;border-top:1px solid rgba(201,168,106,.45)}
.ab-u-steps-ink li{border-bottom:1px solid var(--ab-rule-ink)!important}
.ab-u-steps-ink li::before{color:var(--ab-brass-l)!important}
.ab-u-steps-ink li b{color:var(--ab-paper);font:600 22px/1.2 var(--ab-display)}
.ab-u-steps-ink li span{color:var(--ab-on-ink-2)}
.ab-u-trustline p{margin:26px 0 0;padding-top:18px;border-top:1px solid var(--ab-rule-ink);font-size:13px;letter-spacing:.06em;color:var(--ab-on-ink-2)}
.ab-u-collage{position:relative;min-height:600px}
.ab-u-collage::before{content:"";position:absolute;top:6%;right:4%;bottom:4%;left:14%;border:1px solid rgba(201,168,106,.5);pointer-events:none}
.ab-u-collage .ab-frame{position:absolute!important;box-shadow:0 40px 60px -30px rgba(0,0,0,.7)}
.ab-u-collage .ab-u-c1{left:0;top:0;width:52%!important;z-index:1}
.ab-u-collage .ab-u-c2{right:0;bottom:8%;width:58%!important;z-index:2}
.ab-u-c-label{position:absolute!important;left:16%;bottom:0;width:auto!important}
.ab-u-c-label .elementor-heading-title{font:600 11px/1 var(--ab-sans)!important;letter-spacing:.2em;text-transform:uppercase;color:var(--ab-brass-l)!important;background:var(--ab-ink);padding:0 10px 0 0}
@media (max-width:900px){.ab-u-collage{min-height:460px}}
@media (max-width:767px){.ab-u-collage{min-height:360px}.ab-u-collage::before{left:8%}}

/* ---- v3: More help image cards ---- */
.ab-u-card .elementor-widget-image{margin-bottom:22px}
.ab-u-cardimg img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;transition:transform .5s,box-shadow .3s;box-shadow:var(--ab-shadow-art)}
.ab-u-cardimg a{display:block;overflow:hidden}
.ab-u-card:hover .ab-u-cardimg img{transform:scale(1.03)}
.ab-u-cardnum.elementor-element .elementor-heading-title{font-size:22px;line-height:1}
.ab-u-cardnum{margin-bottom:8px!important}
.ab-u-cardtitle.elementor-element .elementor-heading-title{font:500 32px/1.1 var(--ab-display)}
.ab-u-cardtitle.elementor-element .elementor-heading-title a{color:var(--ab-ink);text-decoration:none}
.ab-u-cardtitle.elementor-element .elementor-heading-title a::after{content:" \2192";font-size:.7em;color:var(--ab-brass);display:inline-block;transition:transform .25s}
.ab-u-card:hover .ab-u-cardtitle .elementor-heading-title a{color:var(--ab-cedar)}
.ab-u-card:hover .ab-u-cardtitle .elementor-heading-title a::after{transform:translateX(4px)}
.ab-u-card{border-top:1px solid var(--ab-linen);padding-top:0}

/* ---- v4: More help (bone band between the dark CTA and the dark footer) ---- */
.ab-u-more{position:relative}
.ab-u-more::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:64px;height:3px;background:var(--ab-brass-l)}
.ab-u-cards{border-top:0}
.ab-u-card{position:relative}
.ab-u-cardframe{border:6px solid var(--ab-ink)!important;background:#FBF9F4;padding:7%!important;box-shadow:0 1px 1px rgba(23,20,15,.10),0 18px 36px -20px rgba(23,20,15,.40);transition:transform .35s ease,box-shadow .35s ease}
.ab-u-cardframe img{box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.ab-u-cardframe a{display:block}
.ab-u-card:hover .ab-u-cardframe,.ab-u-card:focus-within .ab-u-cardframe{transform:translateY(-6px);box-shadow:0 1px 1px rgba(23,20,15,.10),0 34px 50px -24px rgba(23,20,15,.50)}
.ab-u-cardrow{display:grid;grid-template-columns:34px 1fr 44px;align-items:center;gap:14px;margin-top:26px;padding:18px 0;border-top:1px solid var(--ab-ink);border-bottom:var(--ab-hair);text-decoration:none;color:var(--ab-ink)}
.ab-u-cardrow .i{font:italic 400 22px var(--ab-display);color:var(--ab-brass)}
.ab-u-cardrow b{display:block;font:600 28px/1.05 var(--ab-display);letter-spacing:-.01em}
.ab-u-cardrow small{display:block;font-size:14.5px;line-height:1.45;color:var(--ab-muted);margin-top:4px}
.ab-u-cardrow .ar{width:44px;height:44px;border:1px solid var(--ab-linen);border-radius:50%;display:grid;place-items:center;background:var(--ab-paper);transition:background .3s,color .3s,border-color .3s}
.ab-u-card:hover .ab-u-cardrow b{color:var(--ab-cedar)}
.ab-u-card:hover .ab-u-cardrow .ar,.ab-u-cardrow:focus-visible .ar{background:var(--ab-ink);color:var(--ab-paper);border-color:var(--ab-ink)}
.ab-u-morefoot{border-top:var(--ab-hair)!important;padding-top:22px!important}
.ab-u-morefoot .ab-fine p{margin:0}
@media (max-width:900px){.ab-u-cardrow b{font-size:25px}}
@media (max-width:767px){.ab-u-cardrow{grid-template-columns:28px 1fr 40px;gap:10px}.ab-u-cardrow .ar{width:40px;height:40px}.ab-u-cardframe{border-width:5px!important}}

/* ==== 1.1.3 (2026-10-10): legible typed text in every text field ====
   Cause: Elementor Site Settings > Form Fields sets typed text to #E4DBCC (linen) Inter 16/400 via
   ".elementor-kit-6 input:not([type=button]):not([type=submit])" (specificity 0,3,1), which beats the
   filter-bar / ab-form rules, so typed text is near-invisible on the paper background. */
html body.elementor-kit-6 :is(input[type="search"],input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="password"],input:not([type]),textarea,.elementor-field-textual){color:#17140F!important;-webkit-text-fill-color:#17140F;font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif!important;font-weight:400!important;font-size:max(16px,1rem)!important;caret-color:#9B2C1F;transition-property:border-color,box-shadow,background-color}
html body.elementor-kit-6 :is(input,textarea,.elementor-field-textual)::placeholder{color:#7a7166!important;-webkit-text-fill-color:#7a7166;opacity:1!important;font-family:"Inter",system-ui,sans-serif;font-weight:400}
html body.elementor-kit-6 .abf-search input{font-size:17px!important;line-height:1.4!important}
html body.elementor-kit-6 .ab-form .f input{font-size:17px!important;line-height:1.4!important}
html body.elementor-kit-6 .ab-u-form .elementor-field-textual{font-size:17px!important}
/* Text fields that genuinely sit on the dark ink background keep light text. */
html body.elementor-kit-6 .ab-on-ink :is(input[type="search"],input[type="text"],input[type="email"],textarea):not(.ab-form *):not(.abf *){color:#FAF7F1!important;-webkit-text-fill-color:#FAF7F1}
html body.elementor-kit-6 .ab-on-ink :is(input,textarea):not(.ab-form *):not(.abf *)::placeholder{color:#A9A091!important;-webkit-text-fill-color:#A9A091}

/* ==== 1.3.0-search: Hire an artist search v2 + service artist strip/map (plugin hire-search.css carries the layout) ==== */
html body.elementor-kit-6 .ab-hire :is(select,input[type="text"]){color:#17140F!important;-webkit-text-fill-color:#17140F;font-family:"Inter",system-ui,sans-serif!important;font-size:17px!important;background-color:transparent!important;border:0!important}
html body.elementor-kit-6 .ab-hire input::placeholder{color:#7a7166!important;-webkit-text-fill-color:#7a7166}
html body.elementor-kit-6 .ab-hire .ab-hire__go{background:#17140F!important;color:#FAF7F1!important;border-radius:0!important}
html body.elementor-kit-6 .ab-hire .ab-hire__go:hover{background:#9B2C1F!important}
html body.elementor-kit-6 .ab-astrip a.ab-astrip__btn{color:#FAF7F1!important}
html body.elementor-kit-6 .ab-astrip a.ab-astrip__btn--line{color:#17140F!important}
html body.elementor-kit-6 .ab-astrip a.ab-astrip__btn--line:hover{color:#FAF7F1!important}
/* ==== end 1.3.0-search ==== */

/* ==== 2026-10-10 overnight polish (CSS only) — see polish/FINDINGS.md ==== */
/* P1  Help pages (tablet 768-1024): the gallery-label row under the hero frame pushed the page ~250px wide (horizontal scroll). Let its columns shrink and wrap. */
@media (max-width:1024px){
  html body.elementor-kit-6 .ab-hero-art .ab-label{flex-wrap:wrap!important;min-width:0;max-width:100%}
  html body.elementor-kit-6 .ab-hero-art .ab-label>.elementor-element{min-width:0!important;width:auto!important;flex:1 1 160px!important;max-width:100%}
  html body.elementor-kit-6 .ab-hero-art{overflow:hidden}
}
/* P2  Hire an artist hero (phone): inner box was 662px wide, cutting off the headline, chips and search form. */
@media (max-width:767px){
  html body.elementor-kit-6 .e-con.ab-hire>.e-con-inner,
  html body.elementor-kit-6 .e-con.ab-hire>.e-con-inner>*{min-width:0!important;max-width:100%!important}
  html body.elementor-kit-6 .ab-chips{flex-wrap:wrap!important;max-width:100%}
  html body.elementor-kit-6 form.ab-hire,html body.elementor-kit-6 form.ab-hire select,html body.elementor-kit-6 form.ab-hire input{max-width:100%;min-width:0!important;box-sizing:border-box}
  /* P3  Header Menu button (phone) ran 18px past its column to the screen edge. */
  html body.elementor-kit-6 .ab-burger{box-sizing:border-box;max-width:100%;padding-left:14px!important;padding-right:14px!important}
}
/* P4  Artist cards: city and province render as "Victoria,British Columbia" (the trailing space collapses between widgets). Keep them on one line with a proper space. */
html body.elementor-kit-6 .ab-card--artist .e-con:has(>.ab-card-by){flex-direction:row!important;flex-wrap:wrap!important;column-gap:0!important;row-gap:0!important;align-items:baseline}
html body.elementor-kit-6 .ab-card--artist .e-con:has(>.ab-card-by)>.elementor-element{width:auto!important}
html body.elementor-kit-6 .ab-card--artist .ab-card-by{margin-right:.3em!important}
/* P5  404 page: theme default text sat flush left with no heading. Put it on the 1344 grid with a proper headline. */
body.error404 main.site-main,body.search main.site-main{max-width:1344px;margin:0 auto!important;padding:96px 0 120px!important;box-sizing:content-box}
@media (max-width:1440px){body.error404 main.site-main,body.search main.site-main{padding-left:48px!important;padding-right:48px!important;box-sizing:border-box;max-width:1440px}}
@media (max-width:767px){body.error404 main.site-main,body.search main.site-main{padding:56px 20px 72px!important}}
body.error404 main.site-main::before{content:"Page not found";display:block;font:500 clamp(40px,6vw,72px)/1.05 "Cormorant Garamond",Georgia,serif;color:#17140F;margin-bottom:20px}
body.error404 main.site-main .page-content p{font:400 18px/1.6 "Inter",system-ui,sans-serif;color:#5b5348;max-width:560px}
/* P6  Search results: unstyled list with an 800px image per result. Make it a tidy card grid on the 1344 grid. */
body.search main.site-main::before{content:"Search results";display:block;font:500 clamp(40px,6vw,64px)/1.05 "Cormorant Garamond",Georgia,serif;color:#17140F;margin-bottom:40px}
body.search main.site-main .page-content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
@media (max-width:1024px){body.search main.site-main .page-content{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){body.search main.site-main .page-content{grid-template-columns:1fr}}
body.search article.post{display:flex;flex-direction:column;border-top:1px solid #17140F;padding-top:14px;margin:0!important}
body.search article.post .entry-title{order:2;font:500 24px/1.15 "Cormorant Garamond",Georgia,serif;margin:14px 0 8px}
body.search article.post .entry-title a{color:#17140F;text-decoration:none}
body.search article.post>a{order:1;display:block}
body.search article.post img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
body.search article.post p{order:3;font:400 14px/1.55 "Inter",system-ui,sans-serif;color:#5b5348;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}
body.search .pagination,body.search nav.navigation{grid-column:1/-1}
/* ==== end 2026-10-10 overnight polish ==== */

/* ==== hire-search-fix.css ==== */
/* Hire an artist hero search fix (page 53). Child theme. Gallery Warm.
   Root cause: the plugin's hire-search.css styles ".ab-hire" (meant for the <form>),
   but ".ab-hire" is also the site's hero container class. On page 53 the hero
   container 1091fde0 became a 5-column grid, so its inner content was squeezed
   into the first ~366px column. Undo that on containers, then style the form. */

/* 1. Undo the form rules on the hero container */
.e-con.ab-hire{display:flex!important;grid-template-columns:none!important;max-width:none!important;margin:0!important;border:0!important;align-items:stretch!important}

/* 2. Centred hero, so the right side isn't left empty */
.elementor-element-1091fde0>.e-con-inner{align-items:center;text-align:center}
.elementor-element-1091fde0 .ab-eyebrow .elementor-heading-title{justify-content:center}
.elementor-element-1091fde0 h1.elementor-heading-title{max-width:16ch;margin:0 auto;font-size:clamp(40px,4.6vw,68px);line-height:1.04}
.elementor-element-1091fde0 .ab-lead{max-width:600px;align-self:center;margin-top:22px;text-align:center!important}
.elementor-element-1091fde0 .ab-lead p{text-align:center!important}
.elementor-element-1091fde0 .ab-lead p{font-size:18px;line-height:1.55}
.elementor-element-1091fde0 .elementor-widget-shortcode{order:5;width:100%;max-width:1344px;margin-top:44px}
.elementor-element-1091fde0 .elementor-widget-html:has(.ab-chips){order:6;width:100%;margin-top:20px}

/* 3. The search bar. The child theme's hero rules (.ab-hire{overflow:hidden} and the
   gold ::before frame) also hit the form: drop them so the frame doesn't cross the
   bar and the city suggestions aren't clipped. */
html body.elementor-kit-6 form.ab-hire{overflow:visible!important;position:relative;z-index:3}
html body.elementor-kit-6 form.ab-hire::before,html body.elementor-kit-6 form.ab-hire::after{content:none!important;display:none!important}
html body.elementor-kit-6 form.ab-hire{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.5fr) minmax(0,.9fr) auto;align-items:stretch;gap:0;width:100%;max-width:1344px;margin:0 auto;padding:0;
 background:#FAF7F1;border:1px solid #FAF7F1;box-shadow:0 30px 60px -30px rgba(0,0,0,.6),0 0 0 6px rgba(201,168,106,.14);text-align:left;box-sizing:border-box}
html body.elementor-kit-6 form.ab-hire .ab-hire__f{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px 26px 14px;border:0;border-right:1px solid #E4DBCC;margin:0}
html body.elementor-kit-6 form.ab-hire .ab-hire__f label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 11px/1.2 "Inter",system-ui,sans-serif!important;letter-spacing:.2em;text-transform:uppercase;color:#7A5C24!important;margin:0 0 8px;padding:0}
html body.elementor-kit-6 form.ab-hire :is(select,input[type=text]){display:block;width:100%;min-width:0;height:auto;min-height:32px;padding:4px 0!important;margin:0;font:400 17px/1.4 "Inter",system-ui,sans-serif!important;color:#17140F!important;-webkit-text-fill-color:#17140F!important;background-color:transparent!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
html body.elementor-kit-6 form.ab-hire select{padding-right:22px!important}
html body.elementor-kit-6 form.ab-hire .ab-combo{position:relative;width:100%}
html body.elementor-kit-6 form.ab-hire .ab-combo__list{left:-26px;right:-26px;top:calc(100% + 15px);text-align:left}
html body.elementor-kit-6 form.ab-hire .ab-hire__f:focus-within{box-shadow:inset 0 -3px 0 #9B2C1F}
html body.elementor-kit-6 form.ab-hire .ab-hire__go{align-self:stretch;display:flex;align-items:center;justify-content:center;gap:12px;min-height:84px;margin:0;padding:0 40px!important;white-space:nowrap;
 font:600 13px/1 "Inter",system-ui,sans-serif!important;letter-spacing:.16em;text-transform:uppercase;background:#9B2C1F!important;color:#FAF7F1!important;border:0!important;border-radius:0!important;box-shadow:none!important;transition:background .2s}
html body.elementor-kit-6 form.ab-hire .ab-hire__go::after{content:"";width:18px;height:1px;background:currentColor;box-shadow:0 0 0 0 currentColor;transition:width .2s}
html body.elementor-kit-6 form.ab-hire .ab-hire__go:is(:hover,:focus-visible){background:#7E2318!important;color:#fff!important}
html body.elementor-kit-6 form.ab-hire .ab-hire__go:hover::after{width:26px}
html body.elementor-kit-6 form.ab-hire .ab-hire__go:focus-visible{outline:2px solid #C9A86A;outline-offset:3px}
.elementor-element-1091fde0 .ab-hire__sum{color:rgba(250,247,241,.75);text-align:center;margin-top:18px}
.elementor-element-1091fde0 .ab-hire__sum a{color:#C9A86A}

/* 4. Popular chips: one line, centred, under the bar */
.elementor-element-1091fde0 .ab-chips{justify-content:safe center;align-items:center;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none}
.elementor-element-1091fde0 .ab-chips::-webkit-scrollbar{display:none}
.elementor-element-1091fde0 .ab-chips>span{flex:0 0 auto;font:600 11px/1 "Inter",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#C9A86A;margin-right:6px}
.elementor-element-1091fde0 .ab-chips a{flex:0 0 auto;font-size:13.5px;padding:8px 15px}

/* 5. Tablet: 2x2 + full-width button */
@media (max-width:1024px){
 html body.elementor-kit-6 form.ab-hire{grid-template-columns:1fr 1fr}
 html body.elementor-kit-6 form.ab-hire .ab-hire__f{border-bottom:1px solid #E4DBCC;order:0}
 html body.elementor-kit-6 form.ab-hire .ab-hire__f:nth-of-type(2n){border-right:0}
 html body.elementor-kit-6 form.ab-hire .ab-hire__f--city{grid-column:auto}
 html body.elementor-kit-6 form.ab-hire .ab-hire__go{grid-column:1/-1;min-height:60px}
}
/* 6. Mobile: stacked */
@media (max-width:600px){
 html body.elementor-kit-6 form.ab-hire{grid-template-columns:1fr}
 html body.elementor-kit-6 form.ab-hire .ab-hire__f{border-right:0;padding:14px 18px 10px}
 html body.elementor-kit-6 form.ab-hire .ab-combo__list{left:-18px;right:-18px}
 .elementor-element-1091fde0 .elementor-widget-shortcode{margin-top:32px}
 .elementor-element-1091fde0 .ab-lead p{font-size:16px}
}

html body.elementor-kit-6 form.ab-hire input::placeholder{color:#7a7166!important;-webkit-text-fill-color:#7a7166!important}
html body.elementor-kit-6 form.ab-hire select:disabled{opacity:.5}


/* ==== polish-account (header 145 hooks) ==== */
/* ==== 1.3.1-account · header account menu (merge into child theme style.css) ====
   Plugin assets/account-menu.css carries the menu + banner styles; these are only the
   header-template hooks for Elementor header 145. */
/* Right-hand header group: shortcode sits where Join / Log in were, cart after it. */
.ab-acct-sc.elementor-widget-shortcode{width:auto;flex:none}
.ab-acct-sc .elementor-shortcode{display:flex;align-items:center}
/* The dropdown hangs below the main bar: never clip it. */
.ab-mainbar,.ab-mainbar .e-con,.ab-mainbar .e-con-inner{overflow:visible!important}
.elementor-location-header .ab-am--dropdown .ab-am-panel{top:calc(100% + ((var(--ab-hd-h) - 42px) / 2))}
/* Mobile panel: same rhythm as the panel's other rows. */
.ab-mpanel-acct.elementor-widget-shortcode{width:100%}
.ab-mpanel-acct .ab-am--panel .ab-am-list a{font-size:26px}

/* ==== home-hire-fix.css ==== */
/* ===== Home "06 Hire an artist" (container 733c985a) — child-theme block =====
   Assumes Step 2 in HOME-HIRE-STEPS.md (shortcode 1cf83c9 moved out of 6f3bbc40
   to be a direct child of 733c985a, between 6f3bbc40 and 7d3be98d).
   Everything is scoped to .elementor-element-733c985a except block C. */

/* A. Search bar: full width (1344) on its own row, cream bar on dark */
.elementor-element-733c985a > .elementor-element-1cf83c9{width:100%;max-width:1344px;margin:8px 0 0;align-self:stretch}
.elementor-element-733c985a .elementor-element-1cf83c9 form.ab-hire{
  width:100%;max-width:none;margin:0;border:0;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.elementor-element-733c985a .elementor-element-1cf83c9 .ab-hire__go{background:var(--ab-cedar,#9B2C1F)!important}
.elementor-element-733c985a .elementor-element-1cf83c9 .ab-hire__go:hover,
.elementor-element-733c985a .elementor-element-1cf83c9 .ab-hire__go:focus-visible{background:var(--ab-cedar-d,#7E2318)!important}
.elementor-element-733c985a .elementor-element-1cf83c9 .ab-hire__sum{color:var(--ab-on-ink,#D8D0C2)}
.elementor-element-733c985a .elementor-element-1cf83c9 .ab-hire__sum a{color:var(--ab-paper,#FAF7F1)}
/* never show the mode switch here (already absent; belt and braces) */
.elementor-element-733c985a .ab-hire-mode,.elementor-element-733c985a .ab-mode-switch{display:none!important}

/* B. Popular chips on one line (scroll sideways on phones instead of wrapping) */
.elementor-element-733c985a .elementor-element-7d3be98d{margin-top:4px}
.elementor-element-733c985a .elementor-element-7d3be98d .ab-chips{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;white-space:nowrap;scrollbar-width:none;gap:10px;-webkit-overflow-scrolling:touch}
.elementor-element-733c985a .elementor-element-7d3be98d .ab-chips::-webkit-scrollbar{display:none}
.elementor-element-733c985a .elementor-element-7d3be98d .ab-chips > *{flex:0 0 auto}

/* C. Service-card byline (loop item 156, container 6c912018). GLOBAL on purpose:
   the same loop card is used on /hire-an-artist/, so fix it everywhere.
   Flex items trim their trailing space ("Calgary, " -> "Calgary,"), so add a real gap.
   Preferred permanent fix is the Elementor setting in Step 4; this is the CSS fallback. */
.elementor-element-6c912018{column-gap:.3em;flex-wrap:wrap}

/* ==== hire-hero-spacing.css ==== */
/* === Hire an artist hero: spacing + centring polish (page 53, hero 1091fde0) === */
.elementor-element-1091fde0 .elementor-element-2e23c23,
.elementor-element-1091fde0 .elementor-element-3c1e6e37,
.elementor-element-1091fde0 .elementor-element-70469789{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.elementor-element-1091fde0 .elementor-element-2e23c23{margin-bottom:16px!important}
.elementor-element-1091fde0 .elementor-element-3c1e6e37{margin-bottom:20px!important}
.elementor-element-1091fde0 .elementor-element-70469789{margin-bottom:0!important}
.elementor-element-1091fde0 .elementor-element-70469789 p{margin:0 auto!important;text-align:center!important;max-width:600px}
.elementor-element-1091fde0 .elementor-element-62dcb1b{margin-top:32px!important}
/* form mode: ~20px extra air around the bar */
.elementor-element-1091fde0 .ab-mode{margin-bottom:38px!important}
.elementor-element-1091fde0 .elementor-element-5fd6cb78{margin-top:40px!important;margin-bottom:20px!important}
/* map mode: no dead space under the toggle */
.elementor-element-1091fde0 .ab-mode:has(~ .ab-mapv-hidden),
.elementor-element-1091fde0:has(.ab-hire.ab-mapv-hidden) .ab-mode{margin-bottom:0!important}
.elementor-element-1091fde0:has(.ab-hire.ab-mapv-hidden) .elementor-element-5fd6cb78{display:none!important}


/* =====================================================================
   Artistry Boutique · policy-pages.css (append to END of child theme
   style.css, AFTER utility-pages.css). About, Shipping & returns, Terms,
   Privacy, Artist guidelines. Prefix: ab-p-*. Needs utility-pages.css.
   ===================================================================== */
/* summary cards */
.ab-p-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ab-p-cards li{background:var(--ab-paper);border:1px solid var(--ab-linen);padding:32px 28px 30px;display:flex;flex-direction:column;gap:10px;
 box-shadow:0 1px 2px rgba(23,20,15,.04),0 24px 48px -32px rgba(23,20,15,.35);transition:transform .25s,box-shadow .25s}
.ab-p-cards li:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(23,20,15,.05),0 30px 60px -30px rgba(23,20,15,.45)}
.ab-p-cards svg{width:34px;height:34px;color:var(--ab-brass);margin-bottom:8px}
.ab-p-cards b{font:600 25px/1.15 var(--ab-display);color:var(--ab-ink)}
.ab-p-cards span{font:400 15px/1.55 var(--ab-sans);color:var(--ab-muted)}
@media (max-width:1024px){.ab-p-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ab-p-cards{grid-template-columns:1fr;gap:14px}.ab-p-cards li{padding:24px 22px}}
/* sticky contents */
.ab-p-toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ab-ink)}
.ab-p-toc a{display:flex;gap:14px;align-items:baseline;padding:11px 2px;border-bottom:1px solid var(--ab-linen);font:500 14.5px/1.35 var(--ab-sans);color:var(--ab-ink);text-decoration:none;transition:color .2s,padding .2s}
.ab-p-toc a .i{font:italic 500 15px/1 var(--ab-display);color:var(--ab-brass);min-width:22px}
.ab-p-toc a:hover{color:var(--ab-cedar);padding-left:8px}
@media (max-width:900px){.ab-p-side{display:none!important}}
/* demo notice */
.ab-p-demo{display:flex;gap:12px;align-items:baseline;background:#F6F0E4;border-left:2px solid var(--ab-brass);padding:12px 16px;margin:0 0 40px;font:400 13.5px/1.5 var(--ab-sans);color:var(--ab-muted)}
.ab-p-demo span{font:600 10.5px/1 var(--ab-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ab-brass);flex:none}
.ab-p-meta p{font:400 13.5px/1.5 var(--ab-sans);color:var(--ab-muted);margin:0 0 8px}
/* sections */
.ab-p-sec{padding:44px 0 48px!important;border-top:1px solid var(--ab-linen);scroll-margin-top:calc(var(--ab-hd-h,80px) + 24px)}
.ab-p-body>.ab-p-sec:first-of-type,.ab-p-demo+.ab-p-sec{border-top:0}
.ab-p-n .elementor-heading-title{font:italic 500 18px/1 var(--ab-display);color:var(--ab-brass);margin-bottom:10px}
.ab-p-h2 .elementor-heading-title{font:500 clamp(30px,2.6vw,40px)/1.1 var(--ab-display);letter-spacing:-.005em;color:var(--ab-ink);margin-bottom:18px}
.ab-p-prose p,.ab-p-prose li{font:400 17px/1.75 var(--ab-sans);color:#3B352D;max-width:68ch}
.ab-p-prose p{margin:0 0 14px}
.ab-p-prose ul{margin:4px 0 14px;padding:0;list-style:none}
.ab-p-prose li{position:relative;padding-left:26px;margin-bottom:6px}
.ab-p-prose li::before{content:"";position:absolute;left:2px;top:.85em;width:12px;height:1px;background:var(--ab-brass)}
.ab-p-prose a{color:var(--ab-cedar);text-underline-offset:3px}
.ab-p-prose b{color:var(--ab-ink);font-weight:600}
/* key-point callout */
.ab-p-call{margin-top:14px;background:var(--ab-bone);padding:22px 26px;border-left:3px solid var(--ab-ink);max-width:68ch}
.ab-p-call b{display:block;font:600 22px/1.2 var(--ab-display);color:var(--ab-ink);margin-bottom:6px}
.ab-p-call p{margin:0;font:400 15.5px/1.6 var(--ab-sans);color:var(--ab-muted)}
@media (max-width:767px){.ab-p-sec{padding:32px 0 34px!important}.ab-p-prose p,.ab-p-prose li{font-size:16px}.ab-p-call{padding:18px 20px}}
