
:root{
--px-type-hero:clamp(48px,5.4vw,78px);--px-type-h1:clamp(44px,5.5vw,76px);--px-type-detail:clamp(40px,5vw,68px);
--px-type-h2:clamp(34px,4vw,60px);--px-type-h3:20px;--px-type-h4:16px;--px-type-body:14px;--px-type-lead:16px;
--px-type-menu:13px;--px-type-submenu:14px;--px-type-button:13px;--px-type-label:13px;--px-type-eyebrow:11px;--px-type-caption:12px;--px-type-footer:12px;
}
.px-home-header{position:sticky;top:0;z-index:20;background:rgba(246,247,242,.95);backdrop-filter:blur(14px);border-bottom:1px solid #dce2d9;color:#193a36;font-family:var(--sans,Inter,ui-sans-serif,system-ui,sans-serif)}
.px-home-header .nav{max-width:1440px;width:100%;padding:0 64px;height:84px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.px-home-header .brand{display:flex;align-items:center;font-size:25px;font-weight:650;letter-spacing:-1.5px;gap:9px;color:inherit}
.px-home-header .brand svg{width:27px;height:27px}.px-home-header .px-brand-word{font-size:inherit}
.px-home-header .nav-links,.px-home-header .nav-actions{display:flex;align-items:center;gap:24px;margin:0}
.px-home-header .nav-actions{gap:19px}.px-home-header .nav-links>a,.px-home-header .nav-links>button,.px-home-header .nav-actions>a{font-size:var(--px-type-menu);line-height:1.4}
.px-home-header .nav-link{border:0;background:transparent;color:inherit;padding:20px 0;text-align:left}
.px-home-header .nav-link svg{width:12px;height:12px;margin-left:6px}.px-home-header .active,.px-home-header a:hover{color:#1a6357}
.px-home-header .btn{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;padding:14px 25px;min-height:46px;border-radius:2px;border:1px solid #193a36;background:#193a36;color:#fff;white-space:nowrap}
.px-home-header .btn:hover{background:#1a6357;color:#fff}.px-home-header .menu-trigger{display:none}
.px-home-header .m-language{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #dce2d9;border-radius:5px;background:#f9faf6;font-size:10px;flex-shrink:0}
.px-home-header .m-language>button{font-family:inherit;border:0;background:transparent;border-radius:3px;color:#69756f;padding:6px 7px;font-size:9px;min-width:28px;line-height:1.2}
.px-home-header .m-language>button[aria-pressed=true]{background:#193a36;color:#fff}.px-home-header .m-mobile-language{display:none}
.px-home-header .product-menu{position:absolute;top:84px;left:0;right:0;background:#f6f7f2;border-bottom:1px solid #dce2d9;padding:30px 6vw 34px;box-shadow:0 20px 30px #193a3610;max-height:calc(100dvh - 84px);overflow:auto}
.px-home-header .product-menu[hidden]{display:none}.px-home-header .product-menu-inner{max-width:1180px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:46px;margin:auto}
.px-home-header .product-menu a{display:flex;align-items:center;gap:16px;padding:12px 0;font-size:var(--px-type-submenu)}
.px-home-header .product-menu a>svg{width:20px;height:20px;color:#1a6357}
.px-home-header .product-menu small{display:block;color:#69756f;font-size:12px;line-height:1.6;margin-top:5px}
.px-home-header .eyebrow{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:17px;font-weight:550}
.px-home-header .menu-feature{border-left:1px solid #dce2d9;padding-left:36px}
.px-home-header .menu-feature img{width:100%;aspect-ratio:2/1;object-fit:cover;margin-bottom:15px;border-radius:2px}
.px-home-header .menu-feature strong{font-size:14px;font-weight:600}
.px-home-header .text-link{font-size:12px;line-height:1.6}
.px-public-site #main .hero-intro h1{font-size:var(--px-type-hero)}
.px-public-site #main .page-intro h1{font-size:var(--px-type-h1)}
.px-public-site #main .feature-hero h1{font-size:var(--px-type-detail)}
.px-public-site #main h3:not(.m-cover-copy h3):not(.gallery-preview-content h3):not(.m-live-copy h3):not(.m-example-caption h3){font-size:var(--px-type-h3)}
.px-public-site #main :is(.hero-copy p,.section-head p,.feature-hero>div>p,.page-intro>p,.workflow-step p,.feature-row p,.feature-points p,.help-topic p,.article-page p,.plan>p){font-size:var(--px-type-body);line-height:1.7}
.px-public-site #main :is(.lead,.feature-hero>div>p,.page-intro>p){font-size:var(--px-type-lead)}
.px-public-site #main .btn{font-size:var(--px-type-button)}
.px-public-site #main .eyebrow{font-size:var(--px-type-eyebrow)}
.px-public-site #main .field,.px-public-site #main .checkbox{font-size:var(--px-type-label)}
.px-public-site #main .section{padding-block:76px}
.px-public-site #main .section-head{margin-bottom:32px}
.px-public-site #main .feature-hero{padding-block:64px}
.px-public-site #main .m-tool{background:transparent;border:0;box-shadow:none;border-radius:0}
.px-public-site #main .m-tool-art,.px-public-site #main .m-tool-crop .m-tool-art{padding:0}
.px-public-site #main .m-tool-copy{padding:20px 0 0}
.px-public-site #main .m-tool-copy h3{font-size:18px}
.px-public-site #main .m-tool-copy>p{font-size:14px;line-height:1.7}
.px-public-site #main .m-tool-links{padding-top:16px}.px-public-site #main .m-tool-links a{font-size:12px}
.px-public-site #main .m-walkthrough-shell{border:0;border-radius:0;background:transparent}
.px-public-site #main .m-live-demo{padding:28px 0;min-height:0}
.px-public-site #main .m-demo-tabs{padding:0 0 16px}
.px-public-site #main .m-live-copy>p{font-size:14px}
.px-public-site #main .m-example-caption p{font-size:13px}
.px-public-site #main .m-example-caption span{margin-left:9px;color:var(--muted)}
.px-public-site #main .feature-row{grid-template-columns:40px 1fr 1.4fr}
.px-public-site #main .m-ecosystem-intro>.brand{font-size:23px;white-space:nowrap}
.px-public-footer .footer-col a{font-size:var(--px-type-footer)}
.px-public-footer .footer-col>strong{font-size:13px}
.px-public-site #main .help-topic details{border-bottom:1px solid var(--line);padding:12px 0}
.px-public-site #main .help-topic details:last-child{border-bottom:0}
.px-public-site #main .help-topic summary{cursor:pointer;font-size:14px;line-height:1.5}
.px-public-site #main .help-topic details p{line-height:1.7;margin:14px 0;color:var(--muted)}
.px-public-site #main .help-topic details .text-link{font-size:13px}
.feature-row[id],#complete-workflow,#product-in-action{scroll-margin-top:105px}
.px-public-site #main .m-section-head h1{font-size:var(--px-type-h1);max-width:870px}
.px-public-site #main .m-cover-detail h1{font-family:var(--serif);font-weight:400;font-size:72px;letter-spacing:-.045em;line-height:1.06}
.px-public-site #main .m-cover-detail.m-cover-editorial h1,.px-public-site #main .m-cover-detail.m-cover-minimal h1{font-size:45px}
.px-public-site #main .m-cover-detail.m-cover-split h1{font-size:60px}
.entry-top .px-brand,.auth-back .px-brand{color:inherit}
@media(max-width:1150px){.px-home-header .nav{padding:0 36px;gap:20px}.px-home-header .nav-links{gap:19px}.px-home-header .nav-actions{gap:14px}}
@media(max-width:900px){
 :root{--px-type-h1:59px;--px-type-detail:43px;--px-type-h2:43px}
 .px-home-header .nav{height:73px}.px-home-header .brand{font-size:23px}.px-home-header .nav-links{gap:17px}.px-home-header .nav-links>a,.px-home-header .nav-link{font-size:12px}
 .px-home-header .nav-actions>a:not(.btn){display:none}.px-home-header .nav-actions .btn{padding:12px 17px;font-size:12px;min-height:42px}
 .px-home-header .product-menu{top:73px;max-height:calc(100dvh - 73px)}.px-home-header .product-menu-inner{gap:25px}.px-home-header .menu-feature{padding-left:25px}
 .px-public-site #main .section{padding-block:64px}.px-public-site #main .feature-hero{padding-block:48px}
 .px-public-site #main .feature-row{grid-template-columns:35px .85fr 1.4fr}
}
@media(max-width:680px){
 :root{--px-type-hero:52px;--px-type-h1:44px;--px-type-detail:44px;--px-type-h2:37px;--px-type-h3:18px;--px-type-lead:15px}
 .px-home-header .nav{height:65px;padding:0 22px;gap:14px}.px-home-header .brand{font-size:23px}.px-home-header .brand svg{width:23px;height:23px}
 .px-home-header .menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:7px;border:0;background:transparent;color:inherit}
 .px-home-header .nav-actions{margin-left:auto;gap:5px}.px-home-header .nav-actions .btn{font-size:11px;padding:10px 13px;min-height:36px}
 .px-home-header .nav-links{display:none;position:absolute;top:65px;left:0;right:0;background:#f6f7f2;padding:15px 24px;border-bottom:1px solid #dce2d9}
 .px-home-header .nav-links.mobile-open{display:flex;align-items:stretch;flex-direction:column;gap:0}
 .px-home-header .nav-links>a,.px-home-header .nav-link{font-size:14px;padding:14px 0;text-align:left;border-bottom:1px solid #dce2d9}
 .px-home-header .m-mobile-language{display:flex;align-self:start;margin-top:15px}.px-home-header .nav-actions>.m-language{display:none}
 .px-home-header .product-menu{top:65px;max-height:calc(100dvh - 80px);padding:22px}.px-home-header .product-menu-inner{grid-template-columns:1fr;gap:15px}.px-home-header .menu-feature{display:none}
 .px-public-site #main .m-section-head h1{font-size:var(--px-type-h1)!important}
 .px-public-site #main .m-cover-detail h1{font-size:40px!important}
 .px-public-site #main .m-cover-detail.m-cover-editorial h1,.px-public-site #main .m-cover-detail.m-cover-minimal h1,.px-public-site #main .m-cover-detail.m-cover-split h1{font-size:30px!important}
 .px-public-site #main .hero-intro h1{font-size:var(--px-type-hero)!important}
 .px-public-site #main .page-intro h1{font-size:var(--px-type-h1)!important}
 .px-public-site #main .feature-hero h1{font-size:var(--px-type-detail)!important}
 .px-public-site #main .section{padding-block:52px}.px-public-site #main .section-head{margin-bottom:26px}
 .px-public-site #main .feature-hero{padding-block:40px}
 .px-public-site #main .feature-row{grid-template-columns:24px 1fr}.px-public-site #main .feature-row p{grid-column:2}
 .px-public-site #main .m-ecosystem-intro>.brand{width:100%;margin-bottom:4px}
 .px-public-site #main .m-live-demo{padding:22px 0;gap:24px}
}
/* Image-specific focal points for public editorial crops. Original files are unchanged. */
img[src*="/named/wedding-classic-courtyard.webp"]{--px-focal:60% 68%}
img[src*="/named/wedding-classic-toast.webp"]{--px-focal:54% 28%}
img[src*="/named/wedding-destination-olive-grove.webp"]{--px-focal:60% 64%}
img[src*="/named/wedding-destination-portrait.webp"]{--px-focal:52% 62%}
img[src*="/named/wedding-modern-evening-walk.webp"]{--px-focal:50% 34%}
img[src*="/named/wedding-modern-first-dance.webp"]{--px-focal:51% 36%}
.hero-photo>img,.feature-image>img,.photo-stack img,.panoramic>img,.m-mini-cover>img,.m-mini-film>img,.m-brand-cover>img,.m-cover-photo,.menu-feature img,.auth-art>img,.gallery-preview>img,.m-trust-client>img,.m-mini-book img{object-position:var(--px-focal,50% 50%)}
@media(max-width:680px){
 img[src*="/named/wedding-classic-courtyard.webp"]{--px-focal:61% 68%}
 img[src*="/named/wedding-destination-olive-grove.webp"]{--px-focal:61% 64%}
 img[src*="/named/wedding-destination-portrait.webp"]{--px-focal:50% 62%}
}

/* Photo-specific framing for the existing gallery cover collection. */
img[src*="/examples/01-aurelia.webp"]{--px-focal:50% 30%}
img[src*="/examples/02-cadence.webp"]{--px-focal:50% 26%}
img[src*="/examples/03-savia.webp"]{--px-focal:60% 42%}
img[src*="/examples/04-origen.webp"]{--px-focal:50% 17%}
img[src*="/examples/05-esencia.webp"]{--px-focal:53% 8%}
img[src*="/examples/06-eter.webp"]{--px-focal:55% 30%}
img[src*="/examples/07-forma.webp"]{--px-focal:55% 50%}
img[src*="/examples/08-entre-dos.webp"]{--px-focal:50% 38%}
img[src*="/examples/09-primer-dia.webp"]{--px-focal:50% 20%}
img[src*="/examples/10-encuentro.webp"]{--px-focal:50% 45%}
img[src*="/examples/11-linea.webp"]{--px-focal:50% 55%}
img[src*="/examples/12-domingo.webp"]{--px-focal:60% 38%}
img[src*="/examples/13-aurora.webp"]{--px-focal:50% 17%}
img[src*="/examples/14-horizonte.webp"]{--px-focal:65% 16%}
img[src*="/examples/15-promesa.webp"]{--px-focal:55% 32%}
img[src*="/examples/16-atelier.webp"]{--px-focal:60% 48%}
img[src*="/examples/17-lejania.webp"]{--px-focal:50% 38%}
img[src*="/examples/18-nocturna.webp"]{--px-focal:50% 35%}

body.px-public-site .m-cover .m-cover-photo{object-position:var(--px-focal,50% 50%)}
body.px-public-site .m-detail-frame{max-width:1000px;margin-inline:auto}
body.px-public-site .m-detail-frame .m-cover{height:700px}
body.px-public-site .m-cover-editorial .m-cover-photo{height:72%}
body.px-public-site .m-cover-editorial .m-cover-copy{top:72%}
body.px-public-site .m-cover-minimal .m-cover-photo{height:68%}
body.px-public-site .m-cover-minimal .m-cover-copy{top:68%}
body.px-public-site #viewer .book-page>img{object-fit:contain;object-position:center}
body.px-public-site .help-topic[hidden],body.px-public-site .help-topic details[hidden]{display:none}
@media(max-width:900px){body.px-public-site .m-detail-frame .m-cover{height:580px}}
@media(max-width:680px){
 body.px-public-site .m-detail-frame .m-cover{height:420px}
 body.px-public-site .m-cover-split .m-cover-photo{width:100%;height:70%;margin-left:0;inset:0 0 auto}
 body.px-public-site .m-cover-split .m-cover-copy{inset:70% 0 0;padding:14px 18px;text-align:center}
 body.px-public-site .m-cover-split .m-cover-copy :is(h1,h3){font-size:26px!important;max-width:100%}
 body.px-public-site .m-cover-split .m-cover-line,body.px-public-site .m-cover-split .m-cover-open,body.px-public-site .m-cover-split .m-cover-studio{display:none}
}

/* Empty studio templates retain their layout with an intact public portrait. */
body.px-studio-default:has(#main) .tenant-footer-powered .px-brand{color:#193a36!important}
body.px-studio-default-cover:has(.tenant-public-header) #main:has(>.auth):before{
 background-image:linear-gradient(180deg,transparent 62%,#1016132b),url('/assets/pxshots/premium-20261014T140000Z/assets/photo-refresh-20261014T153631Z/named/wedding-destination-portrait.webp')!important;
 background-position:52% 48%!important;
}
@media(max-width:780px){body.px-studio-default-cover:has(.tenant-public-header) #main:has(>.auth):before{background-position:52% 35%!important}}

/* Portrait viewports need a wider scene, rather than a horizontal close-up. */
body.px-public-site .auth-art>.px-auth-photograph{position:absolute;inset:0;display:block}
body.px-public-site .auth-art>.px-auth-photograph>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
@media(min-width:681px) and (max-aspect-ratio:3/2){
 body.px-public-site .auth-art>.px-auth-photograph>img[src*="wedding-destination-portrait.webp"]{object-position:52% 50%}
 body.px-public-site .auth-art>.px-auth-photograph>img[src*="wedding-destination-olive-grove.webp"]{object-position:60% 50%}
 body.px-public-site .auth-art>.px-auth-photograph>img[src*="wedding-modern-evening-walk.webp"]{object-position:55% 50%}
}
@media(max-width:680px){
 body.px-public-site .panoramic{min-height:580px}
 body.px-public-site .panoramic>img{top:0;height:100%;object-position:56% 34%}
 body.px-public-site .panoramic-copy{padding:280px 0 32px}
}

body.px-public-site .m-cover-framed .m-cover-copy{justify-content:flex-end;padding-bottom:24px}
body.px-studio-default-cover:has(.tenant-public-header) #main:has(>.auth):before{background-position:52% 62%!important}
@media(max-width:780px){body.px-studio-default-cover:has(.tenant-public-header) #main:has(>.auth):before{background-position:52% 55%!important}}

:root{--px-type-metadata:12px}
body.px-public-site #main .section-head h1{font-size:var(--px-type-h1)!important}
body.px-public-site #main :is(.section-head,.m-section-head) h2{font-size:var(--px-type-h2)}
body.px-public-site #main .pricing-grid+p.muted{font-size:var(--px-type-metadata)!important;line-height:1.6}
