/* Patrick Michils — Trustivo Design Pack */
:root{--pm-bg:#f2f0eb;--pm-ink:#151515;--pm-muted:#77736c;--pm-line:#d8d4cc;--pm-dark:#151515;--pm-light:#f5f2eb;--pm-max:1800px}.trustivo-design-rendered{max-width:none!important;margin:0!important;padding:0!important}.pm-site{background:var(--pm-bg);color:var(--pm-ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}.pm-site *{box-sizing:border-box}.pm-site img{display:block;width:100%;height:auto}.pm-site a{color:inherit;text-decoration:none}.pm-site h1,.pm-site h2,.pm-site h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98;letter-spacing:-.035em;margin:0}.pm-site em{font-weight:400;color:inherit}.pm-nav{position:fixed;z-index:1000;top:0;left:0;right:0;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;color:var(--pm-light);mix-blend-mode:difference}.pm-wordmark{font-family:Georgia,serif;font-size:19px}.pm-menu{display:flex;gap:44px}.pm-menu a,.pm-menu-toggle{font-size:10px;text-transform:uppercase;letter-spacing:.32em}.pm-menu-toggle{display:none;border:0;background:none;color:inherit}.pm-pad{padding:clamp(100px,10vw,190px) max(6vw,24px)}.pm-kicker,.pm-index{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.38em}.pm-text-link,.pm-light-link{display:inline-block;margin-top:34px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:11px;text-transform:uppercase;letter-spacing:.28em}.pm-hero{height:100svh;min-height:720px;position:relative;color:#fff;overflow:hidden}.pm-hero-img{height:100%!important;object-fit:cover}.pm-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.05) 40%,rgba(0,0,0,.64))}.pm-hero-copy{position:absolute;left:6vw;bottom:8vh;max-width:1000px}.pm-hero h1{font-size:clamp(58px,8vw,145px)}.pm-hero p{max-width:620px;font-size:18px;margin:32px 0 0}.pm-intro{display:grid;grid-template-columns:1fr 3fr;gap:8vw}.pm-intro h2,.pm-section-head h2,.pm-cta h2{font-size:clamp(48px,6vw,105px)}.pm-intro p{max-width:720px;margin-top:38px;font-size:18px;color:var(--pm-muted)}.pm-split{display:grid;grid-template-columns:1.35fr 1fr;min-height:760px}.pm-split img{height:100%!important;object-fit:cover}.pm-dark{background:var(--pm-dark);color:var(--pm-light)}.pm-split-copy{padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}.pm-split-copy h2{font-size:clamp(50px,5.7vw,100px);margin-top:34px}.pm-split-copy p{max-width:580px;color:#bbb6ad;margin-top:34px;font-size:17px}.pm-section-head{display:grid;grid-template-columns:1fr 3fr;gap:8vw;margin-bottom:80px}.pm-brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.pm-brand-grid img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.75)}.pm-brand-grid span{font-family:Georgia,serif;font-size:25px;display:block;margin-top:20px}.pm-brand-grid small{color:var(--pm-muted);text-transform:uppercase;letter-spacing:.22em}.pm-materials{display:grid;grid-template-columns:repeat(3,1fr)}.pm-materials div{position:relative}.pm-materials img{aspect-ratio:1/1;object-fit:cover}.pm-materials span{position:absolute;left:28px;bottom:24px;color:#fff;text-transform:uppercase;letter-spacing:.3em;font-size:10px}.pm-cta{text-align:center}.pm-cta p{max-width:650px;margin:34px auto 0;color:var(--pm-muted);font-size:17px}.pm-page-hero{padding-top:220px;padding-bottom:80px}.pm-page-hero h1,.pm-contact h1,.pm-about-hero h1{font-size:clamp(70px,11vw,180px);margin-top:34px}.pm-page-hero p{max-width:680px;font-size:19px;color:var(--pm-muted);margin-top:40px}.pm-house-list{padding-top:40px}.pm-house-list article{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:center;padding:70px 0;border-top:1px solid var(--pm-line)}.pm-house-list article:nth-child(even) img{order:2}.pm-house-list img{aspect-ratio:4/3;object-fit:cover}.pm-house-list h2{font-size:clamp(50px,6vw,95px);margin:24px 0}.pm-house-list p{max-width:540px;color:var(--pm-muted);font-size:17px}.pm-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px}.pm-filters button{background:transparent;border:1px solid var(--pm-line);padding:12px 18px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;cursor:pointer}.pm-filters button.is-active{background:var(--pm-ink);color:#fff}.pm-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px 24px}.pm-product.is-hidden{display:none}.pm-product img{aspect-ratio:4/5;object-fit:cover}.pm-product div{padding-top:18px}.pm-product span,.pm-product small{font-size:9px;text-transform:uppercase;letter-spacing:.26em;color:var(--pm-muted)}.pm-product h3{font-size:28px;margin:8px 0}.pm-projects{padding-top:30px}.pm-projects article{margin-bottom:100px}.pm-projects img{height:min(70vw,880px);object-fit:cover}.pm-projects article:nth-child(even){width:72%;margin-left:auto}.pm-projects h2{font-size:clamp(42px,5vw,82px);margin-top:18px}.pm-projects article div{padding-top:24px}.pm-about-hero{padding-top:220px;display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}.pm-about-hero img{aspect-ratio:3/4;object-fit:cover}.pm-about-hero p{max-width:680px;color:var(--pm-muted);font-size:18px;margin-top:45px}.pm-contact{padding-top:220px;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.pm-contact>div>p{max-width:620px;color:var(--pm-muted);font-size:18px}.pm-contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--pm-line);margin-top:60px;padding-top:30px}.pm-contact-details strong{font-size:9px;text-transform:uppercase;letter-spacing:.28em}.pm-form{display:grid;grid-template-columns:1fr 1fr;gap:34px 26px;padding-top:75px}.pm-form label{font-size:9px;text-transform:uppercase;letter-spacing:.25em}.pm-form input,.pm-form select,.pm-form textarea{width:100%;border:0;border-bottom:1px solid var(--pm-line);background:transparent;padding:14px 0;font:inherit;outline:none}.pm-form .wide{grid-column:1/-1}.pm-form button{grid-column:1/-1;justify-self:end;background:none;border:0;border-bottom:1px solid;padding:10px 0;text-transform:uppercase;letter-spacing:.28em;font-size:10px}.pm-footer{background:var(--pm-dark);color:var(--pm-light);padding:140px 6vw 50px}.pm-footer-grid{display:grid;grid-template-columns:3fr 1fr;gap:8vw}.pm-footer h2{font-size:clamp(48px,6vw,105px);margin-top:50px}.pm-footer-grid p{color:#aaa59d}.pm-footer-links{margin-top:110px;padding-top:30px;border-top:1px solid #3a3936;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;font-size:9px;text-transform:uppercase;letter-spacing:.26em;color:#aaa59d}
@media(max-width:900px){.pm-nav{height:76px}.pm-menu-toggle{display:block}.pm-menu{position:fixed;inset:0;background:#151515;color:#f5f2eb;display:none;flex-direction:column;justify-content:center;padding:10vw;gap:28px}.pm-menu.is-open{display:flex}.pm-menu a{font-family:Georgia,serif;font-size:42px;text-transform:none;letter-spacing:-.03em}.pm-intro,.pm-section-head,.pm-house-list article,.pm-about-hero,.pm-contact,.pm-split{grid-template-columns:1fr}.pm-split img{height:65vh!important}.pm-brand-grid,.pm-product-grid{grid-template-columns:repeat(2,1fr)}.pm-house-list article:nth-child(even) img{order:0}.pm-projects article:nth-child(even){width:100%}.pm-footer-grid{grid-template-columns:1fr}.pm-footer-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pm-pad{padding-left:22px;padding-right:22px}.pm-hero-copy{left:22px;right:22px}.pm-hero h1{font-size:52px}.pm-brand-grid,.pm-product-grid,.pm-materials{grid-template-columns:1fr}.pm-contact-details{grid-template-columns:1fr}.pm-form{grid-template-columns:1fr}.pm-form .wide{grid-column:auto}.pm-footer{padding-left:22px;padding-right:22px}.pm-footer-links{grid-template-columns:1fr}.pm-page-hero h1,.pm-contact h1,.pm-about-hero h1{font-size:64px}}


/* v1.3.0 — Lovable-faithful full-width and responsive rendering */
html,body{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;overflow-x:hidden!important}
body.trustivo-hard-render,body.trustivo-design-page-render{background:var(--pm-bg,#f2f0eb)!important}
body.admin-bar .pm-nav{top:32px}
#wpadminbar{z-index:999999!important}
.trustivo-vm-page,.trustivo-design-rendered,.factory-section,.factory-html-section,.pm-site,.pm-site>main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.factory-section{display:block!important;overflow:visible!important;background:transparent!important}
.pm-site{min-height:100vh;position:relative;isolation:isolate}
.pm-site main{display:block}
.pm-pad{width:100%;max-width:none;margin:0}
.pm-pad>*{max-width:var(--pm-max);margin-left:auto;margin-right:auto}
.pm-intro.pm-pad,.pm-section-head{max-width:none}
.pm-intro.pm-pad{grid-template-columns:minmax(150px,.65fr) minmax(0,2.35fr)}

/* Transparent header; white compact state on scroll */
.pm-nav{position:fixed;z-index:100000;top:0;left:0;right:0;width:100%;height:96px;padding:0 clamp(22px,3.2vw,64px);background:transparent;color:var(--pm-ink);mix-blend-mode:normal;border-bottom:1px solid transparent;transition:height .35s ease,background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
.pm-home .pm-nav{color:#fff}
.pm-nav.is-scrolled{height:76px;background:rgba(255,255,255,.96);color:var(--pm-ink);border-bottom-color:rgba(21,21,21,.09);box-shadow:0 8px 30px rgba(0,0,0,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.pm-home .pm-nav.is-scrolled{color:var(--pm-ink)}
.pm-wordmark{display:flex;align-items:baseline;gap:5px;white-space:nowrap;font-size:20px;line-height:1}
.pm-menu{align-items:center}
.pm-menu a{position:relative;padding:10px 0}
.pm-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:currentColor;transition:right .25s ease}
.pm-menu a:hover:after,.pm-menu a:focus-visible:after{right:0}
.pm-menu-toggle{cursor:pointer;padding:10px 0}

/* Better page spacing and image behavior */
.pm-page-hero,.pm-about-hero,.pm-contact{padding-top:clamp(150px,15vw,235px)}
.pm-hero-img,.pm-split img,.pm-brand-grid img,.pm-materials img,.pm-house-list img,.pm-product img,.pm-projects img,.pm-about-hero img{object-position:center}
.pm-brand-grid a,.pm-product{min-width:0}
.pm-brand-grid img,.pm-product img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.pm-brand-grid a{overflow:hidden}
.pm-brand-grid a:hover img,.pm-product:hover img{transform:scale(1.025);filter:saturate(1)}
.pm-footer{width:100%;max-width:none}

/* Theme/plugin catalogue integration */
.factory-shortcode-section{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.pm-site .trustivo-products-wrap,.pm-site .tcp-catalogue,.pm-site .trustivo-product-catalogue{max-width:none!important;width:100%!important}

@media(max-width:900px){
  body.admin-bar .pm-nav{top:46px}
  .pm-nav,.pm-nav.is-scrolled{height:76px;padding-left:22px;padding-right:22px}
  .pm-menu{top:0;z-index:100001;height:100dvh;padding:100px 28px 44px;background:#f2f0eb;color:#151515;overflow-y:auto}
  body.admin-bar .pm-menu{top:46px;height:calc(100dvh - 46px)}
  .pm-menu.is-open{display:flex}
  .pm-menu a{font-size:clamp(34px,10vw,52px);line-height:1.08}
  .pm-menu-toggle{position:relative;z-index:100002}
  .pm-menu-toggle[aria-expanded="true"]{color:#151515}
  .pm-intro.pm-pad{grid-template-columns:1fr}
  .pm-pad{padding-top:clamp(82px,13vw,120px);padding-bottom:clamp(82px,13vw,120px)}
  .pm-hero{min-height:680px}
  .pm-hero-copy{bottom:8vh}
  .pm-hero p{font-size:16px;max-width:540px}
  .pm-section-head{margin-bottom:48px}
  .pm-split-copy{padding:90px 7vw}
  .pm-house-list article{gap:38px;padding:50px 0}
  .pm-projects article{margin-bottom:70px}
}
@media(max-width:600px){
  body.admin-bar .pm-nav{top:46px}
  .pm-nav,.pm-nav.is-scrolled{height:68px}
  .pm-wordmark{font-size:17px}
  .pm-hero{height:100svh;min-height:620px}
  .pm-hero-img{object-position:58% center}
  .pm-hero-copy{left:20px;right:20px;bottom:7vh}
  .pm-hero h1{font-size:clamp(46px,14vw,64px);line-height:.94}
  .pm-hero p{margin-top:24px;font-size:15px;line-height:1.55}
  .pm-kicker,.pm-index{font-size:9px;letter-spacing:.25em}
  .pm-pad{padding-left:20px;padding-right:20px}
  .pm-intro h2,.pm-section-head h2,.pm-cta h2{font-size:clamp(42px,12vw,58px)}
  .pm-intro p,.pm-page-hero p,.pm-house-list p,.pm-about-hero p,.pm-contact>div>p{font-size:16px}
  .pm-split img{height:52vh!important;min-height:400px}
  .pm-split-copy{padding:72px 20px}
  .pm-split-copy h2{font-size:48px}
  .pm-brand-grid{grid-template-columns:1fr;gap:48px}
  .pm-brand-grid img{aspect-ratio:4/5}
  .pm-brand-grid span{font-size:23px;margin-top:14px}
  .pm-materials{grid-template-columns:1fr}
  .pm-materials img{aspect-ratio:4/3}
  .pm-page-hero,.pm-about-hero,.pm-contact{padding-top:130px}
  .pm-page-hero h1,.pm-contact h1,.pm-about-hero h1{font-size:clamp(54px,17vw,76px)}
  .pm-product-grid{grid-template-columns:1fr;gap:44px}
  .pm-projects img{height:65vh;min-height:430px}
  .pm-about-hero{gap:48px}
  .pm-contact{gap:55px}
  .pm-form{gap:26px}
  .pm-footer{padding-top:90px;padding-bottom:35px}
  .pm-footer h2{font-size:48px}
  .pm-footer-links{margin-top:70px}
}
@media(max-width:782px){body.admin-bar .pm-nav{top:46px}}
@media(prefers-reduced-motion:reduce){.pm-nav,.pm-menu a:after,.pm-brand-grid img,.pm-product img{transition:none!important}}

/* v1.4.0 — Visionnaire-inspired cinematic motion system */
:root{--pm-ease:cubic-bezier(.22,1,.36,1);--pm-ease-soft:cubic-bezier(.16,1,.3,1);--pm-duration:1.05s}
.pm-site{--pm-pointer-x:50%;--pm-pointer-y:50%}

/* Elegant first paint */
.pm-loader{position:fixed;inset:0;z-index:1000000;display:grid;place-items:center;background:#151515;color:#f5f2eb;transition:opacity .75s var(--pm-ease),visibility .75s var(--pm-ease)}
.pm-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.pm-loader-inner{display:flex;flex-direction:column;align-items:center;gap:22px;min-width:220px}
.pm-loader-mark{font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,3vw,42px);letter-spacing:-.035em;opacity:0;transform:translateY(16px);animation:pmLoaderMark .8s .08s var(--pm-ease) forwards}
.pm-loader-line{width:100%;height:1px;background:rgba(255,255,255,.2);overflow:hidden}
.pm-loader-line:after{content:"";display:block;width:100%;height:100%;background:#fff;transform:translateX(-101%);animation:pmLoaderLine 1.15s .12s var(--pm-ease) forwards}
@keyframes pmLoaderMark{to{opacity:1;transform:none}}
@keyframes pmLoaderLine{to{transform:none}}

/* Page exit overlay */
.pm-page-transition{position:fixed;inset:0;z-index:999999;background:#151515;transform:scaleY(0);transform-origin:bottom;pointer-events:none;transition:transform .62s var(--pm-ease)}
.pm-page-transition.is-active{transform:scaleY(1);transform-origin:top}

/* Header entrance */
.pm-nav{opacity:0;transform:translateY(-18px)}
.pm-site.is-ready .pm-nav{opacity:1;transform:none;transition:height .35s ease,background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease,opacity .8s .2s var(--pm-ease),transform .8s .2s var(--pm-ease)}

/* Cinematic hero */
.pm-hero-img{transform:scale(1.08);will-change:transform;transition:transform 2.2s var(--pm-ease)}
.pm-site.is-ready .pm-hero-img{transform:scale(1.015)}
.pm-hero-overlay:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--pm-pointer-x) var(--pm-pointer-y),rgba(255,255,255,.09),transparent 33%);opacity:.65;transition:opacity .4s ease;pointer-events:none}
.pm-hero-copy>*{opacity:0;transform:translateY(30px)}
.pm-site.is-ready .pm-hero-copy>*{opacity:1;transform:none;transition:opacity .95s var(--pm-ease),transform .95s var(--pm-ease)}
.pm-site.is-ready .pm-hero-copy>*:nth-child(1){transition-delay:.38s}.pm-site.is-ready .pm-hero-copy>*:nth-child(2){transition-delay:.48s}.pm-site.is-ready .pm-hero-copy>*:nth-child(3){transition-delay:.62s}.pm-site.is-ready .pm-hero-copy>*:nth-child(4){transition-delay:.74s}

/* Scroll reveal primitives added by JS */
.pm-reveal{opacity:0;transform:translateY(58px);transition:opacity var(--pm-duration) var(--pm-ease),transform var(--pm-duration) var(--pm-ease);will-change:opacity,transform}
.pm-reveal.pm-in-view{opacity:1;transform:none}
.pm-reveal-left{opacity:0;transform:translateX(-60px);transition:opacity 1.15s var(--pm-ease),transform 1.15s var(--pm-ease)}
.pm-reveal-right{opacity:0;transform:translateX(60px);transition:opacity 1.15s var(--pm-ease),transform 1.15s var(--pm-ease)}
.pm-reveal-left.pm-in-view,.pm-reveal-right.pm-in-view{opacity:1;transform:none}
.pm-stagger>*{opacity:0;transform:translateY(36px);transition:opacity .85s var(--pm-ease),transform .85s var(--pm-ease)}
.pm-stagger.pm-in-view>*{opacity:1;transform:none}
.pm-stagger.pm-in-view>*:nth-child(2){transition-delay:.08s}.pm-stagger.pm-in-view>*:nth-child(3){transition-delay:.16s}.pm-stagger.pm-in-view>*:nth-child(4){transition-delay:.24s}.pm-stagger.pm-in-view>*:nth-child(5){transition-delay:.32s}.pm-stagger.pm-in-view>*:nth-child(6){transition-delay:.4s}

/* Editorial image curtains */
.pm-image-reveal{position:relative;overflow:hidden;isolation:isolate}
.pm-image-reveal:after{content:"";position:absolute;inset:-1px;background:var(--pm-bg);transform:scaleX(1);transform-origin:right;transition:transform 1.25s var(--pm-ease);z-index:2;pointer-events:none}
.pm-dark .pm-image-reveal:after{background:var(--pm-dark)}
.pm-image-reveal.pm-in-view:after{transform:scaleX(0)}
.pm-image-reveal img{transform:scale(1.08);transition:transform 1.6s var(--pm-ease),filter .8s ease}
.pm-image-reveal.pm-in-view img{transform:scale(1)}

/* Premium image hover and subtle depth */
.pm-brand-grid a,.pm-house-list article,.pm-projects article,.pm-product{position:relative}
.pm-brand-grid a img,.pm-house-list img,.pm-projects img,.pm-product img{will-change:transform}
@media(hover:hover) and (pointer:fine){
  .pm-brand-grid a:hover img,.pm-product:hover img{transform:scale(1.055)}
  .pm-house-list article:hover img,.pm-projects article:hover img{transform:scale(1.025)}
  .pm-brand-grid a:after,.pm-product:after{content:"View";position:absolute;top:22px;right:22px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:rgba(245,242,235,.92);color:#151515;font-size:8px;text-transform:uppercase;letter-spacing:.18em;opacity:0;transform:scale(.7);transition:opacity .35s var(--pm-ease),transform .35s var(--pm-ease);pointer-events:none;z-index:3}
  .pm-brand-grid a:hover:after,.pm-product:hover:after{opacity:1;transform:scale(1)}
}

/* Links feel tactile */
.pm-text-link,.pm-light-link{position:relative;border-bottom:0;overflow:hidden}
.pm-text-link:before,.pm-light-link:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .42s var(--pm-ease)}
.pm-text-link:after,.pm-light-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .42s .12s var(--pm-ease)}
.pm-text-link:hover:before,.pm-light-link:hover:before{transform:scaleX(0)}
.pm-text-link:hover:after,.pm-light-link:hover:after{transform:scaleX(1)}

/* Material strip: immersive zoom */
.pm-materials div{overflow:hidden}
.pm-materials img{transition:transform 1.2s var(--pm-ease),filter .8s ease}
.pm-materials div:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.42));pointer-events:none}
.pm-materials span{z-index:2;transition:transform .55s var(--pm-ease),letter-spacing .55s var(--pm-ease)}
@media(hover:hover) and (pointer:fine){.pm-materials div:hover img{transform:scale(1.075)}.pm-materials div:hover span{transform:translateY(-8px);letter-spacing:.4em}}

/* Projects gain a cinematic crop */
.pm-projects article{overflow:hidden}
.pm-projects article>div{position:relative;z-index:2}
.pm-projects img{transition:transform 1.4s var(--pm-ease),filter .8s ease}

/* Animated form focus */
.pm-form label{position:relative}
.pm-form input,.pm-form select,.pm-form textarea{transition:border-color .3s ease,background-color .3s ease}
.pm-form input:focus,.pm-form select:focus,.pm-form textarea:focus{border-color:#151515;background:rgba(255,255,255,.28)}
.pm-form button{cursor:pointer;transition:letter-spacing .35s var(--pm-ease),opacity .3s ease}
.pm-form button:hover{letter-spacing:.36em;opacity:.65}

/* Subtle grain without image requests */
.pm-site:after{content:"";position:fixed;inset:0;z-index:99998;pointer-events:none;opacity:.027;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}

@media(max-width:900px){
  .pm-reveal,.pm-reveal-left,.pm-reveal-right{transform:translateY(34px)}
  .pm-image-reveal:after{transition-duration:1s}
  .pm-hero-overlay:after{display:none}
  .pm-loader-inner{min-width:180px}
}
@media(max-width:600px){
  .pm-loader-mark{font-size:27px}
  .pm-reveal,.pm-reveal-left,.pm-reveal-right{transform:translateY(24px)}
  .pm-stagger>*{transform:translateY(22px)}
}
@media(prefers-reduced-motion:reduce){
  .pm-loader{display:none!important}.pm-page-transition{display:none!important}.pm-nav,.pm-hero-img,.pm-hero-copy>*,.pm-reveal,.pm-reveal-left,.pm-reveal-right,.pm-stagger>*,.pm-image-reveal img{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.pm-image-reveal:after{display:none!important}
}

/* v1.5.0 — refined inner pages, calmer heroes and consistent spacing */
:root{
  --pm-content:1500px;
  --pm-page-x:clamp(22px,5.2vw,96px);
  --pm-section-y:clamp(72px,8vw,132px);
  --pm-section-y-compact:clamp(48px,5.5vw,88px);
}
.pm-pad{padding:var(--pm-section-y) var(--pm-page-x)}
.pm-pad>*{max-width:var(--pm-content)}
.pm-page-hero{
  min-height:auto;
  padding-top:clamp(150px,15vw,210px)!important;
  padding-bottom:clamp(54px,6vw,88px)!important;
  border-bottom:1px solid var(--pm-line);
}
.pm-page-hero h1,.pm-contact h1,.pm-about-hero h1{
  font-size:clamp(54px,7.1vw,118px)!important;
  line-height:.94;
  max-width:1300px;
  margin-top:clamp(22px,2.4vw,36px);
}
.pm-page-hero p{
  max-width:720px;
  margin-top:clamp(24px,2.7vw,38px);
  font-size:clamp(16px,1.25vw,19px);
  line-height:1.7;
}
.pm-collection-intro{
  display:grid;
  grid-template-columns:minmax(150px,.55fr) minmax(0,2.45fr);
  gap:clamp(34px,7vw,120px);
  align-items:start;
  padding-top:var(--pm-section-y-compact);
  padding-bottom:var(--pm-section-y-compact);
}
.pm-collection-intro h2{
  font-size:clamp(38px,4.8vw,78px);
  max-width:980px;
}
.pm-section-head{margin-bottom:clamp(48px,6vw,86px)}
.pm-house-list{padding-top:0}
.pm-house-list article{
  gap:clamp(38px,7vw,120px);
  padding:clamp(52px,6vw,92px) 0;
}
.pm-house-list h2{font-size:clamp(42px,5vw,78px)}
.pm-projects{padding-top:var(--pm-section-y-compact)}
.pm-projects article{margin-bottom:clamp(70px,9vw,130px)}
.pm-projects img{height:clamp(420px,58vw,760px)}
.pm-projects article:nth-child(even){width:min(78%,1180px)}
.pm-projects h2{font-size:clamp(38px,4.4vw,68px)}
.pm-about-hero{
  padding-top:clamp(150px,15vw,210px)!important;
  padding-bottom:var(--pm-section-y)!important;
  gap:clamp(42px,7vw,110px);
}
.pm-about-hero img{max-height:760px}
.pm-about-hero p{margin-top:clamp(28px,3vw,42px)}
.pm-contact{
  padding-top:clamp(150px,15vw,210px)!important;
  padding-bottom:var(--pm-section-y)!important;
  gap:clamp(54px,8vw,130px);
}
.pm-contact h1{margin-bottom:clamp(26px,3vw,42px)}
.pm-footer{padding-top:clamp(90px,9vw,138px)}

@media(max-width:900px){
  .pm-page-hero{padding-top:130px!important;padding-bottom:54px!important}
  .pm-page-hero h1,.pm-contact h1,.pm-about-hero h1{font-size:clamp(50px,11vw,78px)!important}
  .pm-collection-intro{grid-template-columns:1fr;gap:22px}
  .pm-projects article:nth-child(even){width:100%}
  .pm-projects img{height:clamp(360px,78vw,620px)}
  .pm-about-hero,.pm-contact{padding-top:130px!important}
}
@media(max-width:560px){
  :root{--pm-section-y:68px;--pm-section-y-compact:46px}
  .pm-pad{padding-left:22px;padding-right:22px}
  .pm-page-hero{padding-top:112px!important;padding-bottom:44px!important}
  .pm-page-hero h1,.pm-contact h1,.pm-about-hero h1{font-size:52px!important}
  .pm-page-hero p{font-size:16px;margin-top:22px}
  .pm-collection-intro h2{font-size:39px}
  .pm-house-list article{padding:46px 0;gap:26px}
  .pm-projects{padding-top:46px}
  .pm-projects article{margin-bottom:68px}
  .pm-projects img{height:auto;aspect-ratio:4/5}
  .pm-about-hero,.pm-contact{padding-top:112px!important}
}

/* v1.6.0 — WordPress Site Logo + refined premium header spacing */
.pm-nav{
  min-height:92px;
  height:auto;
  padding:22px clamp(24px,4vw,76px);
  gap:36px;
}
.pm-nav.is-scrolled{
  min-height:72px;
  height:auto;
  padding-top:14px;
  padding-bottom:14px;
}
.pm-site-logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:0;
  line-height:1;
}
.pm-site-logo .custom-logo-link{
  display:flex;
  align-items:center;
  line-height:1;
}
.pm-site-logo .custom-logo{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:min(230px,28vw)!important;
  max-height:52px!important;
  object-fit:contain;
  transition:max-height .35s ease,filter .35s ease,opacity .35s ease;
}
.pm-home .pm-nav:not(.is-scrolled) .pm-site-logo .custom-logo{
  filter:brightness(0) invert(1);
}
.pm-nav.is-scrolled .pm-site-logo .custom-logo{
  max-height:42px!important;
  filter:none;
}
.pm-site-logo__fallback{
  font-family:Georgia,'Times New Roman',serif;
  font-size:20px;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.pm-menu{margin-left:auto;gap:clamp(24px,3vw,46px)}
.pm-menu-toggle{margin-left:auto}
@media(max-width:900px){
  .pm-nav,.pm-nav.is-scrolled{min-height:74px;height:auto;padding:16px 22px}
  .pm-site-logo .custom-logo{max-width:190px!important;max-height:44px!important}
  .pm-nav.is-scrolled .pm-site-logo .custom-logo{max-height:38px!important}
}
@media(max-width:600px){
  .pm-nav,.pm-nav.is-scrolled{min-height:68px;padding:13px 18px}
  .pm-site-logo .custom-logo{max-width:150px!important;max-height:38px!important}
  .pm-nav.is-scrolled .pm-site-logo .custom-logo{max-height:34px!important}
  .pm-site-logo__fallback{font-size:17px}
}


/* v1.7.2 — Trustivo Forms integration for the Patrick Michils contact page only.
   All selectors are scoped to .pm-contact so other pages, animations and addon forms remain unchanged. */
.pm-contact .pm-form-host{
  min-width:0;
  padding-top:75px;
}
.pm-contact .tcli-form-wrap.pm-trustivo-form{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:var(--pm-ink);
  font-family:inherit;
}
.pm-contact .pm-trustivo-form .tcli-form{margin:0}
.pm-contact .pm-trustivo-form .tcli-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px 26px;
}
.pm-contact .pm-trustivo-form .tcli-field-half{grid-column:span 1}
.pm-contact .pm-trustivo-form .tcli-field-third{grid-column:span 1}
.pm-contact .pm-trustivo-form .tcli-field-full{grid-column:1/-1}
.pm-contact .pm-trustivo-form .tcli-grid:has(.tcli-field-third){grid-template-columns:repeat(2,minmax(0,1fr))}
.pm-contact .pm-trustivo-form label:not(.tcli-check){
  display:block;
  margin:0;
  color:var(--pm-ink);
  font-size:9px;
  line-height:1.5;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.25em;
}
.pm-contact .pm-trustivo-form .tcli-label-text em{color:inherit;font-style:normal}
.pm-contact .pm-trustivo-form input:not([type="checkbox"]):not([type="radio"]),
.pm-contact .pm-trustivo-form select,
.pm-contact .pm-trustivo-form textarea{
  display:block;
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  margin-top:7px;
  padding:14px 0;
  border:0;
  border-bottom:1px solid var(--pm-line);
  border-radius:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  color:var(--pm-ink);
  font:inherit;
  font-size:15px;
  line-height:1.55;
  letter-spacing:0;
  text-transform:none;
  transition:border-color .3s var(--pm-ease),opacity .3s var(--pm-ease);
}
.pm-contact .pm-trustivo-form textarea{min-height:128px;resize:vertical}
.pm-contact .pm-trustivo-form input:focus,
.pm-contact .pm-trustivo-form select:focus,
.pm-contact .pm-trustivo-form textarea:focus{
  outline:0;
  border-color:var(--pm-ink);
  box-shadow:none;
}
.pm-contact .pm-trustivo-form input::placeholder,
.pm-contact .pm-trustivo-form textarea::placeholder{color:#9a968e;opacity:.72}
.pm-contact .pm-trustivo-form .tcli-choice-list{
  display:grid;
  gap:9px;
  margin-top:13px;
  font-size:12px;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:none;
}
.pm-contact .pm-trustivo-form .tcli-choice-list input{accent-color:var(--pm-ink)}
.pm-contact .pm-trustivo-form .tcli-help{
  display:block;
  margin-top:7px;
  color:var(--pm-muted);
  font-size:11px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}
.pm-contact .pm-trustivo-form .tcli-section-title{
  padding:12px 0 0;
  border-bottom:1px solid var(--pm-line);
}
.pm-contact .pm-trustivo-form .tcli-section-title h3{
  margin:0 0 12px;
  color:var(--pm-ink);
  font-family:Georgia,'Times New Roman',serif;
  font-size:26px;
  font-weight:400;
  letter-spacing:-.025em;
  text-transform:none;
}
.pm-contact .pm-trustivo-form .tcli-check{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  margin:28px 0 0;
  color:var(--pm-muted);
  font-size:11px;
  line-height:1.55;
  font-weight:400;
  letter-spacing:.04em;
  text-transform:none;
}
.pm-contact .pm-trustivo-form .tcli-check input{
  flex:0 0 auto;
  width:14px;
  height:14px;
  margin:2px 0 0;
  accent-color:var(--pm-ink);
}
.pm-contact .pm-trustivo-form .tcli-captcha{margin:24px 0 0}
.pm-contact .pm-trustivo-form button[type="submit"]{
  display:block;
  width:max-content;
  margin:34px 0 0 auto;
  padding:10px 0;
  border:0;
  border-bottom:1px solid currentColor;
  border-radius:0;
  background:transparent;
  color:var(--pm-ink);
  box-shadow:none;
  font:inherit;
  font-size:10px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.28em;
  cursor:pointer;
  transition:opacity .25s ease,transform .25s var(--pm-ease);
}
.pm-contact .pm-trustivo-form button[type="submit"]:hover{opacity:.58;transform:translateY(-1px)}
.pm-contact .pm-trustivo-form .tcli-success{
  margin:0 0 28px;
  padding:14px 0;
  border:0;
  border-top:1px solid var(--pm-line);
  border-bottom:1px solid var(--pm-line);
  border-radius:0;
  background:transparent;
  color:var(--pm-ink);
  font-weight:400;
}
@media(max-width:900px){
  .pm-contact .pm-form-host{padding-top:0}
}
@media(max-width:620px){
  .pm-contact .pm-trustivo-form .tcli-grid,
  .pm-contact .pm-trustivo-form .tcli-grid:has(.tcli-field-third){grid-template-columns:1fr}
  .pm-contact .pm-trustivo-form .tcli-field-half,
  .pm-contact .pm-trustivo-form .tcli-field-third,
  .pm-contact .pm-trustivo-form .tcli-field-full{grid-column:1/-1}
  .pm-contact .pm-trustivo-form button[type="submit"]{margin-top:30px}
}
