:root{
    --leto-blue:#1457ff;
    --leto-black:#080808;
    --leto-text:#111;
    --leto-muted:#666;
    --leto-line:#e8e8e8;
    --leto-soft:#f7f7f7;
    --leto-white:#fff;
    --leto-max:1260px;
    --leto-reading:820px;
    --leto-radius:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--leto-text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
body.leto-menu-open{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.leto-container{width:min(calc(100% - 48px),var(--leto-max));margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.leto-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--leto-line)}
.leto-header__inner{min-height:80px;display:grid;grid-template-columns:135px 1fr auto;align-items:center;gap:24px}
.leto-brand{display:inline-flex;align-items:center;justify-content:flex-start;min-width:110px}
.leto-brand .custom-logo-link{display:inline-flex}
.leto-brand .custom-logo{display:block;max-width:118px;height:auto}
.leto-brand__main{display:block;font-family:Georgia,'Times New Roman',serif;font-size:29px;line-height:1;letter-spacing:.22em;padding-left:.22em}
.leto-brand__sub{display:block;margin-top:6px;font-size:7px;line-height:1;letter-spacing:.52em;padding-left:.52em}
.leto-nav{display:flex;justify-content:center}
.leto-nav__list,.leto-nav ul{display:flex;align-items:center;justify-content:center;gap:clamp(16px,1.6vw,28px);margin:0;padding:0;list-style:none}
.leto-nav a{display:inline-block;padding:30px 0 26px;border-bottom:3px solid transparent;font-size:11px;font-weight:900;letter-spacing:.01em;white-space:nowrap}
.leto-nav .current-menu-item>a,.leto-nav a:hover{color:var(--leto-blue);border-bottom-color:var(--leto-blue)}
.leto-header__actions{display:flex;align-items:center;gap:14px}
.leto-cart{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--leto-line);border-radius:50%}
.leto-cart__glyph{font-size:17px}
.leto-cart__count{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#000;color:#fff;font-size:9px;font-weight:900}
.leto-menu-toggle{display:none;width:42px;height:42px;padding:8px;border:0;background:transparent}
.leto-menu-toggle>span{display:block;height:2px;margin:5px 0;background:#000}

.leto-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    min-height:44px!important;padding:0 22px!important;border:1px solid transparent!important;
    border-radius:var(--leto-radius)!important;font-size:11px!important;line-height:1!important;
    font-weight:900!important;letter-spacing:.015em!important;text-transform:uppercase!important;
    box-shadow:none!important;cursor:pointer;transition:.2s ease
}
.leto-btn--primary,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.wc-block-components-button:not(.is-link){
    background:var(--leto-blue)!important;color:#fff!important
}
.leto-btn--primary:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.wc-block-components-button:not(.is-link):hover{background:#000!important;color:#fff!important}
.leto-btn--outline{background:#fff!important;color:#111!important;border-color:#111!important}
.leto-btn--outline:hover{background:#111!important;color:#fff!important}
.leto-btn--light{background:#fff!important;color:#111!important}
.leto-btn--light:hover{background:var(--leto-blue)!important;color:#fff!important}
.leto-btn--full{width:100%}
.leto-actions{display:flex;gap:12px;flex-wrap:wrap}
.leto-text-link{font-size:11px;font-weight:900;color:var(--leto-blue);letter-spacing:.01em}
.leto-text-link--light{color:#fff}

.leto-eyebrow,.leto-kicker{margin:0 0 12px;color:var(--leto-blue);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.leto-lead{max-width:580px;font-size:18px;line-height:1.55;color:#2b2b2b}
.leto-center{text-align:center}
.leto-heading{max-width:880px;margin:0 0 42px}
.leto-heading--center{text-align:center;margin-inline:auto}
.leto-heading h2,.leto-guests__copy h2,.leto-contest h2,.leto-about-content h2{
    margin:0 0 16px;font-size:clamp(32px,3.7vw,52px);line-height:1.02;letter-spacing:-.04em;font-weight:900
}
.leto-heading>p:last-child{max-width:720px;margin-inline:auto;color:#444}

.leto-hero{display:grid;grid-template-columns:.86fr 1.34fr;min-height:610px}
.leto-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:70px 58px 70px 0}
.leto-hero h1,.leto-page-head h1,.leto-contact-head h1,.leto-about-hero h1,.leto-error h1,.leto-article__header h1{
    margin:0 0 28px;font-size:clamp(44px,5vw,72px);line-height:.96;letter-spacing:-.047em;font-weight:900
}
.leto-hero__copy .leto-lead{margin:0 0 28px}
.leto-hero__visual{min-height:540px;overflow:hidden;background:#1d1d1d}
.leto-hero__visual img{width:100%;height:100%;object-fit:cover;display:block}
.leto-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#111,#2c2c2c);color:#999;font-size:11px;letter-spacing:.08em}
.leto-placeholder--hero{min-height:540px}

.leto-stats{border-block:1px solid var(--leto-line);background:#fff}
.leto-stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.leto-stats__grid>div{min-height:108px;display:flex;align-items:center;justify-content:center;gap:14px;border-right:1px solid var(--leto-line)}
.leto-stats__grid>div:last-child{border-right:0}
.leto-stats strong{font-size:32px;line-height:1}
.leto-stats span{max-width:150px;font-size:10px;font-weight:900;line-height:1.25}

.leto-section{padding-block:84px}
.leto-band--soft{background:var(--leto-soft);border-block:1px solid var(--leto-line)}
.leto-band--dark{background:#0b0b0b;color:#fff}

.leto-style-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.leto-style-card__visual{aspect-ratio:.77;background:linear-gradient(155deg,#151515,#444)}
.leto-style-card h3{margin:12px 0 0;font-size:11px}
.leto-style-grid+.leto-center{margin-top:34px}

.leto-salons{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.leto-salon-card{display:grid;grid-template-columns:1.2fr .8fr;background:#fff;border:1px solid var(--leto-line)}
.leto-salon-card__visual{min-height:310px;display:grid;place-items:center;background:linear-gradient(145deg,#111,#373737);color:#888;font-size:11px;letter-spacing:.08em}
.leto-salon-card__body{padding:30px;display:flex;flex-direction:column;justify-content:center}
.leto-salon-card__body h3{margin:0 0 8px;font-size:26px}

.leto-artist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.leto-artist-grid article{text-align:center}
.leto-artist-photo{aspect-ratio:.9;background:linear-gradient(150deg,#080808,#3c3c3c)}
.leto-artist-grid h3{margin:14px 0 2px;font-size:12px}
.leto-artist-grid p{margin:0;color:#555;font-size:12px}

.leto-guests{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}
.leto-guests__copy p:not(.leto-eyebrow){color:#cfcfcf}
.leto-guests__mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.leto-guests__mosaic>div{aspect-ratio:1.2;background:linear-gradient(145deg,#222,#555)}

.leto-steps{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--leto-line)}
.leto-steps article{padding:30px 24px;border-right:1px solid var(--leto-line)}
.leto-steps article:last-child{border-right:0}
.leto-steps span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#000;color:#fff;font-size:11px;font-weight:900}
.leto-steps h3{font-size:13px;line-height:1.25;margin:18px 0 8px}
.leto-steps p{margin:0;color:#555;font-size:13px}

.leto-contest{background:var(--leto-soft);border-top:1px solid var(--leto-line)}
.leto-contest__inner{min-height:310px;display:flex;align-items:center;justify-content:space-between;gap:50px}
.leto-contest__inner>div{max-width:720px}

.leto-content{padding-block:76px 100px}
.leto-content--narrow{max-width:900px}
.leto-page-head{margin-bottom:46px}
.leto-page-head--center{text-align:center;max-width:950px;margin-inline:auto;margin-bottom:52px}
.leto-page-head--center p{max-width:720px;margin-inline:auto}
.leto-entry-content{font-size:17px}
.leto-entry-content>*:first-child{margin-top:0}
.leto-entry-content h2{margin:1.8em 0 .5em;font-size:clamp(31px,3vw,44px);line-height:1.02;letter-spacing:-.035em}
.leto-entry-content h3{margin:1.6em 0 .55em;font-size:25px;line-height:1.15}
.leto-entry-content p{margin:0 0 1.15em}
.leto-entry-content ul,.leto-entry-content ol{padding-left:1.25em}
.leto-entry-content a:not(.button):not(.leto-btn){color:var(--leto-blue);text-decoration:underline;text-underline-offset:3px}

.leto-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.leto-post-card{border:1px solid var(--leto-line);background:#fff}
.leto-post-card__image{display:block;aspect-ratio:1.42;overflow:hidden;background:#eee}
.leto-post-card__image img{width:100%;height:100%;object-fit:cover}
.leto-post-card__body{padding:24px}
.leto-post-card__body h2{margin:0 0 12px;font-size:23px;line-height:1.12}
.leto-post-card__body p{color:#555;font-size:14px}

/* ARTICLE + SIDEBAR */
.leto-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:start}
.leto-article{min-width:0}
.leto-article__header{max-width:var(--leto-reading);margin-bottom:34px}
.leto-article__header h1{font-size:clamp(44px,4.5vw,66px)}
.leto-article__dek{font-size:19px;color:#555}
.leto-article__hero{width:min(100%,980px);margin:0 0 44px}
.leto-article__hero img{display:block;width:100%}
.leto-entry-content--article{max-width:var(--leto-reading)}
.leto-entry-content--article figure,
.leto-entry-content--article .wp-block-image{margin:38px 0}
.leto-entry-content--article figure.alignwide,
.leto-entry-content--article .alignwide{width:min(980px,calc(100vw - 430px));max-width:none}
.leto-entry-content--article blockquote{margin:32px 0;padding:20px 24px;border-left:3px solid var(--leto-blue);background:var(--leto-soft)}
.leto-article-cta{margin-top:60px;padding:36px;background:var(--leto-soft);border:1px solid var(--leto-line)}
.leto-article-cta h2{margin:0 0 10px;font-size:32px;line-height:1}
.leto-blog-sidebar{position:sticky;top:24px}
.admin-bar .leto-blog-sidebar{top:56px}
.leto-sidebox{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--leto-line)}
.leto-sidebox__title{margin:0 0 16px;font-size:12px;letter-spacing:.02em}
.leto-sidebox .search-form{display:grid;grid-template-columns:1fr auto}
.leto-sidebox .search-field{min-width:0;height:44px;padding:0 12px;border:1px solid #ccc}
.leto-sidebox .search-submit{height:44px;padding:0 16px;border:0;background:#000;color:#fff;font-weight:800}
.leto-side-list{list-style:none;margin:0;padding:0}
.leto-side-list li{border-top:1px solid var(--leto-line)}
.leto-side-list li:last-child{border-bottom:1px solid var(--leto-line)}
.leto-side-list a{display:block;padding:10px 0;font-size:13px}
.leto-side-post{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--leto-line);font-size:12px;font-weight:800;line-height:1.25}
.leto-side-post__thumb{aspect-ratio:1;overflow:hidden;background:#eee}
.leto-side-post__thumb img{width:100%;height:100%;object-fit:cover}
.leto-sidebox--cta{padding:24px;background:var(--leto-soft);border:1px solid var(--leto-line)}
.leto-sidebox--cta h3,.leto-sidebox--dark h3{margin:0 0 10px;font-size:22px;line-height:1.05}
.leto-sidebox--cta p{font-size:13px}
.leto-sidebox--dark{padding:24px;background:#0b0b0b;color:#fff;border:0}
.leto-sidebox--dark .leto-eyebrow{color:#5f87ff}

/* ABOUT */
.leto-about-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:520px;align-items:center}
.leto-about-hero>div:first-child{padding-right:60px}
.leto-about-hero__visual{min-height:430px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#111,#353535);color:#999}
.leto-about-hero__visual img{width:100%;height:100%;object-fit:cover}
.leto-timeline{border-top:1px solid var(--leto-line)}
.leto-timeline article{display:grid;grid-template-columns:130px 1fr;gap:26px;padding:28px 0;border-bottom:1px solid var(--leto-line)}
.leto-timeline article>span{font-size:24px;font-weight:900;color:var(--leto-blue)}
.leto-timeline h3{margin:0 0 5px;font-size:16px}
.leto-timeline p{margin:0;color:#555}
.leto-about-content{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}

/* CONTACT */
.leto-contact-head{padding-block:76px 46px}
.leto-contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;padding-bottom:100px}
.leto-contact-salons{display:grid;gap:18px}
.leto-contact-salons article{padding:26px;border:1px solid var(--leto-line);background:var(--leto-soft)}
.leto-contact-salons h2{margin:0 0 6px;font-size:28px}
.leto-contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.leto-contact-form textarea,
.leto-contact-form select{width:100%;min-height:46px;border:1px solid #cfcfcf;padding:10px 12px;background:#fff}
.leto-contact-form textarea{min-height:140px}
.leto-contact-form input[type=submit]{min-height:46px;padding:0 24px;border:0;background:var(--leto-blue);color:#fff;font-weight:900;text-transform:uppercase}

/* REALISATIONS / ESSENTIAL GRID */
.leto-gallery-content .esg-grid,
.leto-gallery-content .essential_grid,
.leto-gallery-content .eg-container{max-width:100%!important}
.leto-gallery-content img{display:block}
.leto-gallery-content .esg-filterbutton{border-radius:0!important}

/* WOOCOMMERCE PRODUCT ARCHIVE */
.leto-shop{min-height:500px}
body.woocommerce .woocommerce-products-header{margin-bottom:32px}
body.woocommerce .woocommerce-products-header__title{font-size:clamp(42px,5vw,64px);line-height:1;letter-spacing:-.04em}
body.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px;margin-top:30px!important}
body.woocommerce ul.products::before,body.woocommerce ul.products::after{display:none!important}
body.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}
body.woocommerce ul.products li.product a img{aspect-ratio:1;object-fit:cover;margin:0 0 16px!important}
body.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0!important;font-size:18px!important;line-height:1.18}
body.woocommerce ul.products li.product .price{color:#111!important;font-size:14px!important;font-weight:800}
body.woocommerce .woocommerce-result-count{color:#666}
body.woocommerce .woocommerce-ordering select{min-height:40px;border:1px solid #ccc;padding:0 10px}

/* SINGLE PRODUCT + YITH GIFT CARD */
body.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
body.single-product div.product div.images,
body.single-product div.product div.summary{width:auto!important;float:none!important;margin:0!important}
body.single-product div.product .product_title{font-size:clamp(42px,4.5vw,62px);line-height:.98;letter-spacing:-.04em;margin:0 0 16px}
body.single-product div.product p.price{color:#111!important;font-size:20px!important}
body.single-product div.product .woocommerce-product-details__short-description{font-size:15px;color:#444}
body.single-product div.product form.cart{margin-top:28px}
body.single-product div.product .quantity .qty{min-height:44px}
body.single-product .woocommerce-tabs{grid-column:1/-1;margin-top:20px}
body.single-product .related{grid-column:1/-1;margin-top:30px}
body.single-product .related h2{font-size:32px}
body.single-product .related ul.products{grid-template-columns:repeat(4,1fr)!important}

/* Generic YITH selectors */
body.single-product [class*="ywgc"] input[type=text],
body.single-product [class*="ywgc"] input[type=email],
body.single-product [class*="ywgc"] textarea,
body.single-product [class*="ywgc"] select{
    min-height:44px!important;border:1px solid #cfcfcf!important;padding:10px 12px!important;background:#fff!important
}
body.single-product [class*="ywgc"] textarea{min-height:120px!important}
body.single-product [class*="ywgc"] label{font-weight:800;font-size:12px}
body.single-product [class*="ywgc"] button,
body.single-product [class*="ywgc"] .button{border-radius:2px!important}

/* CART + CHECKOUT blocks */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{max-width:var(--leto-max);margin-inline:auto}
.wc-block-cart,.wc-block-checkout{gap:40px!important}
.wc-block-components-sidebar-layout .wc-block-components-main{padding-right:0!important}
.wc-block-components-sidebar{border:1px solid var(--leto-line)!important;padding:24px!important}
.wc-block-components-totals-wrapper{border-top-color:var(--leto-line)!important}
.wc-block-components-product-name{font-weight:800!important}
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-blocks-components-select .wc-blocks-components-select__select{border-radius:0!important}
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{background:#111!important}
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover{background:var(--leto-blue)!important}

/* FOOTER */
.leto-footer{background:#070707;color:#fff;padding-top:58px}
.leto-footer__grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:42px;padding-bottom:44px}
.leto-footer__brand{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;margin-bottom:18px}
.leto-footer__brand span{font-family:Georgia,'Times New Roman',serif;font-size:29px;letter-spacing:.22em;padding-left:.22em}
.leto-footer__brand small{margin-top:6px;font-size:7px;letter-spacing:.5em;padding-left:.5em}
.leto-footer h3{margin:0 0 16px;font-size:11px}
.leto-footer p,.leto-footer a{display:block;color:#cfcfcf;font-size:12px}
.leto-footer a+a{margin-top:8px}
.leto-footer a:hover{color:#fff}
.leto-socials{display:flex;gap:8px;margin-top:18px}
.leto-socials a{display:grid;width:30px;height:30px;place-items:center;border:1px solid #333;border-radius:50%;font-size:9px;font-weight:900}
.leto-footer__bottom{border-top:1px solid #222;padding-block:20px;color:#8a8a8a;font-size:11px}

/* Minor WordPress cleanup */
.navigation.pagination{margin-top:45px}
.nav-links{display:flex;gap:8px}
.nav-links .page-numbers{display:grid;place-items:center;min-width:36px;height:36px;border:1px solid var(--leto-line);font-size:12px}
.nav-links .current{background:#000;color:#fff;border-color:#000}

@media(max-width:1120px){
    .leto-header__inner{grid-template-columns:125px auto auto}
    .leto-menu-toggle{display:block;justify-self:end}
    .leto-nav{display:none;position:absolute;top:80px;left:0;right:0;height:calc(100vh - 80px);padding:28px 24px;background:#fff;border-top:1px solid var(--leto-line);overflow:auto}
    .leto-nav.is-open{display:block}
    .leto-nav__list,.leto-nav ul{flex-direction:column;align-items:stretch;gap:0}
    .leto-nav a{width:100%;padding:15px 0;border-bottom:1px solid var(--leto-line);font-size:14px}
    .leto-header__actions .leto-btn{display:none}
    .leto-hero{grid-template-columns:1fr 1fr}
    .leto-hero__copy{padding-right:36px}
    .leto-style-grid{grid-template-columns:repeat(3,1fr)}
    .leto-footer__grid{grid-template-columns:repeat(3,1fr)}
    .leto-article-layout{grid-template-columns:minmax(0,1fr) 280px;gap:40px}
    .leto-entry-content--article figure.alignwide,
    .leto-entry-content--article .alignwide{width:100%}
}
@media(max-width:900px){
    .leto-article-layout{grid-template-columns:minmax(0,1fr) 250px;gap:30px}
    .leto-blog-sidebar{top:20px}
    .admin-bar .leto-blog-sidebar{top:52px}
    .leto-salons{grid-template-columns:1fr}
    .leto-about-content{grid-template-columns:1fr;gap:28px}
    .leto-contact-layout{grid-template-columns:1fr;gap:34px}
    body.single-product div.product{gap:34px}
    .leto-footer__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
    .leto-container{width:min(calc(100% - 32px),var(--leto-max))}
    .leto-header__inner{min-height:70px}
    .leto-nav{top:70px;height:calc(100vh - 70px)}
    .leto-brand__main{font-size:24px}
    .leto-hero{display:flex;flex-direction:column}
    .leto-hero__copy{padding:54px 0 34px}
    .leto-hero h1,.leto-page-head h1,.leto-contact-head h1,.leto-about-hero h1,.leto-article__header h1{font-size:45px}
    .leto-hero__visual,.leto-placeholder--hero{min-height:360px}
    .leto-actions .leto-btn{width:100%}
    .leto-stats__grid{grid-template-columns:1fr 1fr}
    .leto-stats__grid>div:nth-child(2){border-right:0}
    .leto-stats__grid>div:nth-child(-n+2){border-bottom:1px solid var(--leto-line)}
    .leto-section{padding-block:62px}
    .leto-style-grid{grid-template-columns:1fr 1fr}
    .leto-salon-card{grid-template-columns:1fr}
    .leto-artist-grid{grid-template-columns:1fr 1fr}
    .leto-guests{grid-template-columns:1fr;gap:34px}
    .leto-steps{grid-template-columns:1fr}
    .leto-steps article{border-right:0;border-bottom:1px solid var(--leto-line)}
    .leto-steps article:last-child{border-bottom:0}
    .leto-contest__inner{padding-block:56px;align-items:flex-start;flex-direction:column}
    .leto-post-grid{grid-template-columns:1fr}
    .leto-article-layout{grid-template-columns:1fr}
    .leto-blog-sidebar{position:static;margin-top:30px}
    .leto-about-hero{grid-template-columns:1fr;gap:34px;padding-block:55px}
    .leto-about-hero>div:first-child{padding-right:0}
    .leto-about-hero__visual{min-height:330px}
    .leto-timeline article{grid-template-columns:90px 1fr}
    body.woocommerce ul.products{grid-template-columns:1fr 1fr!important}
    body.single-product div.product{grid-template-columns:1fr}
    body.single-product .related ul.products{grid-template-columns:1fr 1fr!important}
    .leto-footer__grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:520px){
    body.woocommerce ul.products{grid-template-columns:1fr!important}
    body.single-product .related ul.products{grid-template-columns:1fr!important}
}


/* CONTACTS v0.3.1 */
.leto-contact-page{background:#fff}
.leto-contact-card{
    padding:28px;
    border:1px solid var(--leto-line);
    background:#fff;
}
.leto-contact-card h2{
    margin:0 0 4px;
    font-size:30px;
    line-height:1;
    letter-spacing:-.03em;
}
.leto-contact-card>p{margin:0 0 10px}
.leto-contact-card__line{
    height:1px;
    margin:22px 0;
    background:var(--leto-line);
}
.leto-contact-card__small{
    color:#555;
    font-size:13px;
    line-height:1.5;
}
.leto-contact-social{
    padding:28px;
    background:var(--leto-soft);
    border:1px solid var(--leto-line);
}
.leto-contact-social h3{
    margin:0 0 10px;
    font-size:23px;
    line-height:1.08;
}
.leto-contact-social p:not(.leto-eyebrow){font-size:14px;color:#555}
.leto-contact-form{
    padding:36px;
    border:1px solid var(--leto-line);
    background:#fff;
}
.leto-contact-form__head{margin-bottom:28px}
.leto-contact-form__head h2{
    margin:0 0 10px;
    font-size:32px;
    line-height:1.02;
    letter-spacing:-.035em;
}
.leto-contact-form__head p:not(.leto-eyebrow){margin:0;color:#555}
.leto-contact-form .wpcf7 p{margin:0 0 14px}
.leto-contact-form .wpcf7-form-control-wrap{display:block}
.leto-contact-form .wpcf7 input[type=text],
.leto-contact-form .wpcf7 input[type=email],
.leto-contact-form .wpcf7 input[type=tel],
.leto-contact-form .wpcf7 input[type=url],
.leto-contact-form .wpcf7 textarea,
.leto-contact-form .wpcf7 select{
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border:1px solid #cfcfcf;
    border-radius:0;
    background:#fff;
    color:#111;
}
.leto-contact-form .wpcf7 textarea{min-height:180px;resize:vertical}
.leto-contact-form .wpcf7 input[type=submit]{
    min-height:48px;
    padding:0 28px;
    border:0;
    border-radius:2px;
    background:var(--leto-blue);
    color:#fff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    cursor:pointer;
}
.leto-contact-form .wpcf7 input[type=submit]:hover{background:#000}
.leto-contact-form .wpcf7-list-item{margin-left:0}
.leto-contact-form .wpcf7-acceptance label{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:12px;
    color:#555;
}
.leto-contact-tips{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-block:1px solid var(--leto-line);
}
.leto-contact-tips article{
    padding:26px 22px;
    border-right:1px solid var(--leto-line);
}
.leto-contact-tips article:last-child{border-right:0}
.leto-contact-tips span{
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#000;
    color:#fff;
    font-size:10px;
    font-weight:900;
}
.leto-contact-tips h3{
    margin:16px 0 6px;
    font-size:13px;
}
.leto-contact-tips p{
    margin:0;
    color:#555;
    font-size:13px;
}
@media(max-width:760px){
    .leto-contact-form{padding:24px 18px}
    .leto-contact-tips{grid-template-columns:1fr}
    .leto-contact-tips article{
        border-right:0;
        border-bottom:1px solid var(--leto-line);
    }
    .leto-contact-tips article:last-child{border-bottom:0}
}


/* =========================================================
   HEADER v0.3.2 — clean, independent from old Nelson menus
   ========================================================= */

.leto-header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #ececec;
    backdrop-filter:saturate(150%) blur(10px);
    -webkit-backdrop-filter:saturate(150%) blur(10px);
}
.admin-bar .leto-header{top:32px}

.leto-header__inner{
    min-height:76px;
    display:grid;
    grid-template-columns:150px minmax(0,1fr) auto;
    align-items:center;
    gap:28px;
}

.leto-brand{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-width:0;
    color:#0a0a0a;
    line-height:1;
}
.leto-brand__main{
    display:block;
    font-family:Georgia,'Times New Roman',serif;
    font-size:28px;
    font-weight:400;
    letter-spacing:.26em;
    padding-left:.26em;
}
.leto-brand__sub{
    display:block;
    margin-top:7px;
    font-size:7px;
    font-weight:700;
    letter-spacing:.55em;
    padding-left:.55em;
}

.leto-nav{
    position:static;
    display:flex;
    justify-content:center;
    min-width:0;
}
.leto-nav__desktop{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(18px,1.65vw,32px);
    min-width:0;
}
.leto-nav__desktop a{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:76px;
    padding:2px 0 0;
    color:#0d0d0d;
    font-size:10.5px;
    line-height:1;
    font-weight:900;
    letter-spacing:.035em;
    white-space:nowrap;
}
.leto-nav__desktop a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:17px;
    width:0;
    height:2px;
    background:var(--leto-blue);
    transform:translateX(-50%);
    transition:width .18s ease;
}
.leto-nav__desktop a:hover{color:var(--leto-blue)}
.leto-nav__desktop a:hover::after{width:100%}

.leto-nav__mobile{display:none}

.leto-header__actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
}
.leto-header__cta{
    min-height:42px!important;
    padding:0 18px!important;
    font-size:10px!important;
    letter-spacing:.03em!important;
}
.leto-cart{
    position:relative;
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex:0 0 40px;
    border:1px solid #dedede;
    border-radius:50%;
    background:#fff;
    color:#0a0a0a;
    transition:.18s ease;
}
.leto-cart:hover{
    border-color:#0a0a0a;
    transform:translateY(-1px);
}
.leto-cart__icon{width:19px;height:19px}
.leto-cart__count{
    position:absolute;
    top:-5px;
    right:-4px;
    display:grid;
    place-items:center;
    min-width:17px;
    height:17px;
    padding:0 4px;
    border:2px solid #fff;
    border-radius:999px;
    background:#0a0a0a;
    color:#fff;
    font-size:8px;
    line-height:1;
    font-weight:900;
}
.leto-menu-toggle{display:none}

@media(max-width:1180px){
    .leto-header__inner{
        min-height:72px;
        grid-template-columns:1fr auto;
        gap:18px;
    }

    .leto-brand{justify-self:start}

    .leto-header__actions{
        grid-column:2;
        grid-row:1;
    }

    .leto-header__cta{display:none!important}

    .leto-menu-toggle{
        display:block;
        position:relative;
        width:40px;
        height:40px;
        flex:0 0 40px;
        padding:10px;
        border:0;
        background:transparent;
        cursor:pointer;
    }
    .leto-menu-toggle>span{
        display:block;
        width:20px;
        height:1.5px;
        margin:4.5px 0;
        background:#0a0a0a;
        transform-origin:center;
        transition:transform .18s ease, opacity .18s ease;
    }
    .leto-header.is-menu-open .leto-menu-toggle>span:nth-child(1){
        transform:translateY(6px) rotate(45deg);
    }
    .leto-header.is-menu-open .leto-menu-toggle>span:nth-child(2){
        opacity:0;
    }
    .leto-header.is-menu-open .leto-menu-toggle>span:nth-child(3){
        transform:translateY(-6px) rotate(-45deg);
    }

    .leto-nav{
        display:none;
        position:absolute;
        top:72px;
        left:0;
        right:0;
        height:calc(100dvh - 72px);
        padding:0;
        background:#fff;
        border-top:1px solid #ececec;
        overflow:auto;
    }
    .admin-bar .leto-nav{
        height:calc(100dvh - 104px);
    }
    .leto-nav.is-open{display:block}

    .leto-nav__desktop{display:none}
    .leto-nav__mobile{
        display:flex;
        flex-direction:column;
        width:min(calc(100% - 48px),720px);
        margin:0 auto;
        padding:24px 0 44px;
    }
    .leto-nav__mobile a{
        display:flex;
        align-items:center;
        justify-content:space-between;
        min-height:54px;
        border-bottom:1px solid #ededed;
        color:#0b0b0b;
        font-size:15px;
        font-weight:900;
        letter-spacing:.015em;
    }
    .leto-nav__mobile a::after{
        content:"→";
        color:#aaa;
        font-size:14px;
        font-weight:400;
    }
    .leto-nav__mobile a:hover{
        color:var(--leto-blue);
    }
    .leto-nav__mobile-separator{
        height:24px;
        border-bottom:1px solid #ededed;
        margin-bottom:2px;
    }
}

@media(max-width:782px){
    .admin-bar .leto-header{top:46px}
    .admin-bar .leto-nav{
        height:calc(100dvh - 118px);
    }
}

@media(max-width:600px){
    .admin-bar .leto-header{top:0}
    .leto-container{
        width:min(calc(100% - 30px),var(--leto-max));
    }
    .leto-header__inner{min-height:68px}
    .leto-nav{top:68px;height:calc(100dvh - 68px)}
    .leto-brand__main{font-size:24px}
    .leto-brand__sub{font-size:6px}
    .leto-cart{width:38px;height:38px;flex-basis:38px}
    .leto-menu-toggle{width:38px;height:38px;flex-basis:38px}
    .leto-nav__mobile{
        width:min(calc(100% - 30px),720px);
        padding-top:18px;
    }
}


/* =========================================================
   SIDEBAR BLOG v0.3.3 — premium conversion-first sidebar
   ========================================================= */

.leto-blog-sidebar{
    position:sticky;
    top:110px;
    display:grid;
    gap:20px;
}
.admin-bar .leto-blog-sidebar{top:142px}

.leto-side-card,
.leto-side-panel,
.leto-side-search{
    border:1px solid var(--leto-line);
    background:#fff;
}

.leto-side-card{
    padding:26px;
}

.leto-side-card h3,
.leto-side-panel__head h3,
.leto-side-search h3{
    margin:0 0 10px;
    font-size:24px;
    line-height:1.02;
    letter-spacing:-.035em;
}

.leto-side-card p:not(.leto-eyebrow){
    margin:0 0 18px;
    color:#565656;
    font-size:14px;
    line-height:1.55;
}

.leto-side-card--cta{
    background:linear-gradient(180deg,#ffffff 0%, #f7f7f7 100%);
}
.leto-side-card--gift{
    background:#fff;
}
.leto-side-card--dark{
    background:#0b0b0b;
    border-color:#0b0b0b;
    color:#fff;
}
.leto-side-card--dark .leto-eyebrow{color:#6c90ff}
.leto-side-card--dark p:not(.leto-eyebrow){color:#cfcfcf}

.leto-side-panel{
    padding:22px 22px 6px;
}
.leto-side-panel__head{
    margin-bottom:14px;
}
.leto-side-panel__head h3{
    font-size:18px;
    line-height:1.05;
    margin-bottom:0;
}

.leto-side-popular{
    display:grid;
}
.leto-side-popular__item{
    display:grid;
    grid-template-columns:84px 1fr;
    gap:14px;
    align-items:center;
    padding:14px 0;
    border-top:1px solid var(--leto-line);
}
.leto-side-popular__item:first-child{
    border-top:0;
    padding-top:0;
}
.leto-side-popular__thumb{
    display:block;
    width:84px;
    aspect-ratio:1;
    overflow:hidden;
    background:#efefef;
}
.leto-side-popular__thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.leto-side-popular__thumb--placeholder{
    display:block;
    width:100%;
    height:100%;
    background:linear-gradient(145deg,#e8e8e8,#cfcfcf);
}
.leto-side-popular__meta{
    display:block;
    min-width:0;
}
.leto-side-popular__meta small{
    display:block;
    margin-bottom:5px;
    color:#777;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.leto-side-popular__meta strong{
    display:block;
    color:#111;
    font-size:13px;
    line-height:1.3;
    font-weight:900;
}
.leto-side-popular__item:hover .leto-side-popular__meta strong{
    color:var(--leto-blue);
}

.leto-side-search{
    padding:22px;
}
.leto-side-search .search-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:0;
}
.leto-side-search .search-field{
    min-width:0;
    height:46px;
    padding:0 14px;
    border:1px solid #d5d5d5;
    border-right:0;
    background:#fff;
}
.leto-side-search .search-submit{
    height:46px;
    padding:0 18px;
    border:0;
    background:#111;
    color:#fff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    cursor:pointer;
}
.leto-side-search .search-submit:hover{
    background:var(--leto-blue);
}

@media(max-width:1120px){
    .leto-blog-sidebar{
        top:96px;
    }
    .admin-bar .leto-blog-sidebar{
        top:128px;
    }
}

@media(max-width:900px){
    .leto-blog-sidebar{
        top:88px;
    }
    .admin-bar .leto-blog-sidebar{
        top:120px;
    }
}

@media(max-width:760px){
    .leto-blog-sidebar{
        position:static;
        top:auto;
        margin-top:34px;
    }
}


/* =========================================================
   LEGACY TEAM / NOTRE ÉQUIPE v0.3.4
   ========================================================= */

.leto-team-page,
.leto-team-single{
    background:#fff;
}

.leto-team-hero{
    min-height:390px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 270px;
    gap:50px;
    align-items:center;
    border-bottom:1px solid var(--leto-line);
}
.leto-team-hero__copy{
    padding-block:68px;
}
.leto-team-hero h1{
    margin:0 0 22px;
    max-width:900px;
    font-size:clamp(46px,5vw,72px);
    line-height:.96;
    letter-spacing:-.047em;
    font-weight:900;
}
.leto-team-hero__aside{
    min-height:170px;
    padding:28px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    border-left:1px solid var(--leto-line);
}
.leto-team-hero__number{
    display:block;
    margin-bottom:8px;
    font-size:56px;
    line-height:.9;
    font-weight:900;
}
.leto-team-hero__aside>span:last-child{
    max-width:180px;
    font-size:10px;
    line-height:1.3;
    font-weight:900;
    letter-spacing:.03em;
}

.leto-team-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:26px 18px;
}

.leto-team-card{
    min-width:0;
    background:#fff;
}
.leto-team-card__photo{
    display:block;
    position:relative;
    aspect-ratio:.82;
    overflow:hidden;
    background:#111;
}
.leto-team-card__photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.12),transparent 45%);
    opacity:0;
    transition:opacity .2s ease;
}
.leto-team-card__photo:hover::after{opacity:1}
.leto-team-card__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(100%);
    transition:filter .25s ease,transform .25s ease;
}
.leto-team-card:hover .leto-team-card__photo img{
    filter:grayscale(0%);
    transform:scale(1.015);
}
.leto-team-card__placeholder{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    color:#777;
    font-family:Georgia,'Times New Roman',serif;
    font-size:28px;
    letter-spacing:.22em;
}
.leto-team-card__body{
    padding:17px 2px 4px;
}
.leto-team-card h3{
    margin:0 0 5px;
    font-size:15px;
    line-height:1.1;
    font-weight:900;
}
.leto-team-card__role{
    min-height:30px;
    margin:0 0 10px;
    color:var(--leto-blue);
    font-size:10px;
    line-height:1.35;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.025em;
}
.leto-team-card__brief{
    margin:0;
    color:#5b5b5b;
    font-size:13px;
    line-height:1.5;
}
.leto-team-socials{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:14px;
}
.leto-team-socials a{
    color:#111;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    border-bottom:1px solid #111;
}
.leto-team-socials a:hover{
    color:var(--leto-blue);
    border-color:var(--leto-blue);
}

.leto-team-guests-cta{
    background:var(--leto-soft);
    border-top:1px solid var(--leto-line);
}
.leto-team-guests-cta__inner{
    min-height:285px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}
.leto-team-guests-cta h2{
    margin:0 0 12px;
    font-size:clamp(32px,3.5vw,50px);
    line-height:1.02;
    letter-spacing:-.04em;
}
.leto-team-guests-cta p:not(.leto-eyebrow){
    margin:0;
    color:#555;
}

.leto-team-empty{
    padding:30px;
    border:1px solid var(--leto-line);
    background:var(--leto-soft);
}

/* single team */
.leto-team-profile{
    min-height:690px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
    padding-block:70px 90px;
}
.leto-team-profile__photo{
    min-height:560px;
    overflow:hidden;
    background:#111;
}
.leto-team-profile__photo img{
    display:block;
    width:100%;
    height:100%;
    max-height:720px;
    object-fit:cover;
}
.leto-team-profile__placeholder{
    min-height:560px;
    display:grid;
    place-items:center;
    color:#777;
    font-family:Georgia,'Times New Roman',serif;
    font-size:42px;
    letter-spacing:.22em;
}
.leto-team-profile__copy h1{
    margin:0 0 14px;
    font-size:clamp(46px,5vw,70px);
    line-height:.95;
    letter-spacing:-.047em;
}
.leto-team-profile__role{
    margin:0 0 28px;
    color:var(--leto-blue);
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
}
.leto-team-profile__intro{
    max-width:600px;
    color:#3c3c3c;
    font-size:17px;
}
.leto-team-profile__socials{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:28px;
}
.leto-team-profile__back{
    display:inline-block;
    margin-top:34px;
}

@media(max-width:1050px){
    .leto-team-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .leto-team-profile{
        gap:42px;
    }
}
@media(max-width:760px){
    .leto-team-hero{
        grid-template-columns:1fr;
        gap:0;
    }
    .leto-team-hero__aside{
        min-height:auto;
        padding:22px 0 32px;
        border-left:0;
        border-top:1px solid var(--leto-line);
    }
    .leto-team-grid{
        grid-template-columns:1fr 1fr;
    }
    .leto-team-card__brief{
        font-size:12px;
    }
    .leto-team-guests-cta__inner{
        padding-block:50px;
        align-items:flex-start;
        flex-direction:column;
    }
    .leto-team-profile{
        grid-template-columns:1fr;
        min-height:0;
        padding-block:40px 70px;
    }
    .leto-team-profile__photo{
        min-height:420px;
    }
}
@media(max-width:500px){
    .leto-team-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   HOMEPAGE RESIDENTS v0.3.5 — real Team thumbnails
   ========================================================= */

.leto-home-residents .leto-artist-photo{
    display:none;
}
.leto-home-resident{
    min-width:0;
    text-align:center;
}
.leto-home-resident__photo{
    display:block;
    position:relative;
    aspect-ratio:.9;
    overflow:hidden;
    background:#121212;
}
.leto-home-resident__img{
    display:block;
    width:100%;
    height:100%!important;
    object-fit:cover;
    object-position:center;
    filter:grayscale(100%);
    transition:filter .25s ease, transform .25s ease;
}
.leto-home-resident:hover .leto-home-resident__img{
    filter:grayscale(0%);
    transform:scale(1.015);
}
.leto-home-resident__placeholder{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    padding:20px;
    color:#777;
    font-size:10px;
    font-weight:900;
    letter-spacing:.04em;
}
.leto-home-resident h3{
    margin:14px 0 2px;
    font-size:12px;
    line-height:1.2;
}
.leto-home-resident p{
    margin:0;
    color:#555;
    font-size:12px;
    line-height:1.35;
}
.leto-home-resident--missing .leto-home-resident__photo{
    background:linear-gradient(150deg,#111,#3c3c3c);
}


/* =========================================================
   LETO ARTISTS v0.4.0
   ========================================================= */

.leto-artists-page,
.leto-artist-single{background:#fff}

.leto-artists-hero{
    min-height:420px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:50px;
    align-items:center;
}
.leto-artists-hero h1{
    margin:0 0 24px;
    font-size:clamp(48px,5vw,74px);
    line-height:.95;
    letter-spacing:-.05em;
}
.leto-artists-hero__count{
    min-height:180px;
    padding:30px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    border-left:1px solid var(--leto-line);
}
.leto-artists-hero__count strong{
    font-size:58px;
    line-height:.9;
}
.leto-artists-hero__count span{
    max-width:190px;
    margin-top:10px;
    font-size:10px;
    line-height:1.3;
    font-weight:900;
}

.leto-artists-filter-band{
    border-block:1px solid var(--leto-line);
    background:var(--leto-soft);
}
.leto-artist-filters{
    min-height:112px;
    display:flex;
    align-items:flex-end;
    gap:14px;
    padding-block:22px;
}
.leto-filter-field{
    width:190px;
}
.leto-filter-field--wide{width:240px}
.leto-filter-field label{
    display:block;
    margin-bottom:7px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.05em;
}
.leto-filter-field select{
    width:100%;
    min-height:44px;
    padding:0 12px;
    border:1px solid #d1d1d1;
    border-radius:0;
    background:#fff;
    color:#111;
}
.leto-filter-reset{
    align-self:center;
    margin-left:3px;
    color:#555;
    font-size:10px;
    font-weight:900;
    text-decoration:underline;
    text-underline-offset:3px;
}

.leto-artists-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:46px 24px;
}

.leto-artist-card{
    min-width:0;
}
.leto-artist-card__portrait{
    display:block;
    aspect-ratio:.84;
    overflow:hidden;
    background:#111;
}
.leto-artist-card__portrait img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(100%);
    transition:filter .25s ease, transform .25s ease;
}
.leto-artist-card:hover .leto-artist-card__portrait img{
    filter:grayscale(0%);
    transform:scale(1.015);
}
.leto-artist-card__placeholder{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    color:#777;
    font-size:10px;
    font-weight:900;
}
.leto-artist-card__body{
    padding-top:18px;
}
.leto-artist-card__top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
}
.leto-artist-card h2{
    margin:0 0 4px;
    font-size:20px;
    line-height:1.05;
}
.leto-artist-card__styles{
    margin:0;
    color:#555;
    font-size:12px;
}
.leto-artist-card__type{
    flex:0 0 auto;
    padding:5px 7px;
    border:1px solid var(--leto-line);
    color:#444;
    font-size:8px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
}
.leto-artist-card__shops{
    margin:11px 0 14px;
    color:var(--leto-blue);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}
.leto-artist-card__tattoos{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    margin-bottom:15px;
}
.leto-artist-card__tattoos span{
    aspect-ratio:1;
    overflow:hidden;
    background:#eee;
}
.leto-artist-card__tattoos img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.leto-artists-empty,
.leto-artists-setup{
    padding:36px;
    border:1px solid var(--leto-line);
    background:var(--leto-soft);
}
.leto-artists-empty h2,
.leto-artists-setup h3{
    margin:0 0 10px;
    font-size:30px;
    line-height:1.05;
}
.leto-home-residents__cta{
    margin-top:34px;
}

/* Single artist */
.leto-artist-profile{
    min-height:700px;
    display:grid;
    grid-template-columns:1.04fr .96fr;
    gap:70px;
    align-items:center;
    padding-block:70px 90px;
}
.leto-artist-profile__portrait{
    min-height:570px;
    overflow:hidden;
    background:#111;
}
.leto-artist-profile__portrait img{
    width:100%;
    height:100%;
    max-height:760px;
    object-fit:cover;
    display:block;
}
.leto-artist-profile__placeholder{
    min-height:570px;
    display:grid;
    place-items:center;
    color:#777;
    font-size:11px;
    font-weight:900;
}
.leto-artist-profile__copy h1{
    margin:0 0 10px;
    font-size:clamp(50px,5vw,74px);
    line-height:.94;
    letter-spacing:-.05em;
}
.leto-artist-profile__styles{
    margin:0 0 28px;
    color:#333;
    font-size:19px;
}
.leto-artist-profile__facts{
    display:flex;
    gap:35px;
    padding-block:20px;
    margin-bottom:24px;
    border-block:1px solid var(--leto-line);
}
.leto-artist-profile__facts div{
    display:flex;
    flex-direction:column;
}
.leto-artist-profile__facts span{
    margin-bottom:3px;
    color:#777;
    font-size:9px;
    font-weight:900;
}
.leto-artist-profile__facts strong{
    font-size:13px;
}
.leto-artist-profile__intro{
    max-width:600px;
    margin:0 0 28px;
    color:#4a4a4a;
    font-size:17px;
}
.leto-artist-bio{
    display:grid;
    grid-template-columns:.65fr 1.35fr;
    gap:70px;
    padding-bottom:90px;
}
.leto-artist-gallery-section{
    background:var(--leto-soft);
    border-block:1px solid var(--leto-line);
}
.leto-artist-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.leto-artist-gallery figure{
    margin:0;
    aspect-ratio:.82;
    overflow:hidden;
    background:#eee;
}
.leto-artist-gallery img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.leto-artist-contact{
    background:#fff;
}
.leto-artist-contact__inner{
    min-height:300px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}
.leto-artist-contact__inner h2{
    margin:0 0 10px;
    font-size:clamp(32px,3.7vw,52px);
    line-height:1.02;
    letter-spacing:-.04em;
}

@media(max-width:1000px){
    .leto-artists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .leto-artist-profile{gap:40px}
    .leto-artist-bio{grid-template-columns:1fr;gap:20px}
}
@media(max-width:760px){
    .leto-artists-hero{
        grid-template-columns:1fr;
        gap:0;
        padding-block:55px 25px;
    }
    .leto-artists-hero__count{
        min-height:auto;
        padding:22px 0;
        border-left:0;
        border-top:1px solid var(--leto-line);
    }
    .leto-artist-filters{
        align-items:stretch;
        flex-direction:column;
    }
    .leto-filter-field,
    .leto-filter-field--wide{
        width:100%;
    }
    .leto-filter-reset{
        align-self:flex-start;
        margin-top:6px;
    }
    .leto-artists-grid{
        grid-template-columns:1fr;
    }
    .leto-artist-profile{
        grid-template-columns:1fr;
        min-height:0;
        padding-block:40px 70px;
    }
    .leto-artist-profile__portrait{min-height:430px}
    .leto-artist-gallery{grid-template-columns:1fr 1fr}
    .leto-artist-contact__inner{
        padding-block:55px;
        align-items:flex-start;
        flex-direction:column;
    }
}


/* =========================================================
   DISCOVER / PROMOS v0.4.1 — gift cards + e-book + contest
   ========================================================= */

.leto-discover{
    border-top:1px solid var(--leto-line);
    background:#fff;
}
.leto-discover--artists{
    margin-top:20px;
    background:var(--leto-soft);
    border-block:1px solid var(--leto-line);
}
.leto-discover-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.leto-discover-card{
    min-width:0;
    border:1px solid var(--leto-line);
    background:#fff;
    overflow:hidden;
}
.leto-discover-card__visual{
    position:relative;
    display:block;
    aspect-ratio:1.38;
    overflow:hidden;
    background:#111;
}
.leto-discover-card__visual img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s ease;
}
.leto-discover-card:hover .leto-discover-card__visual img{
    transform:scale(1.02);
}
.leto-discover-card__mark{
    position:absolute;
    right:22px;
    bottom:14px;
    color:rgba(255,255,255,.18);
    font-size:92px;
    line-height:.8;
    font-weight:900;
    letter-spacing:-.08em;
}
.leto-discover-card--gift.no-image .leto-discover-card__visual{
    background:linear-gradient(145deg,#111 0%,#393939 100%);
}
.leto-discover-card--ebook.no-image .leto-discover-card__visual{
    background:linear-gradient(145deg,#f0f0f0 0%,#bdbdbd 100%);
}
.leto-discover-card--ebook.no-image .leto-discover-card__mark{
    color:rgba(0,0,0,.12);
}
.leto-discover-card--contest{
    border-color:#174fff;
    background:#0e0e0e;
    color:#fff;
}
.leto-discover-card--contest .leto-discover-card__visual{
    background:linear-gradient(145deg,#0b0b0b 0%,#174fff 100%);
}
.leto-discover-card--contest .leto-eyebrow{
    color:#6f91ff;
}
.leto-discover-card--contest .leto-discover-card__body>p:not(.leto-eyebrow){
    color:#cfcfcf;
}
.leto-discover-card--contest .leto-text-link{
    color:#fff;
    border-color:#fff;
}
.leto-discover-card__body{
    padding:25px 24px 27px;
}
.leto-discover-card__body h3{
    margin:0 0 11px;
    font-size:clamp(22px,2vw,29px);
    line-height:1;
    letter-spacing:-.035em;
}
.leto-discover-card__body>p:not(.leto-eyebrow){
    min-height:63px;
    margin:0 0 20px;
    color:#555;
    font-size:14px;
    line-height:1.5;
}

/* Blog sidebar promo variations */
.leto-side-card--ebook{
    background:#f5f5f5;
}
.leto-side-card--contest{
    position:relative;
    overflow:hidden;
    border-color:#174fff;
}
.leto-side-card--contest::after{
    content:"03";
    position:absolute;
    right:-4px;
    bottom:-13px;
    color:rgba(255,255,255,.055);
    font-size:104px;
    line-height:.8;
    font-weight:900;
    pointer-events:none;
}
.leto-side-card--contest>*{
    position:relative;
    z-index:1;
}

@media(max-width:900px){
    .leto-discover-grid{
        grid-template-columns:1fr 1fr;
    }
    .leto-discover-card--contest{
        grid-column:1/-1;
        display:grid;
        grid-template-columns:.9fr 1.1fr;
    }
    .leto-discover-card--contest .leto-discover-card__visual{
        aspect-ratio:auto;
        min-height:260px;
    }
}
@media(max-width:620px){
    .leto-discover-grid{
        grid-template-columns:1fr;
    }
    .leto-discover-card--contest{
        grid-column:auto;
        display:block;
    }
    .leto-discover-card--contest .leto-discover-card__visual{
        aspect-ratio:1.38;
        min-height:0;
    }
    .leto-discover-card__body>p:not(.leto-eyebrow){
        min-height:0;
    }
}


/* =========================================================
   HOMEPAGE IMAGES v0.4.2
   ========================================================= */

.leto-style-card a{
    display:block;
    color:inherit;
}
.leto-style-card__visual{
    position:relative;
    overflow:hidden;
}
.leto-style-card__img,
.leto-salon-card__img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.leto-style-card__img{
    transition:transform .25s ease;
}
.leto-style-card:hover .leto-style-card__img{
    transform:scale(1.02);
}
.leto-home-image-placeholder{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    min-height:100%;
    color:#777;
    font-size:9px;
    font-weight:900;
    letter-spacing:.04em;
}

/* Guests: auto-filled from leto_artist + Guest */
.leto-guests__mosaic{
    overflow:hidden;
}
.leto-guest-mosaic-card{
    position:relative;
    display:block;
    min-width:0;
    min-height:0;
    overflow:hidden;
    background:linear-gradient(145deg,#222,#444);
}
.leto-guest-mosaic-card__img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s ease, filter .25s ease;
}
.leto-guest-mosaic-card:hover .leto-guest-mosaic-card__img{
    transform:scale(1.02);
}
.leto-guest-mosaic-card__name{
    position:absolute;
    left:12px;
    right:12px;
    bottom:10px;
    z-index:2;
    color:#fff;
    font-size:9px;
    line-height:1.15;
    font-weight:900;
    text-transform:uppercase;
    opacity:0;
    transform:translateY(4px);
    transition:opacity .2s ease, transform .2s ease;
}
.leto-guest-mosaic-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.58),transparent 45%);
    opacity:0;
    transition:opacity .2s ease;
}
.leto-guest-mosaic-card:hover::after,
.leto-guest-mosaic-card:hover .leto-guest-mosaic-card__name{
    opacity:1;
}
.leto-guest-mosaic-card:hover .leto-guest-mosaic-card__name{
    transform:none;
}
.leto-guest-mosaic-card--empty::after{
    display:none;
}


/* =========================================================
   404 PAGE v0.4.4
   ========================================================= */

.leto-404{
    background:#fff;
}

.leto-404__hero{
    min-height:530px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
    gap:60px;
    align-items:center;
    border-bottom:1px solid var(--leto-line);
}

.leto-404__copy{
    padding-block:80px;
}

.leto-404__copy h1{
    margin:0 0 22px;
    max-width:760px;
    font-size:clamp(52px,6vw,86px);
    line-height:.9;
    letter-spacing:-.055em;
}

.leto-404__number{
    justify-self:end;
    color:#f1f1f1;
    font-size:clamp(150px,18vw,290px);
    line-height:.72;
    font-weight:900;
    letter-spacing:-.09em;
    user-select:none;
}

.leto-404__links{
    background:var(--leto-soft);
}

.leto-404-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.leto-404-card{
    position:relative;
    display:flex;
    min-height:285px;
    padding:26px;
    flex-direction:column;
    color:#111;
    background:#fff;
    border:1px solid var(--leto-line);
    transition:transform .2s ease, border-color .2s ease;
}

.leto-404-card:hover{
    transform:translateY(-3px);
    border-color:#111;
}

.leto-404-card__index{
    margin-bottom:auto;
    color:var(--leto-blue);
    font-size:11px;
    font-weight:900;
}

.leto-404-card h3{
    margin:34px 0 10px;
    font-size:23px;
    line-height:1;
    letter-spacing:-.035em;
}

.leto-404-card p{
    margin:0 0 20px;
    color:#5b5b5b;
    font-size:13px;
    line-height:1.5;
}

.leto-404-search{
    margin-top:18px;
    padding:30px;
    display:grid;
    grid-template-columns:1fr minmax(320px,520px);
    gap:40px;
    align-items:end;
    background:#0c0c0c;
    color:#fff;
}

.leto-404-search h3{
    margin:0;
    max-width:520px;
    font-size:25px;
    line-height:1.05;
}

.leto-404-search__form .search-form{
    display:grid;
    grid-template-columns:1fr auto;
}

.leto-404-search__form .search-field{
    min-width:0;
    height:48px;
    padding:0 15px;
    border:0;
    border-radius:0;
    background:#fff;
}

.leto-404-search__form .search-submit{
    height:48px;
    padding:0 20px;
    border:0;
    border-radius:0;
    background:var(--leto-blue);
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    cursor:pointer;
}

@media(max-width:980px){
    .leto-404-grid{
        grid-template-columns:1fr 1fr;
    }
    .leto-404__hero{
        grid-template-columns:1fr .55fr;
    }
}

@media(max-width:760px){
    .leto-404__hero{
        min-height:0;
        grid-template-columns:1fr;
        gap:0;
        padding-block:55px;
    }
    .leto-404__copy{
        padding:0;
    }
    .leto-404__number{
        justify-self:start;
        margin-top:45px;
        font-size:130px;
    }
    .leto-404-grid{
        grid-template-columns:1fr;
    }
    .leto-404-search{
        grid-template-columns:1fr;
    }
}

@media(max-width:520px){
    .leto-404-search__form .search-form{
        grid-template-columns:1fr;
    }
    .leto-404-search__form .search-submit{
        width:100%;
    }
}


/* =========================================================
   NOS REALISATIONS v0.5.0
   ========================================================= */

.leto-realisations-page{
    background:#fff;
}

.leto-realisations-hero{
    min-height:430px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:50px;
    align-items:center;
}
.leto-realisations-hero h1{
    margin:0 0 24px;
    font-size:clamp(50px,5.2vw,78px);
    line-height:.94;
    letter-spacing:-.052em;
}
.leto-realisations-hero__count{
    min-height:185px;
    padding:30px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    border-left:1px solid var(--leto-line);
}
.leto-realisations-hero__count strong{
    font-size:58px;
    line-height:.9;
}
.leto-realisations-hero__count span{
    max-width:180px;
    margin-top:9px;
    font-size:10px;
    line-height:1.3;
    font-weight:900;
}

.leto-realisations-filterbar{
    position:sticky;
    top:72px;
    z-index:30;
    border-block:1px solid var(--leto-line);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
}
.admin-bar .leto-realisations-filterbar{top:104px}

.leto-realisations-filters{
    display:flex;
    gap:7px;
    align-items:center;
    overflow-x:auto;
    padding-block:14px;
    scrollbar-width:none;
}
.leto-realisations-filters::-webkit-scrollbar{display:none}
.leto-realisations-filters button{
    flex:0 0 auto;
    min-height:36px;
    padding:0 14px;
    border:1px solid #d7d7d7;
    background:#fff;
    color:#111;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}
.leto-realisations-filters button:hover,
.leto-realisations-filters button.is-active{
    border-color:#111;
    background:#111;
    color:#fff;
}

.leto-realisations-grid{
    columns:4;
    column-gap:10px;
}
.leto-realisation-card{
    position:relative;
    display:inline-block;
    width:100%;
    margin:0 0 10px;
    break-inside:avoid;
    vertical-align:top;
}
.leto-realisation-card[hidden]{
    display:none!important;
}
.leto-realisation-card__button{
    position:relative;
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:#eee;
    cursor:zoom-in;
    overflow:hidden;
}
.leto-realisation-card__button img{
    display:block;
    width:100%;
    height:auto;
    transition:transform .28s ease;
}
.leto-realisation-card__overlay{
    position:absolute;
    inset:0;
    display:flex;
    padding:18px;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    color:#fff;
    background:linear-gradient(to top,rgba(0,0,0,.76),transparent 55%);
    opacity:0;
    transition:opacity .2s ease;
    text-align:left;
}
.leto-realisation-card__overlay strong{
    font-size:14px;
    line-height:1.1;
}
.leto-realisation-card__overlay small{
    margin-top:4px;
    font-size:10px;
    line-height:1.25;
}
.leto-realisation-card__overlay em{
    margin-top:12px;
    font-style:normal;
    font-size:9px;
    font-weight:900;
}
.leto-realisation-card:hover .leto-realisation-card__button img{
    transform:scale(1.015);
}
.leto-realisation-card:hover .leto-realisation-card__overlay{
    opacity:1;
}

.leto-realisations-empty{
    padding:42px;
    border:1px solid var(--leto-line);
    background:var(--leto-soft);
}
.leto-realisations-empty h2{
    margin:0 0 10px;
    font-size:34px;
    line-height:1.02;
}

.leto-realisation-cta{
    border-top:1px solid var(--leto-line);
    background:var(--leto-soft);
}
.leto-realisation-cta__inner{
    min-height:300px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}
.leto-realisation-cta h2{
    margin:0 0 10px;
    max-width:800px;
    font-size:clamp(34px,3.8vw,54px);
    line-height:1.01;
    letter-spacing:-.04em;
}

/* Lightbox */
html.leto-lightbox-open{
    overflow:hidden;
}
.leto-lightbox[hidden]{
    display:none!important;
}
.leto-lightbox{
    position:fixed;
    inset:0;
    z-index:99999;
    display:grid;
    place-items:center;
    padding:26px;
}
.leto-lightbox__backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:rgba(0,0,0,.88);
    cursor:zoom-out;
}
.leto-lightbox__dialog{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    width:min(1180px,94vw);
    max-height:90vh;
    overflow:hidden;
    background:#fff;
}
.leto-lightbox__image-wrap{
    display:grid;
    place-items:center;
    min-height:520px;
    background:#0b0b0b;
}
.leto-lightbox__image-wrap img{
    display:block;
    max-width:100%;
    max-height:90vh;
    object-fit:contain;
}
.leto-lightbox__info{
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.leto-lightbox__info h3{
    margin:0 0 8px;
    font-size:30px;
    line-height:1;
}
.leto-lightbox__info>p:not(.leto-eyebrow){
    margin:0 0 25px;
    color:#555;
    font-size:13px;
    line-height:1.5;
}
.leto-lightbox__close{
    position:absolute;
    right:10px;
    top:8px;
    z-index:4;
    width:38px;
    height:38px;
    border:0;
    background:transparent;
    font-size:30px;
    line-height:1;
    cursor:pointer;
}

@media(max-width:1050px){
    .leto-realisations-grid{columns:3}
}
@media(max-width:760px){
    .leto-realisations-hero{
        min-height:0;
        grid-template-columns:1fr;
        gap:0;
        padding-block:55px 25px;
    }
    .leto-realisations-hero__count{
        min-height:auto;
        padding:22px 0;
        border-left:0;
        border-top:1px solid var(--leto-line);
    }
    .leto-realisations-filterbar{top:66px}
    .admin-bar .leto-realisations-filterbar{top:112px}
    .leto-realisations-grid{columns:2}
    .leto-realisation-cta__inner{
        padding-block:55px;
        align-items:flex-start;
        flex-direction:column;
    }
    .leto-lightbox{
        padding:12px;
    }
    .leto-lightbox__dialog{
        grid-template-columns:1fr;
        max-height:94vh;
        overflow:auto;
    }
    .leto-lightbox__image-wrap{
        min-height:0;
        max-height:66vh;
    }
    .leto-lightbox__image-wrap img{
        max-height:66vh;
    }
    .leto-lightbox__info{
        padding:24px;
    }
}
@media(max-width:480px){
    .leto-realisations-grid{columns:1}
}
