/*
 * Site vitrine « Agencement Ébénisterie Philippe Labhar »
 * Design system porté depuis la maquette design-canvas validée client.
 * Palette : #2E1A0A brun · #662A08 bois · #92673f bronze · #F2D8B3 sable · #FFF3E0 crème · #FBF6EE fond.
 * Fonts (chargées via <link> dans base.html) : Playfair Display, Montserrat, Updock, Oooh Baby.
 */

:root {
  --pl-brun: #2E1A0A;
  --pl-bois: #662A08;
  --pl-bronze: #92673f;
  --pl-sable: #F2D8B3;
  --pl-creme: #FFF3E0;
  --pl-fond: #FBF6EE;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; overflow-x: hidden; background: var(--pl-fond); color: var(--pl-brun); font-family: 'Montserrat', sans-serif; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

/* HEADER / NAV */
#pl-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: transparent; border-bottom: 1px solid rgba(242,216,179,0); transition: background .5s ease, box-shadow .5s ease, border-color .5s ease, backdrop-filter .5s ease; }
#pl-header.pl-scrolled { background: rgba(46,26,10,.55); backdrop-filter: blur(12px) saturate(1.1); -webkit-backdrop-filter: blur(12px) saturate(1.1); box-shadow: 0 10px 34px -14px rgba(0,0,0,.55); border-bottom: 1px solid rgba(242,216,179,.35); }
.pl-navlink { position: relative; color: #FFF3E0; transition: color .4s ease; }
.pl-navlink::after { content: ''; position: absolute; left: 0; bottom: -7px; height: 1.5px; width: 0; background: #F2D8B3; transition: width .5s cubic-bezier(.22,1,.36,1); }
.pl-navlink:hover { color: #fff; }
.pl-navlink:hover::after { width: 100%; }
.pl-navlink.pl-active { color: #F2D8B3; }
.pl-navlink.pl-active::after { width: 100%; }
.pl-cta { position: relative; overflow: hidden; border: 1px solid #F2D8B3; color: #F2D8B3; padding: 10px 24px; transition: color .5s ease, box-shadow .5s ease; isolation: isolate; }
.pl-cta::before { content: ''; position: absolute; inset: 0; background: #F2D8B3; transform: translateY(101%); transition: transform .5s cubic-bezier(.22,1,.36,1); z-index: -1; }
.pl-cta:hover { color: #2E1A0A; box-shadow: 0 12px 28px -12px rgba(242,216,179,.6); }
.pl-cta:hover::before { transform: translateY(0); }
.pl-brand { transition: transform .5s cubic-bezier(.22,1,.36,1); }
.pl-brand:hover { transform: translateY(-1px); }

/* BOUTONS */
.pl-btn { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 11px; font-family: 'Montserrat', sans-serif; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; padding: 16px 32px; transition: color .5s ease, box-shadow .5s ease; isolation: isolate; cursor: pointer; }
.pl-btn .pl-arrow { transition: transform .5s cubic-bezier(.22,1,.36,1); }
.pl-btn:hover .pl-arrow { transform: translateX(5px); }
.pl-btn-solid { background: #F2D8B3; color: #2E1A0A; }
.pl-btn-solid::before { content: ''; position: absolute; inset: 0; background: #662A08; transform: translateY(101%); transition: transform .55s cubic-bezier(.22,1,.36,1); z-index: -1; }
.pl-btn-solid:hover { color: #FFF3E0; box-shadow: 0 18px 38px -16px rgba(0,0,0,.6); }
.pl-btn-solid:hover::before { transform: translateY(0); }
.pl-btn-ghost { border: 1px solid rgba(242,216,179,.7); color: #F2D8B3; }
.pl-btn-ghost::before { content: ''; position: absolute; inset: 0; background: #F2D8B3; transform: translateY(101%); transition: transform .55s cubic-bezier(.22,1,.36,1); z-index: -1; }
.pl-btn-ghost:hover { color: #2E1A0A; }
.pl-btn-ghost:hover::before { transform: translateY(0); }
.pl-btn-wood { background: #662A08; color: #FFF3E0; }
.pl-btn-wood::before { content: ''; position: absolute; inset: 0; background: #92673f; transform: translateY(101%); transition: transform .55s cubic-bezier(.22,1,.36,1); z-index: -1; }
.pl-btn-wood:hover { color: #FFF3E0; box-shadow: 0 18px 38px -16px rgba(102,42,8,.55); }
.pl-btn-wood:hover::before { transform: translateY(0); }
.pl-scroll { display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #F2D8B3; transition: color .4s ease; }
.pl-scroll:hover { color: #FFF3E0; }
.pl-chevron { width: 12px; height: 12px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); animation: plBounce 2s ease-in-out infinite; }

/* KEYFRAMES */
@keyframes plZoom { from { transform: scale(1); } to { transform: scale(1.12); } }
@keyframes plRise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
@keyframes plFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes plBounce { 0%, 100% { transform: rotate(45deg) translate(0, 0); } 50% { transform: rotate(45deg) translate(4px, 4px); } }
@keyframes plLine { from { width: 0; opacity: 0; } to { width: 46px; opacity: 1; } }
@keyframes plPop { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@keyframes plSpin { to { transform: rotate(360deg); } }
@keyframes plDraw { to { stroke-dashoffset: 0; } }

/* REVEAL / ANIMATIONS D'ENTRÉE */
.pl-rise { opacity: 0; animation: plRise .9s cubic-bezier(.22,1,.36,1) forwards; }
.pl-reveal { opacity: 0; transform: translateY(38px); filter: blur(4px); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1), filter .9s ease; will-change: opacity, transform; }
.pl-reveal[data-anim="left"] { transform: translateX(-48px); }
.pl-reveal[data-anim="right"] { transform: translateX(48px); }
.pl-reveal[data-anim="scale"] { transform: scale(.93); }
.pl-reveal.pl-vis { opacity: 1; transform: none; filter: none; }

/* TEXTURE BOIS / MEDIAS */
.pl-wood-tex { position: absolute; inset: 0; z-index: 0; pointer-events: none; mix-blend-mode: multiply; opacity: .16; background-size: 520px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.006 0.08' numOctaves='4' seed='12' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.35 0 0 0 0 0.22 0 0 0 0 0.1 0 0 0 0.75 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)'/%3E%3C/svg%3E"); }
.pl-media { position: relative; overflow: hidden; display: block; }
.pl-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(.22,1,.36,1), filter .8s ease; filter: saturate(.95); }
.pl-media:hover img { transform: scale(1.05); filter: saturate(1.05); }

/* CARTES (aperçu réalisations accueil) */
.pl-card { position: relative; overflow: hidden; display: block; }
.pl-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.1s cubic-bezier(.22,1,.36,1); }
.pl-card:hover img { transform: scale(1.07); }
.pl-card .pl-card-veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(46,26,10,0) 30%, rgba(46,26,10,.82) 100%); transition: background .6s ease; }
.pl-card:hover .pl-card-veil { background: linear-gradient(180deg, rgba(46,26,10,.15) 0%, rgba(46,26,10,.85) 100%); }
.pl-card .pl-card-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px; transform: translateY(8px); transition: transform .6s cubic-bezier(.22,1,.36,1); }
.pl-card:hover .pl-card-body { transform: translateY(0); }
.pl-card .pl-card-cat { font-family: 'Montserrat', sans-serif; font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: #F2D8B3; }
.pl-card .pl-card-title { font-family: 'Playfair Display', serif; font-size: 24px; color: #FFF3E0; margin-top: 6px; }
.pl-card .pl-card-view { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-family: 'Montserrat', sans-serif; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #F2D8B3; opacity: 0; max-height: 0; transition: opacity .5s ease .05s, max-height .5s ease; }
.pl-card:hover .pl-card-view { opacity: 1; max-height: 30px; }
.pl-value-num { font-family: 'Playfair Display', serif; font-size: 44px; color: #662A08; line-height: 1; }

/* GALERIE (masonry + vignettes) */
.pl-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.pl-filter { position: relative; background: transparent; border: 1px solid rgba(146,103,63,.38); color: #5c4632; font-family: 'Montserrat', sans-serif; font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; padding: 12px 20px; cursor: pointer; transition: background .45s ease, color .45s ease, border-color .45s ease; }
.pl-filter:hover { border-color: #92673f; color: #662A08; }
.pl-filter .pl-count { font-family: 'Playfair Display', serif; font-style: italic; letter-spacing: 0; font-size: 12px; margin-left: 8px; opacity: .65; text-transform: none; }
.pl-filter.on { background: #662A08; border-color: #662A08; color: #F2D8B3; }
.pl-masonry { column-count: 3; column-gap: clamp(20px, 2.4vw, 34px); }
.pl-shot { display: inline-block; width: 100%; margin: 0 0 clamp(28px, 3vw, 46px); break-inside: avoid; cursor: zoom-in; text-decoration: none; animation: plPop .7s cubic-bezier(.22,1,.36,1) both; }
.pl-shot figure { margin: 0; overflow: hidden; position: relative; transition: box-shadow .55s ease; }
.pl-shot:hover figure { box-shadow: 0 34px 64px -34px rgba(46,26,10,.6); }
.pl-shot img { width: 100%; display: block; filter: saturate(.94); transition: transform 1.1s cubic-bezier(.22,1,.36,1), filter .8s ease; }
.pl-shot:hover img { transform: scale(1.035); filter: saturate(1.06); }
.pl-shot-veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(46,26,10,0) 45%, rgba(46,26,10,.62) 100%); opacity: 0; transition: opacity .55s ease; display: flex; align-items: flex-end; justify-content: flex-end; padding: 18px; }
.pl-shot:hover .pl-shot-veil { opacity: 1; }
.pl-shot-zoom { width: 38px; height: 38px; border: 1px solid rgba(242,216,179,.8); color: #F2D8B3; display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-size: 17px; transform: translateY(8px); transition: transform .55s cubic-bezier(.22,1,.36,1); }
.pl-shot:hover .pl-shot-zoom { transform: none; }
.pl-shot-badge { position: absolute; top: 14px; left: 14px; display: flex; align-items: center; gap: 6px; font-family: 'Montserrat', sans-serif; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: #FFF3E0; background: rgba(46,26,10,.62); padding: 6px 12px; }
.pl-cap { display: flex; align-items: baseline; gap: 12px; margin-top: 15px; }
.pl-cap-num { font-family: 'Playfair Display', serif; font-size: 13px; color: #92673f; font-style: italic; }
.pl-cap-title { font-family: 'Playfair Display', serif; font-size: 18px; color: #2E1A0A; transition: color .4s ease; }
.pl-shot:hover .pl-cap-title { color: #662A08; }
.pl-cap-cat { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: #92673f; align-self: center; white-space: nowrap; }

/* LIGHTBOX / CARROUSEL */
.pl-lb { position: fixed; inset: 0; z-index: 100; background: rgba(24,13,4,.94); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: clamp(16px, 4vw, 56px); animation: plFade .35s ease both; }
.pl-lb-img { max-width: min(1100px, 92vw); max-height: 70vh; object-fit: contain; display: block; box-shadow: 0 50px 90px -40px rgba(0,0,0,.8); animation: plPop .5s cubic-bezier(.22,1,.36,1) both; }
.pl-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border: 1px solid rgba(242,216,179,.45); background: transparent; color: #F2D8B3; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .4s ease, color .4s ease, border-color .4s ease; }
.pl-lb-nav:hover { background: #F2D8B3; color: #2E1A0A; border-color: #F2D8B3; }
.pl-lb-prev { left: clamp(12px, 3vw, 40px); }
.pl-lb-next { right: clamp(12px, 3vw, 40px); }
.pl-lb-close { position: absolute; top: clamp(16px, 3vw, 32px); right: clamp(16px, 3vw, 32px); width: 46px; height: 46px; border: 1px solid rgba(242,216,179,.45); background: transparent; color: #F2D8B3; font-size: 18px; cursor: pointer; transition: background .4s ease, color .4s ease; }
.pl-lb-close:hover { background: #F2D8B3; color: #2E1A0A; }
.pl-lb-cap { margin-top: 22px; text-align: center; color: #F2D8B3; font-family: 'Montserrat', sans-serif; }
.pl-lb-cap .pl-lb-title { font-family: 'Playfair Display', serif; font-size: 20px; color: #FFF3E0; }
.pl-lb-cap .pl-lb-count { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #d9b98a; margin-top: 6px; }

/* ORNEMENTS */
.pl-ornament { display: flex; align-items: center; gap: 8px; }
.pl-ornament .ln { height: 1.5px; width: 40px; background: #92673f; }
.pl-ornament .dot { width: 7px; height: 7px; background: #92673f; transform: rotate(45deg); }
.pl-ornament .tri-l { width: 0; height: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 6px solid #92673f; }
.pl-ornament .tri-r { width: 0; height: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 6px solid #92673f; }

/* CARTES SERVICES / ÉTAPES */
.pl-scard { position: relative; background: #FFF3E0; border: 1px solid #e6d7bf; padding: clamp(26px, 2.4vw, 36px); overflow: hidden; transition: box-shadow .55s ease, transform .55s cubic-bezier(.22,1,.36,1), border-color .55s ease; }
.pl-scard::after { content: ''; position: absolute; left: 0; top: 0; height: 2px; width: 0; background: #92673f; transition: width .6s cubic-bezier(.22,1,.36,1); }
.pl-scard:hover { transform: translateY(-6px); box-shadow: 0 34px 60px -34px rgba(46,26,10,.45); border-color: #d8c3a3; }
.pl-scard:hover::after { width: 100%; }
.pl-scard-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 15px; color: #b09468; }
.pl-scard-t { font-family: 'Playfair Display', serif; font-size: 25px; color: #662A08; margin: 12px 0 12px; line-height: 1.2; }
.pl-scard-p { font-family: 'Montserrat', sans-serif; font-size: 14.5px; font-weight: 300; color: #5c4632; line-height: 1.75; margin: 0; text-wrap: pretty; }
.pl-step { position: relative; padding-left: 30px; }
.pl-step::before { content: ''; position: absolute; left: 0; top: 12px; width: 8px; height: 8px; background: #F2D8B3; transform: rotate(45deg); }
.pl-tag { font-family: 'Montserrat', sans-serif; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #92673f; border: 1px solid rgba(146,103,63,.4); padding: 9px 16px; transition: background .45s ease, color .45s ease, border-color .45s ease; }
.pl-tag:hover { background: #662A08; color: #F2D8B3; border-color: #662A08; }

/* CHAMPS DE FORMULAIRE */
.pl-field { width: 100%; padding: 15px 16px; border: 1px solid rgba(146,103,63,.4); background: #FFF3E0; font-family: 'Montserrat', sans-serif; font-size: 15px; color: #2E1A0A; outline: none; transition: border-color .4s ease, box-shadow .4s ease, background .4s ease; }
.pl-field::placeholder { color: #a88b6a; }
.pl-field:focus { border-color: #662A08; box-shadow: 0 0 0 3px rgba(146,103,63,.16); background: #fff; }
.pl-uline { width: 100%; border: 0; border-bottom: 1px solid rgba(146,103,63,.38); background: transparent; padding: 13px 2px; font-family: 'Montserrat', sans-serif; font-size: 15px; color: #2E1A0A; outline: none; transition: border-color .4s ease; }
.pl-uline::placeholder { color: #a88b6a; }
.pl-uline:focus { border-bottom-color: #662A08; border-bottom-width: 1.5px; }
.pl-fw { position: relative; display: block; }
.pl-in { width: 100%; box-sizing: border-box; border: 0; border-bottom: 1px solid rgba(146,103,63,.35); background: transparent; padding: 22px 2px 9px; font-family: 'Montserrat', sans-serif; font-size: 15px; color: #2E1A0A; outline: none; transition: border-color .3s ease; }
.pl-in::placeholder { color: transparent; }
.pl-in.pl-err { border-bottom-color: #b0442a; }
.pl-lbl { position: absolute; left: 2px; top: 21px; font-family: 'Montserrat', sans-serif; font-size: 15px; color: #a88b6a; pointer-events: none; transition: top .3s cubic-bezier(.22,1,.36,1), font-size .3s cubic-bezier(.22,1,.36,1), color .3s ease, letter-spacing .3s ease; }
.pl-in:focus + .pl-lbl, .pl-in:not(:placeholder-shown) + .pl-lbl { top: 0; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: #92673f; }
.pl-bar { position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: #662A08; transition: width .45s cubic-bezier(.22,1,.36,1); }
.pl-in:focus ~ .pl-bar { width: 100%; }
.pl-in:-webkit-autofill { -webkit-text-fill-color: #2E1A0A; -webkit-box-shadow: 0 0 0 40px #FBF6EE inset; }
.pl-errtxt { display: block; margin-top: 6px; font-family: 'Montserrat', sans-serif; font-size: 11.5px; letter-spacing: .04em; color: #b0442a; }
.pl-chip { font-family: 'Montserrat', sans-serif; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; padding: 11px 18px; border: 1px solid rgba(146,103,63,.45); background: transparent; color: #5c4632; cursor: pointer; transition: background .4s ease, color .4s ease, border-color .4s ease, transform .4s cubic-bezier(.22,1,.36,1); }
.pl-chip:hover { border-color: #92673f; transform: translateY(-2px); }
.pl-chip.sel { background: #662A08; border-color: #662A08; color: #F2D8B3; }
.pl-seg { display: flex; flex-wrap: wrap; gap: 10px; }
.pl-sel { width: 100%; border: 0; border-bottom: 1px solid rgba(146,103,63,.35); background: transparent; padding: 14px 2px 9px; font-family: 'Montserrat', sans-serif; font-size: 15px; color: #2E1A0A; outline: none; appearance: none; -webkit-appearance: none; cursor: pointer; transition: border-color .3s ease; }
.pl-sel:focus { border-bottom-color: #662A08; }
.pl-selwrap { position: relative; }
.pl-selwrap::after { content: ''; position: absolute; right: 4px; bottom: 16px; width: 8px; height: 8px; border-right: 1.5px solid #92673f; border-bottom: 1.5px solid #92673f; transform: rotate(45deg); pointer-events: none; }
.pl-check { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-family: 'Montserrat', sans-serif; font-size: 13px; line-height: 1.6; color: #5c4632; }
.pl-check input { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; flex-shrink: 0; margin: 1px 0 0; border: 1px solid rgba(146,103,63,.6); background: transparent; cursor: pointer; transition: background .3s ease, border-color .3s ease; }
.pl-check input:checked { background: #662A08; border-color: #662A08; box-shadow: inset 0 0 0 3px #FBF6EE; }
.pl-spin { width: 15px; height: 15px; border: 2px solid rgba(46,26,10,.3); border-top-color: #2E1A0A; border-radius: 50%; animation: plSpin .8s linear infinite; }

/* LIENS / CARTE */
.pl-contact-link { color: #F2D8B3; text-decoration: none; transition: color .35s ease; }
.pl-contact-link:hover { color: #fff; }
.pl-clink { color: #662A08; text-decoration: none; transition: color .35s ease; }
.pl-clink:hover { color: #92673f; }
.pl-map { width: 100%; border: 0; display: block; filter: grayscale(.35) contrast(1.04) sepia(.08); transition: filter .7s ease; }
.pl-map:hover { filter: none; }

/* FAQ */
.pl-faq { border-top: 1px solid #e6d7bf; }
.pl-faq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; text-align: left; background: transparent; border: 0; padding: 24px 0; font-family: 'Playfair Display', serif; font-size: clamp(17px, 1.7vw, 21px); color: #2E1A0A; cursor: pointer; transition: color .35s ease; }
.pl-faq-q:hover { color: #662A08; }
.pl-faq-ic { position: relative; width: 15px; height: 15px; flex-shrink: 0; }
.pl-faq-ic::before, .pl-faq-ic::after { content: ''; position: absolute; background: #92673f; transition: transform .45s cubic-bezier(.22,1,.36,1); }
.pl-faq-ic::before { left: 0; top: 6.5px; width: 15px; height: 2px; }
.pl-faq-ic::after { top: 0; left: 6.5px; width: 2px; height: 15px; }
.pl-faq.open .pl-faq-ic::after { transform: rotate(90deg); }
.pl-faq-a { overflow: hidden; max-height: 0; transition: max-height .55s cubic-bezier(.22,1,.36,1), opacity .45s ease; opacity: 0; }
.pl-faq.open .pl-faq-a { max-height: 400px; opacity: 1; }

/* FOOTER */
.pl-flink { color: #5c4632; text-decoration: none; position: relative; align-self: flex-start; transition: color .35s ease; }
.pl-flink::after { content: ''; position: absolute; left: 0; bottom: -3px; height: 1px; width: 0; background: currentColor; transition: width .45s cubic-bezier(.22,1,.36,1); }
.pl-flink:hover { color: #662A08; }
.pl-flink:hover::after { width: 100%; }

/* BURGER / MENU MOBILE / ICÔNES NAV */
.pl-burger { display: none; flex-direction: column; gap: 5px; background: transparent; border: 0; cursor: pointer; padding: 8px; }
.pl-burger span { display: block; width: 26px; height: 2px; background: #FFF3E0; transition: transform .4s ease, opacity .3s ease; }
.pl-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.pl-burger.open span:nth-child(2) { opacity: 0; }
.pl-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.pl-mobile-menu { display: none; overflow: hidden; max-height: 0; transition: max-height .5s cubic-bezier(.22,1,.36,1); background: rgba(46,26,10,.72); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.pl-mobile-menu.open { max-height: 440px; }
.pl-mobile-menu a { display: block; padding: 16px 48px; font-family: 'Montserrat', sans-serif; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: #FFF3E0; border-top: 1px solid rgba(242,216,179,.15); transition: background .35s ease; }
.pl-mobile-menu a:hover { background: rgba(242,216,179,.1); }
.pl-naveicon { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid #F2D8B3; color: #F2D8B3; transition: color .5s ease, box-shadow .5s ease; isolation: isolate; }
.pl-naveicon::before { content: ''; position: absolute; inset: 0; background: #F2D8B3; transform: translateY(101%); transition: transform .5s cubic-bezier(.22,1,.36,1); z-index: -1; }
.pl-naveicon:hover { color: #2E1A0A; box-shadow: 0 12px 28px -12px rgba(242,216,179,.6); }
.pl-naveicon:hover::before { transform: translateY(0); }
.pl-naveicon svg { width: 17px; height: 17px; }

/* MEDIA QUERIES */
@media (max-width: 1080px) {
  .pl-navlinks { display: none !important; }
  .pl-burger { display: flex; }
  .pl-mobile-menu { display: block; }
  #pl-header nav { padding: 18px 24px !important; }
}
@media (max-width: 980px) {
  .pl-two { grid-template-columns: 1fr !important; }
  .pl-feature { grid-template-columns: 1fr !important; }
  .pl-feature .pl-feature-media { order: -1 !important; }
  .pl-hide-mobile { display: none !important; }
  .pl-scards { grid-template-columns: 1fr 1fr !important; }
  .pl-steps { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 940px) {
  .pl-contact-grid { grid-template-columns: 1fr !important; }
  .pl-quickgrid { grid-template-columns: 1fr !important; }
}
@media (max-width: 900px) { .pl-masonry { column-count: 2; } }
@media (max-width: 860px) {
  .pl-manifesto { grid-template-columns: 1fr !important; }
  .pl-gallery { grid-template-columns: 1fr 1fr !important; }
  .pl-hide-mobile { display: none !important; }
}
@media (max-width: 780px) { .pl-footer-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 720px) { #pl-header nav { padding: 18px 24px !important; } }
@media (max-width: 620px) {
  .pl-scards { grid-template-columns: 1fr !important; }
  .pl-steps { grid-template-columns: 1fr !important; }
}
@media (max-width: 560px) {
  .pl-gallery { grid-template-columns: 1fr !important; grid-auto-rows: 260px !important; }
  .pl-gallery .pl-card { grid-row: auto !important; }
  .pl-masonry { column-count: 1; }
}
@media (max-width: 480px) { .pl-footer-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 760px) { .pl-legal-grid { grid-template-columns: 1fr !important; } }
