:root { --es-ink: #171715; --es-muted: #6d6962; --es-paper: #f7f4ef; --es-white: #ffffff; --es-line: rgba(23, 23, 21, 0.14); --es-accent: #b48b66; --es-radius: 2px; --es-shadow: 0 24px 70px rgba(24, 21, 17, 0.10); --es-container: min(1240px, calc(100vw - 48px)); --es-content-width: 760px; --es-section-space: 100px; --es-button-radius: 0px; --es-header-height: 84px; --es-footer-bg: #11110f; --es-footer-text: #ffffff; --es-serif: "Playfair Display", Georgia, serif; --es-sans: "DM Sans", Arial, sans-serif; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--es-white); color: var(--es-ink); font-family: var(--es-sans); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; } img { max-width: 100%; height: auto; display: block; } a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; } button, input, textarea, select { font: inherit; } button { color: inherit; } .screen-reader-text, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .skip-link:focus { position: fixed; top: 12px; left: 12px; z-index: 99999; background: var(--es-white); padding: 10px 14px; } .es-container { width: var(--es-container); margin-inline: auto; } .es-section { padding: var(--es-section-space) 0; } .es-section--compact { padding: calc(var(--es-section-space) * .72) 0; } .es-section--soft { background: var(--es-paper); } .es-eyebrow { margin: 0 0 18px; color: var(--es-accent); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; } h1, h2, h3, h4 { font-family: var(--es-serif); font-weight: 500; line-height: 1.05; margin-top: 0; } h1 { font-size: clamp(46px, 7vw, 98px); letter-spacing: -.04em; } h2 { font-size: clamp(34px, 4.4vw, 62px); letter-spacing: -.035em; } h3 { font-size: clamp(24px, 2vw, 32px); } p { margin-top: 0; } .site-header { position: relative; top: auto; z-index: 1000; border-bottom: 1px solid transparent; background: rgba(255,255,255,.92); backdrop-filter: blur(14px); transition: border-color .25s ease, box-shadow .25s ease; } .site-header.is-sticky { position: sticky; top: 0; } .site-header.is-scrolled { border-color: var(--es-line); box-shadow: 0 10px 40px rgba(0,0,0,.04); } .site-header__inner { min-height: var(--es-header-height); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; } .site-branding { min-width: 180px; } .custom-logo { max-height: 62px; width: auto; } .site-branding__text { display: inline-flex; flex-direction: column; text-decoration: none; } .site-branding__name { font-family: var(--es-serif); font-size: 26px; line-height: 1; } .site-branding__tagline { color: var(--es-muted); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; margin-top: 7px; } .primary-navigation { justify-self: center; } .primary-menu, .primary-navigation .menu { list-style: none; display: flex; align-items: center; gap: clamp(14px, 2vw, 30px); padding: 0; margin: 0; } .primary-menu a, .primary-navigation .menu a { text-decoration: none; font-size: 13px; font-weight: 500; position: relative; white-space: nowrap; } .primary-menu a::after, .primary-navigation .menu a::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 100%; height: 1px; background: var(--es-accent); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; } .primary-menu a:hover::after, .primary-navigation .menu a:hover::after, .current-menu-item > a::after { transform: scaleX(1); transform-origin: left; } .site-header__actions { display: flex; gap: 12px; align-items: center; } .header-cart-link { position: relative; width: 42px; height: 42px; flex: 0 0 42px; display: inline-grid; place-items: center; border: 1px solid var(--es-line); border-radius: 50%; background: rgba(255,255,255,.78); color: var(--es-ink); text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease; } .header-cart-link:hover, .header-cart-link:focus-visible { background: var(--es-paper); border-color: color-mix(in srgb, var(--es-ink) 28%, transparent); } .header-cart-link__icon { width: 21px; height: 21px; display: block; } .header-cart-link__count { position: absolute; right: -4px; top: -5px; min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid white; border-radius: 999px; display: grid; place-items: center; background: var(--es-accent); color: white; font-size: 9px; line-height: 1; font-weight: 700; } .header-cart-link__count.is-empty { display: none; } .menu-toggle { display: none; border: 0; background: transparent; padding: 8px; } .menu-toggle > span:not(.screen-reader-text) { width: 24px; height: 1px; background: currentColor; display: block; margin: 5px 0; } .es-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 24px; border: 1px solid var(--es-ink); border-radius: var(--es-button-radius); background: var(--es-ink); color: var(--es-white); text-decoration: none; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; } .es-button:hover { background: transparent; color: var(--es-ink); transform: translateY(-1px); } .es-button--small { min-height: 40px; padding: 0 18px; font-size: 10px; } .es-button--light { background: white; border-color: white; color: var(--es-ink); } .es-button--light:hover { background: transparent; color: white; } .es-link { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-size: 13px; font-weight: 600; border-bottom: 1px solid currentColor; padding-bottom: 4px; } .hero { position: relative; min-height: min(820px, calc(100vh - var(--es-header-height))); display: flex; align-items: flex-end; overflow: hidden; background: radial-gradient(circle at 72% 32%, rgba(180,139,102,.20), transparent 34%), linear-gradient(135deg, #f4efe8 0%, #e8ded3 58%, #d8c4b2 100%); } .hero--has-image { background-image: var(--hero-image); background-size: cover; background-position: center 38%; } .hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,17,15,.68) 0%, rgba(18,17,15,.38) 44%, rgba(18,17,15,.10) 76%, rgba(18,17,15,.06) 100%); opacity: 0; } .hero--has-image .hero__overlay { opacity: 1; } .hero__content { position: relative; z-index: 1; padding-bottom: clamp(84px, 10vw, 130px); max-width: 1180px; } .hero__content h1 { max-width: 860px; margin-bottom: 26px; } .hero__lead { max-width: 650px; font-size: clamp(18px, 1.6vw, 22px); color: rgba(23,23,21,.74); } .hero--has-image .hero__content, .hero--has-image .hero__content .es-eyebrow, .hero--has-image .hero__lead { color: white; } .hero--has-image .es-button { background: white; border-color: white; color: var(--es-ink); } .hero--has-image .es-button:hover { background: transparent; color: white; } .hero__actions { display: flex; gap: 26px; align-items: center; margin-top: 34px; flex-wrap: wrap; } .hero__meta { position: absolute; right: 28px; bottom: 30px; z-index: 1; display: flex; gap: 18px; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; } .hero--has-image .hero__meta { color: white; } .intro__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: clamp(42px, 9vw, 120px); align-items: start; } .intro__copy { padding-top: 44px; color: var(--es-muted); font-size: 17px; } .intro__copy p + p { margin-top: 20px; } .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 52px; } .section-heading h2 { max-width: 760px; margin-bottom: 0; } .service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(34px, 5vw, 74px) clamp(24px, 3.2vw, 48px); align-items: start; } .service-card:nth-child(even) { margin-top: 0; } .service-card { align-self: start; display: flex; flex-direction: column; } .service-card__media { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #ddd1c4; text-decoration: none; } .service-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); } .service-card:hover .service-card__media img { transform: scale(1.025); } .service-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(145deg, #d4c2b0, #efe7de 52%, #cbb39d); } .service-card__placeholder span { font-family: var(--es-serif); font-size: 96px; color: rgba(255,255,255,.54); } .service-card__body { padding-top: 22px; position: relative; } .service-card__number { color: var(--es-accent); font-size: 11px; letter-spacing: .12em; } .service-card h3 { margin: 8px 0 10px; } .service-card h3 a { text-decoration: none; } .service-card p { color: var(--es-muted); max-width: 540px; } .process-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid var(--es-line); } .process-grid article { padding: 32px 28px 10px 0; border-right: 1px solid var(--es-line); } .process-grid article:not(:first-child) { padding-left: 28px; } .process-grid article:last-child { border-right: 0; } .process-grid span { color: var(--es-accent); font-size: 11px; letter-spacing: .14em; } .process-grid h3 { font-size: 25px; margin: 42px 0 14px; } .process-grid p { color: var(--es-muted); font-size: 14px; } .private-gallery { padding-top: 24px; } .private-gallery__box { min-height: 440px; padding: clamp(40px, 6vw, 78px); background: var(--es-ink); color: white; display: flex; align-items: end; justify-content: space-between; gap: 40px; } .private-gallery__box h2 { max-width: 800px; margin-bottom: 18px; } .private-gallery__box p:not(.es-eyebrow) { max-width: 670px; color: rgba(255,255,255,.68); } .contact-cta { text-align: center; } .contact-cta__inner { max-width: 930px; } .contact-cta h2 { margin-bottom: 22px; } .contact-cta p:not(.es-eyebrow) { color: var(--es-muted); max-width: 720px; margin: 0 auto 32px; } .page-hero { background: var(--es-paper); } .page-hero__grid { display: grid; grid-template-columns: 1fr minmax(280px, .55fr); gap: 60px; align-items: center; } .page-hero h1 { font-size: clamp(44px, 6vw, 84px); margin-bottom: 0; } .page-hero__image { aspect-ratio: 4/3; overflow: hidden; } .page-hero__image img { width:100%; height:100%; object-fit:cover; } .es-prose { max-width: var(--es-content-width); } .es-prose > * { max-width: var(--es-content-width); margin-left: auto; margin-right: auto; } .es-prose > .alignwide { max-width: 1120px; } .es-prose > .alignfull { max-width: none; width: 100vw; margin-left: 50%; transform: translateX(-50%); } .es-prose h2, .es-prose h3 { margin-top: 1.6em; } .es-prose p, .es-prose li { color: #4f4c47; } .es-prose img { border-radius: var(--es-radius); } .single-entry__image { max-width: 1120px !important; margin: 44px auto; } .archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:52px; } .archive-card__media { aspect-ratio:4/5; overflow:hidden; display:block; background:var(--es-paper); } .archive-card__media img { width:100%; height:100%; object-fit:cover; } .archive-card .es-eyebrow { margin-top:18px; } .archive-card h2 { font-size:30px; } .archive-card h2 a { text-decoration:none; } .site-footer { background: var(--es-footer-bg); color: var(--es-footer-text); padding: 82px 0 26px; } .site-footer__grid { display: grid; grid-template-columns: 1.6fr .65fr .65fr; gap: 60px; } .site-footer__grid h2 { max-width: 620px; font-size: clamp(34px,4vw,54px); } .site-footer__grid > div:first-child p:last-child { color: rgba(255,255,255,.55); } .site-footer__grid h3 { font-family: var(--es-sans); font-size: 11px; text-transform: uppercase; letter-spacing: .14em; color: var(--es-accent); margin-bottom: 20px; } .site-footer__eyebrow { color: var(--es-accent); font-size: 11px; text-transform: uppercase; letter-spacing: .18em; } .footer-menu { list-style: none; padding: 0; margin: 0; } .footer-menu li { margin: 8px 0; } .footer-menu a { color: rgba(255,255,255,.72); text-decoration: none; font-size: 14px; } .footer-menu a:hover { color: white; } .site-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 60px; padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.38); font-size: 11px; } .woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button { border-radius: 0 !important; background: var(--es-ink) !important; color: white !important; font-family: var(--es-sans) !important; font-size: 12px !important; letter-spacing: .06em; text-transform: uppercase; padding: 15px 20px !important; } .woocommerce ul.products li.product a img { aspect-ratio: 4/5; object-fit: cover; margin-bottom: 18px; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--es-serif); font-size: 22px; color: var(--es-ink); } .woocommerce ul.products li.product .price { color: var(--es-muted); } .woocommerce span.onsale { border-radius:0; background:var(--es-accent); } .service-card__media,.archive-card__media,.page-hero__image,.es-gallery-card__media,.es-contact-form-card,.private-gallery__box { border-radius: var(--es-radius); } .site-header--centered .site-header__inner { grid-template-columns: 1fr auto 1fr; } .site-header--centered .site-branding { grid-column: 2; grid-row: 1; justify-self: center; text-align: center; } .site-header--centered .primary-navigation { grid-column: 1; grid-row: 1; justify-self: start; } .site-header--centered .site-header__actions { grid-column: 3; grid-row: 1; justify-self: end; } .site-header--minimal { background: rgba(255,255,255,.97); backdrop-filter: none; } .site-header--minimal .site-branding__tagline { display: none; } @media (max-width: 1080px) { .site-header__inner { grid-template-columns: auto auto 1fr; } .site-header--centered .site-branding,.site-header--centered .primary-navigation,.site-header--centered .site-header__actions { grid-column: auto; grid-row: auto; } .primary-navigation { display: none; position: absolute; inset: var(--es-header-height) 0 auto; background: white; border-bottom: 1px solid var(--es-line); padding: 26px 24px 34px; } .menu-open .primary-navigation { display: block; } .primary-menu, .primary-navigation .menu { flex-direction: column; align-items: flex-start; gap: 18px; } .menu-toggle { display: block; justify-self: end; } .site-header__actions { justify-self: end; } .site-header__actions .es-button { display: none; } .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .process-grid article:nth-child(2) { border-right:0; } .process-grid article:nth-child(n+3) { border-top:1px solid var(--es-line); } .site-footer__grid { grid-template-columns:1fr 1fr; } .site-footer__grid > div:first-child { grid-column:1/-1; } } @media (max-width: 760px) { :root { --es-container: min(100% - 28px, 1240px); } .es-section { padding: min(var(--es-section-space), 74px) 0; } .site-header__inner { min-height: 72px; gap: 12px; grid-template-columns: 1fr auto auto; } .primary-navigation { top:72px; } .custom-logo { max-height:48px; max-width:190px; } .site-branding__name { font-size:22px; } .site-branding__tagline { display:none; } .hero { min-height: 720px; } .hero__content { padding-bottom: 86px; } .hero__lead { font-size:17px; } .hero__meta { right:16px; bottom:18px; gap:10px; } .intro__grid, .page-hero__grid { grid-template-columns:1fr; gap:28px; } .intro__copy { padding-top:0; } .section-heading { align-items:flex-start; flex-direction:column; margin-bottom:34px; } .service-grid { grid-template-columns:1fr; } .service-card:nth-child(even) { margin-top:0; } .service-card__media { aspect-ratio: 4 / 4.8; } .process-grid { grid-template-columns:1fr; border-top:0; } .process-grid article, .process-grid article:not(:first-child) { border-right:0; border-top:1px solid var(--es-line); padding:26px 0; } .process-grid h3 { margin-top:20px; } .private-gallery__box { min-height:520px; padding:34px 26px; flex-direction:column; align-items:flex-start; justify-content:flex-end; } .archive-grid { grid-template-columns:1fr; } .site-footer__grid { grid-template-columns:1fr; gap:32px; } .site-footer__grid > div:first-child { grid-column:auto; } .site-footer__bottom { flex-direction:column; } } .site-topbar { background: var(--es-ink); color: rgba(255,255,255,.72); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; } .site-topbar__inner { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .site-topbar a { color: white; text-decoration: none; } .hero--has-image { background-position: var(--hero-position, center 38%); } .hero__scroll { position: absolute; left: max(24px, calc((100vw - 1240px) / 2)); bottom: 26px; z-index: 2; display: inline-flex; align-items: center; gap: 12px; color: rgba(23,23,21,.64); font-size: 9px; letter-spacing: .18em; text-decoration: none; text-transform: uppercase; } .hero--has-image .hero__scroll { color: rgba(255,255,255,.76); } .hero__scroll i { width: 54px; height: 1px; background: currentColor; display: block; } .es-button--outline { background: transparent; color: var(--es-ink); } .es-button--outline:hover { background: var(--es-ink); color: white; } .es-section--dark { background: var(--es-ink); color: white; } .portfolio-teaser__heading { align-items: end; } .portfolio-teaser__note { width: min(100%, 380px); margin: 0; color: var(--es-muted); font-size: 15px; } .portfolio-mosaic { display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: repeat(2, minmax(260px, 360px)); gap: 18px; } .portfolio-mosaic figure { margin: 0; overflow: hidden; background: var(--es-paper); } .portfolio-mosaic figure:first-child { grid-row: 1 / 3; } .portfolio-mosaic img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); } .portfolio-mosaic figure:hover img { transform: scale(1.02); } .portfolio-teaser__action { text-align: center; margin-top: 38px; } .statement { padding-block: clamp(100px, 12vw, 170px); } .statement__inner { max-width: 1030px; text-align: center; } .statement blockquote { margin: 0 auto 28px; max-width: 980px; font-family: var(--es-serif); font-size: clamp(42px, 5.6vw, 78px); font-weight: 500; line-height: 1.05; letter-spacing: -.035em; } .statement__inner > p:last-child { max-width: 620px; margin: 0 auto; color: rgba(255,255,255,.60); } .home-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 22px; } .home-product-card__image { display: block; overflow: hidden; background: white; aspect-ratio: 4 / 5; } .home-product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; } .home-product-card:hover .home-product-card__image img { transform: scale(1.02); } .home-product-card__body { padding-top: 16px; } .home-product-card h3 { margin: 0 0 5px; font-size: 22px; } .home-product-card h3 a { text-decoration: none; } .home-product-card__price { color: var(--es-muted); font-size: 14px; } .woocommerce .woocommerce-breadcrumb { color: var(--es-muted); font-size: 12px; } .woocommerce div.product div.images img { background: var(--es-paper); } .woocommerce div.product .product_title { font-size: clamp(38px,5vw,66px); } .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--es-ink); } .woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--es-accent); background: var(--es-paper); } .woocommerce-message::before, .woocommerce-info::before { color: var(--es-accent); } @media (max-width: 1080px) { .home-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } } @media (max-width: 760px) { body.menu-open { overflow: hidden; } .site-topbar { display: none; } .hero__scroll { left: 16px; } .portfolio-mosaic { grid-template-columns: 1fr; grid-template-rows: none; gap: 12px; } .portfolio-mosaic figure, .portfolio-mosaic figure:first-child { grid-row: auto; aspect-ratio: 4 / 5; } .portfolio-mosaic figure:nth-child(2) { aspect-ratio: 4 / 3; } .portfolio-teaser__note { width: 100%; } .statement blockquote { font-size: clamp(38px,12vw,58px); } .home-product-grid { grid-template-columns: 1fr 1fr; gap: 14px; } .home-product-card h3 { font-size: 18px; } } :root{--es-radius:2px;--es-shadow:0 28px 80px rgba(17,17,16,.08)} .es-portfolio-hero{padding-top:clamp(80px,10vw,150px);padding-bottom:clamp(55px,7vw,100px);background:var(--es-paper)} .es-portfolio-hero__inner{max-width:1050px} .es-portfolio-hero h1,.es-album-hero h1,.es-contact-hero h1{font-family:var(--es-serif);font-weight:500;letter-spacing:-.035em} .es-portfolio-hero h1{max-width:950px;margin:.15em 0 .3em;font-size:clamp(42px,6.5vw,88px);line-height:.98} .es-portfolio-hero__inner>p:last-child{max-width:700px;margin:0;font-size:clamp(17px,2vw,21px);line-height:1.75;color:#5e5b55} .es-gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(26px,4vw,48px)} .es-gallery-filters button{appearance:none;padding:10px 17px;border:1px solid rgba(23,23,21,.16);border-radius:999px;background:transparent;color:var(--es-ink);font:600 12px/1 var(--es-sans);letter-spacing:.04em;cursor:pointer;transition:.2s ease} .es-gallery-filters button:hover,.es-gallery-filters button.is-active{border-color:var(--es-ink);background:var(--es-ink);color:#fff} .es-gallery-cards{display:grid;grid-template-columns:repeat(var(--gallery-cols,3),minmax(0,1fr));gap:var(--gallery-gap,18px)} .es-gallery-card{min-width:0;transition:opacity .25s ease,transform .25s ease} .es-gallery-card.is-hidden{display:none} .es-gallery-card__media{position:relative;display:block;overflow:hidden;background:#e9e5df;color:#fff} .es-gallery-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,.61,.36,1)} .es-gallery-card__media.has-zoom:hover img{transform:scale(1.035)} .es-ratio--portrait{aspect-ratio:4/5}.es-ratio--landscape{aspect-ratio:4/3}.es-ratio--square{aspect-ratio:1}.es-ratio--natural{aspect-ratio:auto;min-height:280px}.es-ratio--natural img{height:auto} .es-gallery-card__placeholder{display:grid;width:100%;height:100%;place-items:center;min-height:340px;font-family:var(--es-serif);font-size:42px;color:rgba(23,23,21,.25)} .es-gallery-card__overlay{position:absolute;inset:auto 0 0;padding:70px 24px 22px;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.72));display:flex;flex-direction:column;gap:6px} .es-gallery-card__overlay small,.es-gallery-card__body small{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600} .es-gallery-card__overlay strong{font-family:var(--es-serif);font-size:clamp(22px,2.3vw,31px);font-weight:500;line-height:1.05} .es-gallery-card__body{padding:16px 3px 8px}.es-gallery-card__body small{color:var(--es-accent)}.es-gallery-card__body h2{margin:6px 0 0;font-family:var(--es-serif);font-size:27px;font-weight:500}.es-gallery-card__body h2 a{color:inherit;text-decoration:none}.es-gallery-card__body p{margin:8px 0 0;color:#6f6a63} .es-gallery-cards--minimal .es-gallery-card__body{padding-top:10px}.es-gallery-cards--minimal .es-gallery-card__body small,.es-gallery-cards--minimal .es-gallery-card__body p{display:none}.es-gallery-cards--minimal .es-gallery-card__body h2{font-size:20px} .es-empty-state{grid-column:1/-1;padding:clamp(50px,8vw,110px) 25px;text-align:center;border:1px dashed rgba(23,23,21,.18)}.es-empty-state h2{font-family:var(--es-serif);font-size:38px;font-weight:500}.es-empty-state p{color:#716d67} .es-album-hero{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(45px,6vw,85px);background:#fff}.es-album-hero__inner{max-width:1000px}.es-album-hero .es-link{display:inline-flex;margin-bottom:45px}.es-album-hero h1{margin:.15em 0 .2em;font-size:clamp(48px,7vw,96px);line-height:.96}.es-album-hero__lead{max-width:680px;font-size:19px;line-height:1.7;color:#67635d}.es-album-intro{padding-top:0}.es-album-intro .es-prose{max-width:760px}.es-album-grid{columns:3;column-gap:16px}.es-album-photo{break-inside:avoid;margin:0 0 16px}.es-album-photo a{display:block;overflow:hidden;background:#e9e5df;cursor:zoom-in}.es-album-photo img{display:block;width:100%;height:auto;transition:transform .5s ease}.es-album-photo a:hover img{transform:scale(1.012)}.es-album-photo figcaption{padding:7px 0 2px;color:#77716a;font-size:12px} .es-lightbox{position:fixed;z-index:999999;inset:0;display:none;align-items:center;justify-content:center;background:rgba(8,8,8,.96);color:#fff}.es-lightbox.is-open{display:flex}.es-lightbox__stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:64px 90px}.es-lightbox__image{max-width:100%;max-height:calc(100vh - 128px);width:auto;height:auto;object-fit:contain}.es-lightbox__close,.es-lightbox__prev,.es-lightbox__next{position:absolute;z-index:2;appearance:none;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.2s}.es-lightbox__close:hover,.es-lightbox__prev:hover,.es-lightbox__next:hover{background:rgba(255,255,255,.18)}.es-lightbox__close{top:18px;right:18px;width:44px;height:44px;border-radius:50%;font-size:25px}.es-lightbox__prev,.es-lightbox__next{top:50%;width:50px;height:64px;transform:translateY(-50%);font-size:30px}.es-lightbox__prev{left:18px}.es-lightbox__next{right:18px}.es-lightbox__caption{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);max-width:min(780px,80vw);margin:0;color:rgba(255,255,255,.75);font-size:13px;text-align:center}.es-lightbox__counter{position:absolute;top:29px;left:24px;color:rgba(255,255,255,.6);font-size:12px;letter-spacing:.08em} .es-contact-hero{position:relative;min-height:clamp(420px,58vw,720px);display:flex;align-items:flex-end;background:var(--es-paper);overflow:hidden}.es-contact-hero.has-image{background-image:var(--contact-hero);background-size:cover;background-position:center}.es-contact-hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.28) 48%,rgba(0,0,0,.05) 100%);opacity:0}.es-contact-hero.has-image .es-contact-hero__veil{opacity:1}.es-contact-hero__inner{position:relative;z-index:1;padding-top:90px;padding-bottom:clamp(55px,7vw,95px);width:100%}.es-contact-hero__inner>*{max-width:830px}.es-contact-hero h1{margin:.12em 0 .24em;font-size:clamp(45px,7vw,94px);line-height:.96}.es-contact-hero__inner>p:last-child{max-width:690px;margin:0;font-size:clamp(17px,2vw,21px);line-height:1.7;color:#625e58}.es-contact-hero.has-image,.es-contact-hero.has-image .es-eyebrow,.es-contact-hero.has-image .es-contact-hero__inner>p:last-child{color:#fff} .es-contact-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.35fr);gap:clamp(40px,7vw,110px);align-items:start}.es-contact-page--centered .es-contact-layout{grid-template-columns:1fr;max-width:880px}.es-contact-page--centered .es-contact-info{text-align:center}.es-contact-page--card{background:var(--es-paper)}.es-contact-page--card .es-contact-form-card{background:#fff;padding:clamp(28px,5vw,58px);box-shadow:var(--es-shadow)} .es-contact-info{position:sticky;top:125px}.es-contact-info h2{margin:.2em 0 1.2em;font-family:var(--es-serif);font-size:clamp(34px,4vw,52px);font-weight:500}.es-contact-info__list{border-top:1px solid rgba(23,23,21,.14)}.es-contact-info__list>a,.es-contact-info__list>div{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-bottom:1px solid rgba(23,23,21,.14);color:inherit;text-decoration:none}.es-contact-info__list span{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#89837b}.es-contact-info__list strong{font-size:15px;font-weight:500}.es-contact-socials{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}.es-contact-socials a{color:inherit;font-weight:600;font-size:13px} .es-contact-form-card h2{margin:.18em 0 .25em;font-family:var(--es-serif);font-size:clamp(38px,5vw,62px);font-weight:500}.es-contact-form-card__intro{max-width:640px;margin:0 0 35px;color:#716c65;line-height:1.7}.es-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.es-form-grid label{display:flex;flex-direction:column;gap:8px}.es-form-grid label>span{font-size:12px;font-weight:600}.es-form-grid input:not([type=checkbox]),.es-form-grid select,.es-form-grid textarea{width:100%;min-height:48px;padding:11px 0;border:0;border-bottom:1px solid rgba(23,23,21,.22);border-radius:0;background:transparent;color:var(--es-ink);font:inherit;outline:0;transition:border-color .2s,box-shadow .2s}.es-form-grid textarea{resize:vertical;min-height:150px}.es-form-grid input:focus,.es-form-grid select:focus,.es-form-grid textarea:focus{border-color:var(--es-accent);box-shadow:0 1px 0 var(--es-accent)}.es-form-full{grid-column:1/-1}.es-form-check{flex-direction:row!important;align-items:flex-start;gap:10px!important}.es-form-check input{margin-top:3px;accent-color:var(--es-ink)}.es-form-check span{font-weight:400!important;line-height:1.55;color:#6c6760}.es-contact-submit{margin-top:30px}.es-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.es-form-notice{margin:0 0 28px;padding:18px 20px;border-left:3px solid var(--es-accent);background:var(--es-paper)}.es-form-notice strong{display:block;margin-bottom:5px}.es-form-notice p{margin:0}.es-form-notice--error{border-color:#a13d36;background:#fff4f3} @media (max-width:1180px){.es-gallery-cards{grid-template-columns:repeat(var(--gallery-cols-tablet,2),minmax(0,1fr))}.es-album-grid{columns:2}.es-contact-layout{gap:55px}} @media (max-width:900px){.es-contact-layout{grid-template-columns:1fr}.es-contact-info{position:static;display:grid;grid-template-columns:1fr 1fr;gap:25px}.es-contact-info h2,.es-contact-info>.es-eyebrow,.es-contact-socials{grid-column:1/-1}.es-contact-info__list{grid-column:1/-1}.es-contact-hero__veil{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.12))}} @media (max-width:782px){.es-portfolio-hero{padding-top:65px}.es-gallery-filters{flex-wrap:nowrap;overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:0 20px 8px;scrollbar-width:none}.es-gallery-filters::-webkit-scrollbar{display:none}.es-gallery-filters button{white-space:nowrap}.es-album-hero .es-link{margin-bottom:28px}.es-album-grid{columns:2;column-gap:10px}.es-album-photo{margin-bottom:10px}.es-lightbox__stage{padding:58px 10px 70px}.es-lightbox__prev,.es-lightbox__next{top:auto;bottom:12px;width:46px;height:46px;border-radius:50%;transform:none}.es-lightbox__prev{left:18px}.es-lightbox__next{right:18px}.es-lightbox__caption{bottom:25px;max-width:58vw}.es-contact-page{padding-top:55px}.es-contact-info{display:block}.es-form-grid{grid-template-columns:1fr}.es-form-full{grid-column:auto}.es-contact-form-card h2{font-size:43px}} @media (max-width:620px){.es-gallery-cards{grid-template-columns:repeat(var(--gallery-cols-mobile,1),minmax(0,1fr));gap:14px}.es-ratio--portrait{aspect-ratio:4/5}.es-gallery-card__overlay{padding:60px 18px 18px}.es-album-grid{columns:1}.es-contact-hero{min-height:480px}.es-contact-hero__inner{padding-bottom:42px}.es-contact-hero h1{font-size:48px}.es-contact-page--card .es-contact-form-card{padding:25px 20px}.es-contact-form-card h2{font-size:39px}} .es-contact-page--no-info .es-contact-layout{grid-template-columns:1fr;max-width:900px} .home-galleries__heading{align-items:end}.home-galleries__heading>p{max-width:520px;margin:0;color:var(--es-muted);line-height:1.7}.home-galleries .es-gallery-cards{margin-top:38px}.home-galleries__action{display:flex;justify-content:flex-end;margin-top:28px} [id^="home-section-"]{scroll-margin-top:calc(var(--es-header-height) + 28px)} @media(max-width:760px){.home-galleries__heading{align-items:flex-start}.home-galleries__heading>p{max-width:none}.home-galleries__action{justify-content:flex-start}} .es-gallery-card__media{ border-radius:var(--gallery-radius,12px); transition:transform var(--gallery-speed,650ms) cubic-bezier(.22,.61,.36,1),box-shadow var(--gallery-speed,650ms) ease,filter var(--gallery-speed,650ms) ease; } .es-gallery-card__media img{ transition:transform var(--gallery-speed,650ms) cubic-bezier(.22,.61,.36,1),filter var(--gallery-speed,650ms) ease,opacity var(--gallery-speed,650ms) ease; } .es-ratio--portrait-34{aspect-ratio:3/4} .es-ratio--portrait-23{aspect-ratio:2/3} .es-ratio--landscape-32{aspect-ratio:3/2} .es-ratio--widescreen{aspect-ratio:16/9} .es-ratio--cinematic{aspect-ratio:21/9} .es-gallery-shadow--none{--gallery-depth:0 0 0 rgba(0,0,0,0)} .es-gallery-shadow--soft{--gallery-depth:0 10px 28px rgba(18,17,15,.08)} .es-gallery-shadow--medium{--gallery-depth:0 16px 38px rgba(18,17,15,.14)} .es-gallery-shadow--strong{--gallery-depth:0 22px 50px rgba(18,17,15,.22)} .es-gallery-card__media{box-shadow:var(--gallery-depth,0 10px 28px rgba(18,17,15,.08))} .es-gallery-border--subtle .es-gallery-card__media{box-shadow:inset 0 0 0 1px rgba(23,23,21,.14),var(--gallery-depth)} .es-gallery-border--white .es-gallery-card__media{box-shadow:inset 0 0 0 5px rgba(255,255,255,.94),var(--gallery-depth)} .es-gallery-border--accent .es-gallery-card__media{box-shadow:inset 0 0 0 2px var(--es-accent),var(--gallery-depth)} .es-gallery-hover--zoom .es-gallery-card:hover .es-gallery-card__media img{transform:scale(1.055)} .es-gallery-hover--lift .es-gallery-card:hover .es-gallery-card__media{transform:translateY(-8px)} .es-gallery-hover--zoom-lift .es-gallery-card:hover .es-gallery-card__media{transform:translateY(-7px)} .es-gallery-hover--zoom-lift .es-gallery-card:hover .es-gallery-card__media img{transform:scale(1.05)} .es-gallery-hover--grayscale .es-gallery-card__media img{filter:grayscale(1)} .es-gallery-hover--grayscale .es-gallery-card:hover .es-gallery-card__media img{filter:grayscale(0)} .es-gallery-hover--brighten .es-gallery-card__media img{filter:brightness(.9)} .es-gallery-hover--brighten .es-gallery-card:hover .es-gallery-card__media img{filter:brightness(1.08)} .es-gallery-hover--zoom-out .es-gallery-card__media img{transform:scale(1.055)} .es-gallery-hover--zoom-out .es-gallery-card:hover .es-gallery-card__media img{transform:scale(1)} .es-gallery-overlay--gradient .es-gallery-card__overlay{ background:linear-gradient(to bottom,transparent 28%,rgba(0,0,0,var(--gallery-overlay-mid-alpha,.25)) 62%,rgba(0,0,0,var(--gallery-overlay-alpha,.72)) 100%); } .es-gallery-overlay--soft .es-gallery-card__overlay{ inset:0; justify-content:flex-end; background:rgba(0,0,0,var(--gallery-overlay-soft-alpha,.35)); } .es-gallery-overlay--full .es-gallery-card__overlay{ inset:0; justify-content:flex-end; background:rgba(0,0,0,var(--gallery-overlay-alpha,.72)); } .es-gallery-overlay--glass .es-gallery-card__overlay{ left:14px;right:14px;bottom:14px; padding:16px 18px; border:1px solid rgba(255,255,255,.2); border-radius:max(4px,calc(var(--gallery-radius,12px) - 5px)); background:rgba(12,12,12,.42); backdrop-filter:blur(12px) saturate(115%); -webkit-backdrop-filter:blur(12px) saturate(115%); } .es-gallery-overlay--none .es-gallery-card__overlay{background:transparent;text-shadow:0 2px 14px rgba(0,0,0,.78)} .es-gallery-overlay-pos--bottom-center .es-gallery-card__overlay{align-items:center;text-align:center} .es-gallery-overlay-pos--center .es-gallery-card__overlay{inset:0;justify-content:center;align-items:center;text-align:center;padding:24px} .es-gallery-overlay-pos--top-left .es-gallery-card__overlay{inset:0 0 auto;padding:22px 24px 68px} .es-gallery-overlay--gradient.es-gallery-overlay-pos--top-left .es-gallery-card__overlay{background:linear-gradient(to top,transparent,rgba(0,0,0,var(--gallery-overlay-alpha,.72)))} .es-gallery-overlay--glass.es-gallery-overlay-pos--center .es-gallery-card__overlay{inset:50% 14px auto;transform:translateY(-50%);justify-content:center} .es-gallery-overlay--glass.es-gallery-overlay-pos--top-left .es-gallery-card__overlay{inset:14px 14px auto} @media (hover:none){ .es-gallery-hover--lift .es-gallery-card:hover .es-gallery-card__media, .es-gallery-hover--zoom-lift .es-gallery-card:hover .es-gallery-card__media{transform:none} } @media (prefers-reduced-motion:reduce){ .es-gallery-card__media,.es-gallery-card__media img{transition:none!important;transform:none!important} } .primary-menu .menu-item--eventshoot-booking > a, .primary-navigation .page-item--eventshoot-booking > a { color: var(--es-accent); font-weight: 600; } .mobile-menu__head, .mobile-menu__foot, .menu-backdrop { display: none; } @media (max-width:1080px) { body.menu-open { overflow: hidden; } .primary-navigation { display: flex; position: fixed; z-index: 1400; inset: 0 0 0 auto; width: min(88vw, 410px); height: 100dvh; padding: 0; flex-direction: column; justify-self: auto; overflow-y: auto; overscroll-behavior: contain; border: 0; border-left: 1px solid rgba(23,23,21,.09); background: rgba(255,255,255,.985); box-shadow: -28px 0 80px rgba(23,23,21,.16); transform: translateX(105%); visibility: hidden; pointer-events: none; transition: transform .36s cubic-bezier(.22,.61,.36,1), visibility .36s; } .menu-open .primary-navigation { display: flex; transform: translateX(0); visibility: visible; pointer-events: auto; } .menu-backdrop { display: block; position: fixed; z-index: 1450; inset: 0; background: rgba(17,17,15,.46); backdrop-filter: none; -webkit-backdrop-filter: none; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .3s ease, visibility .3s ease; } .menu-open .menu-backdrop { opacity: 1; visibility: visible; pointer-events: auto; } .mobile-menu__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 92px; padding: 22px 24px; border-bottom: 1px solid var(--es-line); } .mobile-menu__head > div { display: grid; gap: 4px; } .mobile-menu__eyebrow { color: var(--es-accent); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; } .mobile-menu__head strong { font-family: var(--es-serif); font-size: 28px; font-weight: 500; } .mobile-menu__close { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--es-line); border-radius: 50%; background: #fff; color: var(--es-ink); font-size: 28px; line-height: 1; cursor: pointer; } .mobile-menu__body { flex: 1 0 auto; padding: 14px 24px 24px; } .primary-navigation .primary-menu, .primary-navigation .menu { width: 100%; display: flex; flex-direction: column; align-items: stretch; gap: 0; } .primary-navigation .primary-menu > li, .primary-navigation .menu > li { width: 100%; border-bottom: 1px solid rgba(23,23,21,.09); } .primary-navigation .primary-menu > li > a, .primary-navigation .menu > li > a { width: 100%; display: flex; align-items: center; min-height: 58px; padding: 14px 2px; font-family: var(--es-serif); font-size: clamp(22px, 6vw, 29px); font-weight: 500; white-space: normal; } .primary-navigation .primary-menu a::after, .primary-navigation .menu a::after { display: none; } .primary-navigation .sub-menu, .primary-navigation .children { position: static; width: 100%; margin: -2px 0 12px 10px; padding: 0 0 0 16px; border: 0; border-left: 1px solid var(--es-accent); background: transparent; box-shadow: none; list-style: none; } .primary-navigation .sub-menu a, .primary-navigation .children a { display: block; padding: 8px 0; font-family: var(--es-sans); font-size: 13px; font-weight: 500; } .mobile-menu__foot { display: grid; gap: 8px; padding: 20px 24px max(24px, env(safe-area-inset-bottom)); border-top: 1px solid var(--es-line); background: var(--es-paper); } .mobile-menu__foot a { display: flex; align-items: center; gap: 10px; color: var(--es-ink); text-decoration: none; font-size: 12px; font-weight: 600; word-break: break-word; } .mobile-menu__foot svg { width: 18px; height: 18px; flex: 0 0 auto; fill: currentColor; } .menu-toggle { width: 44px; height: 44px; display: grid; place-content: center; border: 1px solid transparent; border-radius: 50%; transition: border-color .2s ease, background .2s ease; } .menu-toggle:hover { border-color: var(--es-line); background: var(--es-paper); } } @media (max-width:520px) { .primary-navigation { width: min(92vw, 390px); } .mobile-menu__head { min-height: 82px; padding: 18px 20px; } .mobile-menu__body { padding-inline: 20px; } .mobile-menu__foot { padding-inline: 20px; } } .es-floating-contact { position: fixed; z-index: 1180; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; pointer-events: none; } .es-floating-contact--bottom-right { right: 22px; bottom: max(22px, env(safe-area-inset-bottom)); } .es-floating-contact--bottom-left { left: 22px; bottom: max(22px, env(safe-area-inset-bottom)); align-items: flex-start; } .es-floating-contact--middle-right { right: 22px; top: 52%; transform: translateY(-50%); } .es-floating-contact--middle-left { left: 22px; top: 52%; transform: translateY(-50%); align-items: flex-start; } .es-floating-contact__toggle { pointer-events: auto; display: flex; align-items: center; gap: 10px; padding: 0; border: 0; background: transparent; cursor: pointer; } .es-floating-contact--bottom-left .es-floating-contact__toggle, .es-floating-contact--middle-left .es-floating-contact__toggle { flex-direction: row-reverse; } .es-floating-contact__bubble { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--es-float-bg); color: var(--es-float-icon); box-shadow: 0 12px 35px rgba(17,17,15,.22); transition: transform .2s ease, box-shadow .2s ease; } .es-floating-contact__bubble svg { width: 24px; height: 24px; fill: currentColor; } .es-floating-contact__toggle:hover .es-floating-contact__bubble { transform: translateY(-2px); box-shadow: 0 16px 42px rgba(17,17,15,.27); } .es-floating-contact__label { padding: 9px 13px; border: 1px solid rgba(23,23,21,.08); border-radius: 999px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(17,17,15,.10); color: var(--es-ink); font-size: 11px; font-weight: 700; letter-spacing: .04em; } .es-floating-contact__items { pointer-events: auto; display: grid; gap: 8px; opacity: 0; transform: translateY(10px) scale(.97); visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility .2s; } .es-floating-contact.is-open .es-floating-contact__items { opacity: 1; transform: translateY(0) scale(1); visibility: visible; } .es-floating-contact__items a { min-width: 48px; min-height: 48px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 0 14px; border-radius: 999px; background: #fff; color: var(--es-ink); box-shadow: 0 10px 30px rgba(17,17,15,.13); text-decoration: none; font-size: 11px; font-weight: 600; } .es-floating-contact--bottom-left .es-floating-contact__items a, .es-floating-contact--middle-left .es-floating-contact__items a { justify-content: flex-start; } .es-floating-contact__items svg { width: 19px; height: 19px; flex: 0 0 auto; fill: currentColor; } @media (max-width:620px) { .es-floating-contact--bottom-right { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); } .es-floating-contact--bottom-left { left: 14px; bottom: max(14px, env(safe-area-inset-bottom)); } .es-floating-contact--middle-right { right: 14px; } .es-floating-contact--middle-left { left: 14px; } .es-floating-contact__bubble { width: 54px; height: 54px; } .es-floating-contact__label { display: none; } } .es-google-reviews { background: #fff; border-top: 1px solid var(--es-line); } .es-google-reviews__head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 36px; } .es-google-reviews__head h2 { max-width: 820px; margin-bottom: 0; } .es-google-rating { flex: 0 0 auto; display: grid; justify-items: end; gap: 3px; } .es-google-rating strong { font-family: var(--es-serif); font-size: 31px; font-weight: 500; } .es-google-rating > span, .es-google-review__stars { color: #e0aa22; letter-spacing: .08em; } .es-google-rating small { color: var(--es-muted); font-size: 11px; } .es-google-reviews__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; } .es-google-review { min-width: 0; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--es-line); border-radius: max(10px,var(--es-radius)); background: var(--es-paper); } .es-google-review__author { display: flex; align-items: center; gap: 12px; } .es-google-review__author img, .es-google-review__avatar { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 50%; object-fit: cover; background: #fff; } .es-google-review__avatar { display: grid; place-items: center; color: var(--es-accent); } .es-google-review__author > div { display: grid; gap: 2px; min-width: 0; } .es-google-review__author a, .es-google-review__author strong { overflow: hidden; color: var(--es-ink); font-size: 12px; font-weight: 700; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; } .es-google-review__stars { font-size: 10px; } .es-google-review__text { flex: 1 1 auto; margin: 22px 0 24px; color: #5e5a55; font-family: var(--es-serif); font-size: 20px; line-height: 1.45; } .es-google-review__meta { display: grid; gap: 7px; padding-top: 15px; border-top: 1px solid rgba(23,23,21,.1); } .es-google-review__meta span { color: var(--es-muted); font-size: 10px; line-height: 1.45; } .es-google-review__meta a { width: fit-content; color: var(--es-ink); font-size: 10px; font-weight: 700; } .es-google-reviews__foot { display: flex; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--es-line); } .es-google-reviews__foot p { margin: 0; color: var(--es-muted); font-size: 10px; } .es-home-social { background: var(--es-social-bg); color: var(--es-social-text); border-top: 1px solid rgba(23,23,21,.08); } .es-home-social__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; } .es-home-social__inner h2 { margin-bottom: 0; color: inherit; } .es-home-social__links { display: flex; flex-wrap: wrap; gap: 12px; } .es-home-social__links a { min-width: 124px; min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 18px; border: 1px solid currentColor; border-radius: 999px; color: inherit; text-decoration: none; font-size: 11px; font-weight: 700; transition: background .2s ease, color .2s ease, transform .2s ease; } .es-home-social__links a:hover { transform: translateY(-2px); background: var(--es-social-text); color: var(--es-social-bg); } .es-home-social__links svg { width: 19px; height: 19px; fill: currentColor; } @media (max-width:900px) { .es-google-reviews__grid { grid-template-columns: 1fr 1fr; } .es-home-social__inner { align-items: flex-start; flex-direction: column; } } @media (max-width:620px) { .es-google-reviews__head, .es-google-reviews__foot { align-items: flex-start; flex-direction: column; } .es-google-rating { justify-items: start; } .es-google-reviews__grid { grid-template-columns: 1fr; } .es-google-review { padding: 20px; } .es-home-social__links { width: 100%; display: grid; grid-template-columns: 1fr; } .es-home-social__links a { width: 100%; } } @media (max-width:1080px) { body.menu-open .site-header { z-index: 1500; } .menu-backdrop { z-index: 1450; background: rgba(17,17,15,.46); backdrop-filter: none !important; -webkit-backdrop-filter: none !important; } .primary-navigation { z-index: 10; filter: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: #fff; opacity: 1; } .mobile-menu__head, .mobile-menu__body, .mobile-menu__foot, .primary-navigation .primary-menu, .primary-navigation .menu { filter: none !important; opacity: 1; } body.menu-open .es-floating-contact { opacity: 0; visibility: hidden; pointer-events: none; } } .es-floating-contact { z-index: 1250; opacity: 1; visibility: visible; isolation: isolate; transition: opacity .18s ease, visibility .18s ease; } @media (max-width:620px) { .es-floating-contact--bottom-right { right: 16px; bottom: calc(18px + env(safe-area-inset-bottom, 0px) + var(--es-visual-bottom, 0px)); } .es-floating-contact--bottom-left { left: 16px; bottom: calc(18px + env(safe-area-inset-bottom, 0px) + var(--es-visual-bottom, 0px)); } .es-floating-contact__bubble { width: 56px; height: 56px; box-shadow: 0 10px 28px rgba(17,17,15,.28); } } .es-client-reviews { background: #fff; border-top: 1px solid var(--es-line); } .es-client-reviews__head { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(260px,.75fr); align-items: end; gap: 48px; margin-bottom: 28px; } .es-client-reviews__head h2 { margin-bottom: 0; } .es-client-reviews__head > p { margin: 0; color: var(--es-muted); line-height: 1.65; } .es-client-reviews__carousel { position: relative; } .es-client-reviews__controls { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 12px; } .es-client-reviews__arrow { width: 38px; height: 38px; display: inline-grid; place-items: center; border: 1px solid var(--es-line); border-radius: 999px; background: #fff; color: var(--es-ink); font: inherit; font-size: 24px; line-height: 1; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; } .es-client-reviews__arrow:hover, .es-client-reviews__arrow:focus-visible { border-color: var(--es-accent); background: var(--es-paper); transform: translateY(-1px); } .es-client-reviews__arrow:disabled { opacity: .35; cursor: default; transform: none; } .es-client-reviews__grid { --es-review-gap: 14px; display: flex; gap: var(--es-review-gap); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; padding: 3px 2px 10px; } .es-client-reviews__grid::-webkit-scrollbar { display: none; } .es-client-reviews__grid:focus { outline: none; } .es-client-reviews__grid:focus-visible { outline: 2px solid color-mix(in srgb, var(--es-accent) 55%, transparent); outline-offset: 5px; border-radius: max(12px,var(--es-radius)); } .es-client-review { min-width: 0; flex: 0 0 calc((100% - (var(--es-review-gap) * (var(--es-review-columns,4) - 1))) / var(--es-review-columns,4)); display: flex; flex-direction: column; padding: 20px; border-radius: max(12px,var(--es-radius)); scroll-snap-align: start; scroll-snap-stop: always; } .es-client-reviews--standard .es-client-review { padding: 26px; } .es-client-reviews--soft .es-client-review { background: var(--es-paper); } .es-client-reviews--bordered .es-client-review { background: #fff; border: 1px solid var(--es-line); } .es-client-reviews--minimal .es-client-review { padding-left: 0; padding-right: 0; border-radius: 0; border-top: 1px solid var(--es-line); } .es-client-review__rating { color: #e0aa22; letter-spacing: .07em; font-size: 13px; } .es-client-review__quote { flex: 1 1 auto; margin: 14px 0 18px; color: #4d4944; font-family: var(--es-serif); font-size: clamp(16px,1.25vw,19px); line-height: 1.48; } .es-client-reviews--standard .es-client-review__quote { margin: 18px 0 24px; font-size: clamp(18px,1.45vw,22px); } .es-client-review__quote p { margin: 0; } .es-client-review__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid rgba(23,23,21,.1); } .es-client-review__person { display: flex; align-items: center; gap: 9px; min-width: 0; } .es-client-review__person img, .es-client-review__avatar { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; object-fit: cover; } .es-client-reviews--standard .es-client-review__person img, .es-client-reviews--standard .es-client-review__avatar { width: 42px; height: 42px; flex-basis: 42px; } .es-client-review__avatar { display: grid; place-items: center; background: #fff; color: var(--es-accent); border: 1px solid var(--es-line); font-size: 12px; font-weight: 700; } .es-client-review__person > div { display: grid; gap: 1px; min-width: 0; } .es-client-review__person strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; } .es-client-review__person small { color: var(--es-muted); font-size: 9px; } .es-client-review__footer > a, .es-client-review__footer > span { flex: 0 0 auto; color: var(--es-muted); font-size: 9px; font-weight: 700; text-decoration: none; } .es-client-reviews__actions { margin-top: 24px; text-align: center; } @media (max-width: 1050px) { .es-client-review { flex-basis: calc((100% - (var(--es-review-gap) * (var(--es-review-tablet-columns,2) - 1))) / var(--es-review-tablet-columns,2)); } } @media (max-width: 720px) { .es-client-reviews__head { grid-template-columns: 1fr; gap: 12px; margin-bottom: 22px; } .es-client-reviews__controls { margin-bottom: 10px; } .es-client-reviews__arrow { width: 36px; height: 36px; } .es-client-review { flex-basis: calc((100% - (var(--es-review-gap) * (var(--es-review-mobile-columns,1) - 1))) / var(--es-review-mobile-columns,1)); padding: 18px; } .es-client-review__quote { font-size: 16px; } } @media (prefers-reduced-motion: reduce) { .es-client-reviews__grid { scroll-behavior: auto; } .es-client-reviews__arrow { transition: none; } } #home-section-services .service-grid { align-items: start !important; } #home-section-services .service-card, #home-section-services .service-card:nth-child(odd), #home-section-services .service-card:nth-child(even) { margin-top: 0 !important; align-self: start !important; transform: none; } #home-section-services .service-card__media { width: 100%; aspect-ratio: 4 / 5; } #home-section-services .service-card__media > img, #home-section-services .service-card__placeholder { width: 100%; height: 100%; } @media (max-width: 1080px) { .site-header__actions { min-width: 42px; } .header-cart-link { width: 42px; height: 42px; flex-basis: 42px; } } @media (max-width: 760px) { .site-header__inner { grid-template-columns: minmax(0, 1fr) 44px 42px; column-gap: 8px; } .site-branding { min-width: 0; } .menu-toggle { width: 44px; height: 44px; justify-self: center; } .site-header__actions { width: 42px; min-width: 42px; justify-self: end; } .header-cart-link { background: transparent; } #home-section-services .service-card__media { aspect-ratio: 4 / 4.8; } } .header-account-link { position: relative; width: 42px; height: 42px; flex: 0 0 42px; display: inline-grid; place-items: center; border: 1px solid var(--es-line); border-radius: 50%; background: rgba(255,255,255,.78); color: var(--es-ink); text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease, color .2s ease; } .header-account-link:hover, .header-account-link:focus-visible { background: var(--es-paper); border-color: color-mix(in srgb, var(--es-ink) 28%, transparent); color: var(--es-accent); } .header-account-link__icon { width: 21px; height: 21px; display: block; } .header-account-link.is-logged-in::after { content: ""; position: absolute; right: 2px; bottom: 3px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: var(--es-accent); } @media (max-width: 782px) { .site-header__actions { gap: 8px; } .header-account-link, .header-cart-link { width: 40px; height: 40px; flex-basis: 40px; } .header-account-link__icon, .header-cart-link__icon { width: 20px; height: 20px; } } @media (max-width: 760px) { .site-header__inner { grid-template-columns: minmax(0, 1fr) 42px auto !important; column-gap: 6px !important; overflow: visible !important; } .site-header__actions { width: auto !important; min-width: 82px !important; max-width: none !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; justify-self: end !important; gap: 4px !important; overflow: visible !important; } .header-account-link, .header-cart-link { width: 38px !important; height: 38px !important; min-width: 38px !important; flex: 0 0 38px !important; overflow: visible !important; } .header-account-link__icon, .header-cart-link__icon { width: 19px !important; height: 19px !important; } .header-cart-link__count { top: -4px !important; right: -3px !important; z-index: 3; } .menu-toggle { width: 42px !important; height: 42px !important; justify-self: center !important; } } @media (max-width: 420px) { .site-header__inner { grid-template-columns: minmax(0, 1fr) 40px auto !important; column-gap: 3px !important; } .site-header__actions { min-width: 76px !important; gap: 2px !important; } .header-account-link, .header-cart-link { width: 36px !important; height: 36px !important; min-width: 36px !important; flex-basis: 36px !important; } .custom-logo { max-width: min(150px, 42vw) !important; } } .hero__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; } .hero__image { width: 100%; height: 100%; display: block; object-fit: cover; object-position: var(--hero-position, center 38%); } .hero__overlay { z-index: 1; } .hero__content, .hero__meta, .hero__scroll { z-index: 2; } .es-eyebrow, .service-card__number, .process-grid > article > span { color: var(--es-accent); color: color-mix(in srgb, var(--es-accent) 58%, var(--es-ink)); } .hero--has-image .hero__content .es-eyebrow, .private-gallery__box .es-eyebrow, .site-footer .es-eyebrow { color: var(--es-accent); } .portfolio-mosaic img, .service-card__media img { display: block; } @media (max-width: 760px) { .hero__content h1 { min-block-size: 3.05em; } } .site-footer__bottom { color: rgba(255, 255, 255, 0.62); } @media (max-width: 1080px) { .site-header, .site-header--minimal { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; } } @supports (content-visibility: auto) { .eventshoot-front-page .site-content > section:not(#home-section-hero) { content-visibility: auto; contain-intrinsic-size: auto 900px; } }
.es-secure-gallery-page{min-height:62vh}.es-secure-gallery-hero{background:var(--es-ink,#1d2426);color:#fff;padding-block:clamp(58px,9vw,110px);text-align:center}.es-secure-gallery-hero__inner{max-width:760px}.es-secure-gallery-hero h1{color:#fff;margin:.15em 0 .35em}.es-secure-gallery-hero p:last-child{color:rgba(255,255,255,.78);margin:0 auto;max-width:620px}.es-secure-gallery-access{padding-block:clamp(56px,8vw,100px)}.es-secure-gallery-card{background:#fff;border:1px solid rgba(29,36,38,.1);border-radius:var(--es-radius,18px);box-shadow:0 20px 55px rgba(29,36,38,.1);margin-inline:auto;max-width:520px;padding:clamp(28px,6vw,52px);text-align:center}.es-secure-gallery-card__icon{align-items:center;background:color-mix(in srgb,var(--es-accent,#b48b66) 16%,#fff);border-radius:50%;display:flex;font-size:1.45rem;height:56px;justify-content:center;margin:0 auto 18px;width:56px}.es-secure-gallery-card h2{margin:0 0 .45em}.es-secure-gallery-card>p:not(.es-secure-gallery-card__hint){color:var(--es-muted,#6f7776);margin:0 auto 25px;max-width:400px}.es-secure-gallery-form{display:grid;gap:10px;margin:0 auto;max-width:360px;text-align:left}.es-secure-gallery-form input[type=password]{border:1px solid rgba(29,36,38,.22);border-radius:8px;font-size:1.05rem;min-height:48px;padding:10px 13px;width:100%}.es-secure-gallery-form .es-button{border:0;cursor:pointer;justify-content:center;margin-top:5px;width:100%}.es-secure-gallery-message{border-radius:8px;font-size:.92rem;margin:0 auto 18px;max-width:360px;padding:11px 13px;text-align:left}.es-secure-gallery-message.is-error{background:#fff1f0;color:#9a3028}.es-secure-gallery-card__hint{color:var(--es-muted,#6f7776);font-size:.86rem;margin:22px 0 0}.es-gallery-access-box .description{font-size:12px}.es-gallery-access-warning{color:#a33a2d}
