/* Part 1: scoped editorial presentation, original commerce and footer retained. */
.pm-premium { --px-canvas:#fffdfb; --px-rose:#fbf4f2; --px-line:#e9dddb; --px-ink:#292326; --px-muted:#655b5d; --px-ease:cubic-bezier(.2,.8,.2,1); background:var(--px-canvas); }
.pm-premium .pm-shell { width:min(1320px,calc(100% - 80px)); }
.pm-premium :where(a,button,input,summary):focus-visible { outline-color:#1c5b9c!important; }
.pm-premium .pm-button { border-radius:10px; min-height:52px; padding:15px 24px; }
.pm-premium .pm-button svg,.pm-premium .pm-text-link svg { transition:transform .2s var(--px-ease); }
.pm-premium :is(.pm-button,.pm-text-link):hover svg { transform:translateX(4px); }
.pm-premium .pm-announcement { padding:8px 16px; min-height:32px; font-size:12px; background:#322b2b; }
.pm-premium .pm-announcement span { display:none; }
.pm-premium .pm-header-row { min-height:94px; gap:18px; }
.pm-premium .pm-header { background:#fffdfbf5; }
.pm-premium .pm-desktop-nav { gap:24px; }
.pm-premium .pm-desktop-nav>a,.pm-premium .pm-nav-dropdown>summary { padding:14px 0; position:relative; }
.pm-premium .pm-desktop-nav>a::after { content:''; position:absolute; bottom:7px; left:0; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.pm-premium .pm-desktop-nav>a:hover::after,.pm-premium .pm-desktop-nav>a[aria-current=page]::after { transform:scaleX(1); }
.pm-premium .pm-desktop-nav>a:hover { text-decoration:none; }
.pm-premium .pm-nav-dropdown>div { top:100%; min-width:520px; left:-120px; padding:24px; display:grid; grid-template-columns:1fr 180px; gap:24px; border-radius:12px; }
.pm-premium .pm-nav-dropdown:not([open])>div { display:none; }
.pm-premium .px-mega-links a { padding:10px 0; font-size:14px; }
.pm-premium .pm-nav-dropdown .px-mega-photo { padding:0; overflow:hidden; border-radius:6px; white-space:normal; }
.px-mega-photo img { display:block; width:100%; height:165px; object-fit:cover; }
.px-mega-photo span { display:block; font-size:13px; padding-top:10px; }
.pm-premium .pm-mobile-dialog { background:var(--px-canvas); }
.pm-premium .pm-mobile-dialog nav>a { min-height:52px; }
.pm-premium .px-home { color:var(--px-ink); font-size:17px; }
.px-home h2 { font-size:clamp(34px,3.6vw,54px); line-height:1.12; letter-spacing:-.04em; max-width:720px; }
.px-home h3 { font-size:27px; letter-spacing:-.025em; }
.px-home .pm-eyebrow { font-size:11px; letter-spacing:.16em; margin-bottom:18px; }
.px-hero { background:linear-gradient(110deg,#fbf4f2,#f7eeea); overflow:hidden; }
.px-hero-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:50px; align-items:center; padding-block:50px 30px; min-height:680px; }
.px-hero-copy { position:relative; z-index:2; max-width:530px; }
.px-hero-copy h1 { font:400 clamp(48px,5.25vw,68px)/1.04 'Josefin Sans',sans-serif; letter-spacing:-.055em; margin:0 0 24px; text-wrap:balance; }
.px-hero-copy h1 em { font-size:.9em; }
.px-hero-description { font-size:17px; line-height:1.65; max-width:410px; color:var(--px-muted); margin:0 0 28px; }
.px-hero-copy .pm-actions { gap:24px; }
.px-request-note { display:flex; align-items:center; gap:10px; font-size:13px; color:#735253; margin:28px 0 0; }
.px-request-note svg { width:22px; height:22px; flex-shrink:0; }
.px-hero-collage { position:relative; height:590px; padding:8px 62px 32px 30px; }
.px-hero-main { height:100%; border-radius:130px 12px 12px 12px; overflow:hidden; background:#e8d2d0; }
.px-hero-main img { height:100%; width:100%; object-fit:cover; object-position:center; }
.px-hero-orbit { position:absolute; inset:0 28px 15px 14px; border:1px solid #b98b8d66; border-radius:160px 16px 16px; transform:rotate(5deg); pointer-events:none; }
.px-hero-detail { position:absolute; width:43%; bottom:26px; left:-22px; margin:0; background:#fffdfb; padding:9px; box-shadow:0 14px 36px #322b2b16; transform:rotate(-6deg); }
.px-hero-detail img { display:block; aspect-ratio:4/3; object-fit:cover; width:100%; }
.px-hero-detail figcaption { padding:10px 2px 2px; font:italic 14px Georgia,serif; color:#735253; }
.px-hero-small { position:absolute; width:27%; top:36px; right:0; border:7px solid #fffdfb; transform:rotate(7deg); box-shadow:0 8px 32px #322b2b14; }
.px-hero-small img { display:block; aspect-ratio:3/4; object-fit:cover; width:100%; }
.px-photo-label { position:absolute; right:56px; bottom:0; font-size:9px; letter-spacing:.18em; color:#735253; }
.px-hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #e8d2d0; padding-block:20px; font-size:12px; }
.px-hero-bottom>a { color:#735253; }
.px-hero-bottom>a span { margin-left:20px; }
.px-hero-bottom>span { font-size:10px; letter-spacing:.15em; color:var(--px-muted); }
.px-slide-controls { display:flex; gap:18px; align-items:center; margin-top:24px; }
.px-slide-controls[hidden] { display:none; }
.px-slide-controls button { width:44px; height:44px; border:1px solid #b98b8d66; border-radius:50%; background:transparent; color:#735253; cursor:pointer; font-size:20px; }
.px-slide-status { font-size:12px; letter-spacing:.15em; color:#735253; }
.px-values { border-bottom:1px solid var(--px-line); background:var(--px-canvas); }
.px-values>.pm-shell { display:grid; grid-template-columns:repeat(4,1fr); padding-block:22px; gap:24px; }
.px-values span { font-size:13px; color:#735253; display:flex; gap:18px; align-items:center; }
.px-values i { font-size:23px; font-style:normal; color:#b98b8d; }
.px-section { padding-block:96px; }
.px-home section,.pm-premium .elementor-1373 { scroll-margin-top:110px; }
.px-section-head { display:flex; gap:32px; align-items:end; justify-content:space-between; margin-bottom:36px; }
.px-section-head h2 { margin:0; }
.px-section-head>.pm-text-link { flex-shrink:0; }
.px-photo-tile { display:block; position:relative; color:var(--px-ink); min-width:0; }
.px-tile-media { overflow:hidden; border-radius:12px; background:#f3e6e4; }
.px-tile-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s var(--px-ease); }
.px-photo-tile:hover .px-tile-media img { transform:scale(1.035); }
.px-tile-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:22px; }
.px-tile-caption h3 { margin:0 0 7px; }
.px-tile-caption p { font-size:14px; line-height:1.5; margin:0; color:var(--px-muted); }
.px-round-arrow { width:40px; height:40px; display:grid; place-items:center; border:1px solid #d7c4c1; border-radius:50%; flex-shrink:0; transition:background .2s; }
.px-round-arrow svg { width:18px; height:18px; }
.px-photo-tile:hover .px-round-arrow { background:#f3e6e4; }
.px-occasions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.px-occasions .px-tile-media { aspect-ratio:1; }
.px-occasions h3 { font-size:25px; }
.px-occasions .px-tile-caption { align-items:start; }
.px-occasions .px-round-arrow { width:32px; height:32px; }
.px-quickpaths { padding-block:0 72px; text-align:center; }
.px-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.px-chips a { padding:13px 22px; min-height:46px; border:1px solid var(--px-line); border-radius:999px; font-size:14px; color:#735253; transition:background .2s; }
.px-chips a:hover { background:#f3e6e4; }
.px-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; }
.px-product { min-width:0; }
.px-product a { color:var(--px-ink); }
.px-product-image { position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:10px; background:#fbf4f2; }
.px-product-image>img { height:100%; width:100%; object-fit:cover; transition:opacity .3s,transform .4s var(--px-ease); }
.px-product-image .px-product-alternate { position:absolute; inset:0; opacity:0; }
@media(hover:hover) and (pointer:fine) { .px-product a:hover .px-product-alternate { opacity:1; } .px-product a:hover .px-product-primary { transform:scale(1.035); } }
.px-product-image>span { display:flex; gap:14px; justify-content:space-between; align-items:center; position:absolute; inset:auto 10px 10px; padding:12px 15px; background:#fffdfbf2; border-radius:6px; font-size:13px; color:#735253; }
.px-product-image>span svg { width:18px; height:18px; }
.px-product-info { padding-top:18px; }
.px-product-info h3 { font-size:23px; line-height:1.3; margin:0 0 8px; }
.px-product-info>div { font-size:15px; color:#735253; }
.px-estimate-note { margin:26px 0 0; font-size:13px; color:var(--px-muted); }
.px-collection-section { background:#f3e6e4; }
.px-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; align-items:end; }
.px-collections .px-tile-media { height:480px; border-radius:8px; }
.px-collections .px-photo-tile:nth-child(2) .px-tile-media { height:410px; }
.px-collections .px-tile-caption { min-height:96px; align-items:start; }
.px-budget-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.px-budget-card { display:grid; grid-template-columns:100px 1fr; gap:20px; background:#fbf4f2; border:1px solid var(--px-line); border-radius:12px; padding:16px; }
.px-budget-card .px-tile-media { height:120px; border-radius:6px; }
.px-budget-card .px-tile-caption { padding:0; }
.px-budget-card h3 { font-size:24px; }
.px-budget-card .px-round-arrow { display:none; }
.px-details-section { background:#322b2b; color:#fffdfb; }
.px-details-section h2,.px-details-section .pm-eyebrow { color:#f3e6e4; }
.px-section-copy { max-width:520px; color:#d4c4c4; font-size:16px; line-height:1.65; margin:-12px 0 36px; }
.px-detail-mosaic { display:grid; grid-template-columns:1.2fr 1fr 1fr; grid-template-rows:230px 230px; gap:20px; }
.px-detail-mosaic figure { position:relative; margin:0; min-width:0; overflow:hidden; border-radius:8px; }
.px-detail-mosaic figure:first-child { grid-row:span 2; }
.px-detail-mosaic img { width:100%; height:100%; object-fit:cover; }
.px-detail-mosaic figcaption { position:absolute; bottom:0; left:0; right:0; padding:35px 18px 14px; background:linear-gradient(transparent,#1d1616c9); font-size:14px; color:white; }
.px-personal { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.px-personal-photos { display:grid; grid-template-columns:1.3fr 1fr; gap:16px; align-items:center; }
.px-personal-photos>div:first-child { grid-row:span 2; }
.px-personal-photos img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:10px; }
.px-personal-photos>div:first-child img { aspect-ratio:3/5; }
.px-personal-copy>p:not(.pm-eyebrow),.px-story p:not(.pm-eyebrow) { font-size:17px; line-height:1.7; color:var(--px-muted); margin:24px 0; }
.px-personal-copy .pm-text-link { display:table; margin-top:22px; }
.px-process { background:#fbf4f2; }
.px-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; counter-reset:steps; }
.px-process-grid>div { counter-increment:steps; border-top:1px solid #d7c4c1; padding-top:24px; }
.px-process-grid>div>span { display:flex; align-items:center; gap:20px; color:#735253; font:30px Georgia,serif; margin-bottom:25px; }
.px-process-grid>div>span::before { content:'0' counter(steps); font:12px 'Didact Gothic',sans-serif; }
.px-process-grid h3 { font-size:26px; margin:0 0 12px; }
.px-process-grid p { font-size:15px; line-height:1.65; color:var(--px-muted); }
.px-process-note { font-size:14px; color:#735253; margin:24px 0 0; }
.px-feature-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:32px; }
.px-feature-grid .px-tile-media { height:440px; }
.px-story { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; border-top:1px solid var(--px-line); }
.px-story-photo { position:relative; padding:0 0 35px; }
.px-story-photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:80px 8px 8px; }
.px-story-photo>span { position:absolute; bottom:0; left:0; color:#735253; font-size:10px; letter-spacing:.15em; }
.px-faq { background:#f3e6e4; }
.px-faq>.pm-shell { display:grid; grid-template-columns:1fr 1.2fr; gap:100px; }
.px-faq h2 { margin-bottom:24px; }
.px-faq details { border-bottom:1px solid #d3bebc; padding:20px 0; }
.px-faq summary { display:flex; justify-content:space-between; gap:25px; cursor:pointer; font-size:19px; list-style:none; color:#322b2b; }
.px-faq summary::-webkit-details-marker { display:none; }
.px-faq summary span { font-size:23px; }
.px-faq details[open] summary span { transform:rotate(45deg); }
.px-faq details p { font-size:16px; color:#655b5d; margin:16px 35px 0 0; }
/* Restyle the original HFE template; do not replace its links, fields or form. */
.pm-premium .elementor-1373 { background:#322b2b; color:#f3e6e4; border-top:1px solid #d8ba8d66; }
.pm-premium .elementor-1373 .elementor-element-269db60 { background:#322b2b!important; padding:64px 0 24px!important; }
.pm-premium .elementor-1373 .elementor-inner-section>.elementor-container { max-width:1320px; padding-inline:30px; }
.pm-premium .elementor-1373 :is(.elementor-heading-title,.elementor-icon-list-text,.elementor-widget-text-editor,.elementor-widget-text-editor p,label) { color:#f3e6e4!important; }
.pm-premium .elementor-1373 .elementor-heading-title { font:400 17px/1.5 'Josefin Sans',sans-serif!important; letter-spacing:.02em; margin-bottom:16px; }
.pm-premium .elementor-1373 a { color:#e8d2d0!important; }
.pm-premium .elementor-1373 a:hover { color:white!important; text-decoration:underline; text-underline-offset:4px; }
.pm-premium .elementor-1373 .elementor-icon-list-item { padding-block:6px!important; }
.pm-premium .elementor-1373 :is(.elementor-icon-list-text,.elementor-widget-text-editor,label) { font-size:14px!important; line-height:1.65!important; }
.pm-premium .elementor-1373 input:not([type=hidden]):not([type=submit]) { background:#fffdfb!important; color:#292326!important; border:1px solid #d4c4c4!important; min-height:46px; border-radius:6px; padding:10px 12px; width:100%; }
.pm-premium .elementor-1373 input[type=submit] { min-height:46px; border-radius:6px; background:#e8d2d0!important; color:#322b2b!important; border:0; font-size:14px; }
.pm-premium .elementor-1373 .elementor-element-c3b62b5 { margin-top:28px; border-top:1px solid #ffffff26; padding-top:24px; }
.pm-premium .elementor-1373 .elementor-widget-divider { opacity:.25; }
@media(max-width:1199px) {
 .pm-premium .pm-desktop-nav { gap:17px; }
 .px-hero-grid { gap:30px; }
 .px-hero-collage { height:530px; padding-right:40px; }
 .px-personal,.px-story,.px-faq>.pm-shell { gap:50px; }
 .px-budget-card { grid-template-columns:75px 1fr; gap:14px; }
 .px-budget-card h3 { font-size:21px; }
}
@media(max-width:1100px) {
 .pm-premium .pm-header-row { min-height:84px; }
 .px-hero-grid { min-height:600px; }
 .px-hero-copy h1 { font-size:56px; }
 .px-hero-collage { height:475px; }
 .px-hero-small { top:25px; }
 .px-occasions { gap:18px; }
 .px-occasions h3 { font-size:22px; }
 .px-occasions .px-round-arrow { display:none; }
 .px-collections .px-tile-media { height:380px; }
 .px-collections .px-photo-tile:nth-child(2) .px-tile-media { height:330px; }
 .px-section { padding-block:72px; }
 .px-products { gap:32px 20px; }
 .px-feature-grid .px-tile-media { height:350px; }
}
@media(max-width:767px) {
 .pm-premium .pm-shell { width:calc(100% - 40px); }
 .pm-premium .pm-header-row { min-height:76px; gap:10px; }
 .pm-premium .pm-announcement { font-size:10px; min-height:28px; padding-block:7px; }
 .px-home h2 { font-size:34px; }
 .px-hero-grid { grid-template-columns:1fr; padding-block:36px 20px; gap:24px; min-height:0; }
 .px-hero-copy { max-width:550px; }
 .px-hero-copy h1 { font-size:clamp(40px,9vw,56px); max-width:470px; margin-bottom:16px; }
 .px-hero-description { font-size:16px; line-height:1.55; margin-bottom:20px; }
 .px-hero-copy .pm-eyebrow { font-size:10px; margin-bottom:16px; }
 .px-hero-copy .pm-actions { gap:18px; }
 .px-hero-copy .pm-button { font-size:13px; padding:12px 18px; min-height:48px; gap:12px; }
 .px-hero-copy .pm-text-link { font-size:13px; gap:8px; }
 .px-request-note { margin-top:20px; font-size:12px; }
 .px-hero-collage { height:380px; max-width:440px; width:100%; margin:auto; padding:0 30px 20px 25px; }
 .px-hero-main { border-top-left-radius:90px; }
 .px-hero-detail { width:40%; left:0; bottom:30px; padding:6px; }
 .px-hero-detail figcaption { font-size:11px; padding-top:7px; }
 .px-hero-small { width:25%; right:0; top:24px; border-width:5px; }
 .px-photo-label { font-size:8px; right:25px; }
 .px-hero-bottom { padding-block:16px; }
 .px-hero-bottom>span { display:none; }
 .px-values>.pm-shell { grid-template-columns:1fr 1fr; gap:12px; padding-block:18px; }
 .px-values span { font-size:11px; gap:10px; }
 .px-values i { font-size:19px; }
 .px-section { padding-block:52px; }
 .px-section-head { display:block; margin-bottom:26px; }
 .px-section-head>.pm-text-link { margin-top:20px; }
 .px-occasions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 14px; }
 .px-tile-caption { padding-top:14px; gap:8px; }
 .px-occasions h3 { font-size:21px; line-height:1.2; }
 .px-tile-caption p { font-size:13px; }
 .px-quickpaths { padding-block:0 30px; }
 .px-chips { gap:8px; }
 .px-chips a { padding:11px 14px; font-size:13px; }
 .px-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; }
 .px-product-info { padding-top:12px; }
 .px-product-info h3 { font-size:20px; }
 .px-product-info>div { font-size:14px; }
 .px-product-image>span { padding:8px 10px; font-size:12px; inset:auto 6px 6px; gap:8px; }
 .px-collections { grid-template-columns:1fr; gap:30px; }
 .px-collections .px-tile-media,.px-collections .px-photo-tile:nth-child(2) .px-tile-media { height:auto; aspect-ratio:4/3; }
 .px-collections .px-tile-caption { min-height:0; }
 .px-collections h3 { font-size:26px; }
 .px-budget-grid { grid-template-columns:1fr; gap:12px; }
 .px-budget-card { grid-template-columns:85px 1fr; padding:12px; gap:20px; }
 .px-budget-card .px-tile-media { height:95px; }
 .px-budget-card h3 { font-size:25px; }
 .px-budget-card .px-tile-caption { padding:0; }
 .px-detail-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:250px 165px 165px; gap:12px; }
 .px-detail-mosaic figure:first-child { grid-row:auto; grid-column:span 2; }
 .px-detail-mosaic figcaption { font-size:12px; padding:25px 10px 10px; }
 .px-personal { grid-template-columns:1fr; gap:30px; }
 .px-personal-photos { max-height:350px; overflow:hidden; }
 .px-personal-photos>div:first-child img { max-height:340px; }
 .px-personal-copy>p:not(.pm-eyebrow),.px-story p:not(.pm-eyebrow) { font-size:16px; margin:20px 0; }
 .px-process-grid { grid-template-columns:1fr 1fr; gap:24px 20px; }
 .px-process-grid h3 { font-size:23px; line-height:1.2; }
 .px-process-grid p { font-size:14px; }
 .px-process-grid>div>span { margin-bottom:16px; }
 .px-feature-grid { grid-template-columns:1fr; gap:30px; }
 .px-feature-grid .px-tile-media { height:auto; aspect-ratio:4/3; }
 .px-story { grid-template-columns:1fr; gap:30px; }
 .px-faq>.pm-shell { grid-template-columns:1fr; gap:20px; }
 .px-faq summary { font-size:18px; }
 .pm-premium .elementor-1373 .elementor-element-269db60 { padding-top:40px!important; }
 .pm-premium .elementor-1373 .elementor-inner-section>.elementor-container { padding-inline:16px; }
 .pm-premium .elementor-1373 .elementor-inner-column { width:50%!important; }
 .pm-premium .elementor-1373 .elementor-element-22340ff { width:100%!important; }
 .pm-premium .elementor-1373 .elementor-element-c3b62b5 .elementor-inner-column { width:100%!important; }
}
@media(max-width:360px) {
 .pm-premium .pm-shell { width:calc(100% - 32px); }
 .px-hero-copy h1 { font-size:39px; }
 .px-hero-collage { height:330px; }
 .px-hero-copy .pm-actions { gap:12px; }
 .px-hero-copy .pm-text-link { font-size:12px; }
 .px-home h2 { font-size:31px; }
}
@media(prefers-reduced-motion:reduce) {
 .pm-premium *, .pm-premium *::before,.pm-premium *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
