:root{
  --ink:#201b1c;--paper:#fffdfa;--ivory:#fbf8f4;--cream:#f4eee7;--blush:#e7c9c8;--rose:#ad7479;--wine:#5b3038;--gold:#b08b57;--champagne:#b79463;--charcoal:#1b1718;--rose-mist:#ead8d4;--line:rgba(32,27,28,.14);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}
body.admin-bar .xpc-header{top:32px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;max-width:100%}
.xpc-site{overflow:hidden}.xpc-main{min-height:40vh}
.xpc-announcement{background:var(--ink);color:#fff;padding:9px 20px;text-align:center;text-transform:uppercase;letter-spacing:.16em;font-size:10px}
.xpc-header{background:rgba(255,253,250,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.xpc-header-inner{max-width:var(--max);margin:auto;min-height:92px;padding:14px 42px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.xpc-brand{display:flex;align-items:center;min-width:180px;flex:0 0 auto}.xpc-brand img{width:170px;max-height:58px;object-fit:contain}.xpc-brand-fallback{display:none}
.xpc-nav{display:flex;align-items:center;gap:28px}.xpc-nav-list{display:flex;align-items:center;gap:25px;margin:0;padding:0;list-style:none}.xpc-nav-list a{font-size:11px;text-transform:uppercase;letter-spacing:.11em}.xpc-nav-list a:hover{color:var(--rose)}
.xpc-quote-link,.xpc-button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;padding:13px 21px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;border:1px solid var(--ink);transition:.25s;cursor:pointer}.xpc-quote-link:hover,.xpc-button:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.xpc-button-light{background:#fff;color:var(--ink);border-color:#fff;white-space:nowrap}.xpc-button-light:hover{background:var(--blush);border-color:var(--blush);color:var(--ink)}
.xpc-button-outline{background:transparent;border-color:#fff}.xpc-button-outline:hover{background:#fff;color:var(--ink)}
.xpc-menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:8px;cursor:pointer}.xpc-menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:7px auto;transition:.25s}.xpc-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.xpc-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.xpc-hero{max-width:var(--max);margin:auto;background:var(--ivory);display:grid;grid-template-columns:.92fr 1.08fr;min-height:760px;position:relative}.xpc-hero-media{min-height:760px;position:relative;overflow:hidden;order:2}.xpc-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;animation:xpcZoom 1.4s ease both}.xpc-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(35px,6vw,120px);order:1}.xpc-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:var(--rose);font-weight:700;margin:0 0 18px}.xpc-hero h1{font:500 clamp(58px,7.5vw,112px)/.82 var(--serif);letter-spacing:-.04em;margin:0 0 28px;max-width:700px}.xpc-hero-text{max-width:470px;color:#554d4e;font-size:17px}.xpc-actions{display:flex;align-items:center;gap:25px;margin-top:20px}.xpc-text-link{font-size:11px;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid currentColor;padding-bottom:4px}.xpc-text-link span{margin-left:8px}.xpc-text-link:hover{color:var(--rose)}
.xpc-hero-stamp{position:absolute;right:24px;bottom:24px;border:1px solid rgba(255,255,255,.65);background:rgba(24,19,19,.58);backdrop-filter:blur(8px);color:#fff;width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:8px;line-height:1.45}
.xpc-intro{max-width:1060px;margin:0 auto;padding:145px 30px 135px;text-align:center}.xpc-intro h2,.xpc-section-head h2,.xpc-story-panel h2,.xpc-testimonial-band h2,.xpc-location-copy h2,.xpc-final-cta h2{font:500 clamp(44px,5.5vw,82px)/.93 var(--serif);letter-spacing:-.035em;margin:0 0 22px}.xpc-intro p:last-child{font-size:19px;color:#665e5e;max-width:760px;margin:0 auto}
.xpc-services-showcase,.xpc-process,.xpc-faq-section,.xpc-cake-edit,.xpc-archive,.xpc-post-grid,.xpc-service-grid,.xpc-location-list,.xpc-instagram{max-width:var(--max);margin:auto;padding-left:42px;padding-right:42px}.xpc-services-showcase{padding-bottom:140px}.xpc-section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:42px}.xpc-section-head h2{margin:0}.xpc-service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.xpc-service-card{background:#f1ebe4;min-width:0}.xpc-service-image{overflow:hidden;aspect-ratio:.9}.xpc-service-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.xpc-service-card:hover .xpc-service-image img{transform:scale(1.045)}.xpc-service-body{padding:25px 25px 30px;min-height:245px}.xpc-service-index{font-size:9px;letter-spacing:.2em;color:var(--rose)}.xpc-service-body h3{font:500 34px/1 var(--serif);margin:12px 0}.xpc-service-body p{font-size:12px;color:#665e5e;margin-bottom:22px}.xpc-service-body .xpc-text-link{font-size:9px}
.xpc-story-split{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}.xpc-story-image{overflow:hidden;min-height:600px}.xpc-story-image img{width:100%;height:100%;object-fit:cover}.xpc-story-panel{background:var(--wine);color:#fff;padding:100px clamp(35px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.xpc-story-panel .xpc-eyebrow{color:var(--blush)}.xpc-story-panel h2{max-width:560px}.xpc-story-panel p{max-width:570px;color:#d4ceca}.xpc-story-panel .xpc-button{align-self:flex-start;margin-top:20px}
.xpc-process{padding-top:120px;padding-bottom:130px}.xpc-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.xpc-process-grid>div{padding:30px 30px 10px 0;border-right:1px solid var(--line);margin-right:30px}.xpc-process-grid>div:last-child{border-right:0}.xpc-process-grid span,.xpc-philosophy-grid span{font-size:10px;letter-spacing:.18em;color:var(--rose)}.xpc-process-grid h3,.xpc-philosophy-grid h3{font:500 31px/1 var(--serif);margin:16px 0 10px}.xpc-process-grid p{font-size:13px;color:#665e5e;max-width:250px}
.xpc-gallery-luxe{padding-bottom:140px}.xpc-masonry{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;grid-auto-rows:120px}.xpc-cake-card{grid-column:span 4;grid-row:span 4;position:relative;overflow:hidden;background:#ddd;min-width:0}.xpc-cake-card.large{grid-column:span 6;grid-row:span 6}.xpc-cake-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.xpc-cake-card:hover img{transform:scale(1.04)}.xpc-cake-overlay{position:absolute;left:0;right:0;bottom:0;padding:25px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78));display:flex;justify-content:space-between;align-items:end;gap:15px;font-size:12px}.xpc-cake-overlay span:first-child{font:500 28px/1 var(--serif)}.xpc-cake-overlay span:last-child{text-transform:uppercase;letter-spacing:.12em;font-size:9px}
.xpc-why{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:#eee7df}.xpc-why-image{min-height:700px;overflow:hidden}.xpc-why-image img{width:100%;height:100%;object-fit:cover}.xpc-why-copy{padding:90px clamp(35px,7vw,105px);display:flex;flex-direction:column;justify-content:center}.xpc-why-copy h2{font:500 clamp(44px,5vw,72px)/.92 var(--serif);margin:0 0 25px;letter-spacing:-.035em}.xpc-why-copy>p{color:#665e5e;max-width:520px}.xpc-trust-points{margin-top:25px;border-top:1px solid var(--line)}.xpc-trust-points div{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.xpc-trust-points strong{font:600 13px var(--sans)}.xpc-trust-points span{font-size:11px;color:#756d6a;text-align:right}
.xpc-testimonial-band{background:var(--rose-mist);padding:115px 35px 120px;text-align:center}.xpc-testimonial-band>h2{max-width:1000px;margin:0 auto 15px}.xpc-testimonial-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.xpc-testimonial-grid article{background:rgba(255,255,255,.55);border:1px solid rgba(91,48,56,.08);padding:34px;text-align:left}.xpc-stars{letter-spacing:.16em;color:var(--gold);font-size:11px}.xpc-testimonial-grid blockquote{font:500 25px/1.15 var(--serif);margin:18px 0}.xpc-testimonial-grid cite{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.xpc-faq-section{padding-top:130px;padding-bottom:130px}.xpc-faq-list{border-top:1px solid var(--line)}.xpc-faq-list details{border-bottom:1px solid var(--line)}.xpc-faq-list summary{list-style:none;cursor:pointer;padding:25px 0;font:500 27px/1.15 var(--serif);display:flex;justify-content:space-between;gap:30px}.xpc-faq-list summary::-webkit-details-marker{display:none}.xpc-faq-list summary span{font:400 24px var(--sans);color:var(--rose);transition:transform .25s}.xpc-faq-list details[open] summary span{transform:rotate(45deg)}.xpc-faq-list details>div{max-width:820px;padding:0 0 25px;color:#665e5e;font-size:14px}
.xpc-location-feature{max-width:var(--max);margin:auto;padding:130px 42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.xpc-location-image img{width:100%;height:620px;object-fit:cover}.xpc-location-copy p{max-width:520px;color:#665e5e}.xpc-location-copy .xpc-text-link{display:inline-block;margin-top:20px}
.xpc-final-cta{background:var(--ink);color:#fff;padding:100px max(42px,calc((100vw - var(--max))/2 + 42px));display:flex;justify-content:space-between;align-items:center;gap:40px}.xpc-final-cta .xpc-eyebrow{color:var(--blush)}.xpc-final-cta h2{margin:0}.xpc-final-cta p:not(.xpc-eyebrow){color:#c9c0bc;max-width:650px}
.xpc-footer{background:#141112;color:#e9e3de;padding:80px 42px 22px}.xpc-footer-top,.xpc-footer-grid,.xpc-footer-bottom{max-width:var(--max);margin:auto}.xpc-footer-top{display:flex;justify-content:space-between;gap:40px;align-items:end;padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.12)}.xpc-footer h2{font:500 clamp(42px,5vw,72px)/.9 var(--serif);margin:0}.xpc-footer .xpc-eyebrow{color:var(--blush)}.xpc-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;padding:55px 0}.xpc-footer-grid h3{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--blush)}.xpc-footer-grid a,.xpc-footer-grid p{display:block;color:#bdb5b0;font-size:13px;margin:8px 0}.xpc-footer-grid a:hover{color:#fff}.xpc-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:10px;color:#8f8884;text-transform:uppercase;letter-spacing:.12em}.xpc-footer-areas{max-width:var(--max);margin:auto;padding:0 0 40px;border-bottom:1px solid rgba(255,255,255,.12)}.xpc-footer-area-heading h3{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--blush);margin:0 0 8px}.xpc-footer-area-heading p{font-size:12px;color:#8f8884;margin:0 0 20px}.xpc-footer-area-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 22px}.xpc-footer-area-list a{font-size:11px;color:#a9a19d}.xpc-footer-area-list a:hover{color:#fff}
.xpc-page-hero{padding:120px max(42px,calc((100vw - var(--max))/2 + 42px));background:var(--cream)}.xpc-page-hero-dark{background:var(--ink);color:#fff}.xpc-page-hero h1,.xpc-page-heading h1,.xpc-post-header h1{font:500 clamp(58px,8vw,110px)/.82 var(--serif);letter-spacing:-.045em;margin:0 0 25px}.xpc-page-hero h1 em{color:var(--blush);font-style:normal}.xpc-page-hero>p:last-child{max-width:650px;color:#6b6260;font-size:17px}.xpc-page-hero-dark>p:last-child{color:#c8bfba}
.xpc-page-wrap{max-width:1000px;margin:auto;padding:110px 35px}.xpc-page-heading{padding-bottom:50px}.xpc-page-content{font-size:18px}.xpc-page-content img{margin:30px 0}.xpc-prose{font-size:17px;line-height:1.85;color:#5f5755}.xpc-prose h2,.xpc-prose h3{font-family:var(--serif);color:var(--ink);font-weight:500}
.xpc-single-hero,.xpc-single-service,.xpc-location-single{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.xpc-single-image,.xpc-service-image,.xpc-location-single>div:last-child{overflow:hidden}.xpc-single-image img,.xpc-service-image img,.xpc-location-single>div:last-child img{width:100%;height:100%;object-fit:cover}.xpc-single-copy,.xpc-service-copy,.xpc-location-single>div:first-child{padding:90px clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.xpc-single-copy h1,.xpc-service-copy h1,.xpc-location-single h1{font:500 clamp(54px,6vw,88px)/.9 var(--serif);margin:0 0 20px}.xpc-lead{font:19px var(--serif)}.xpc-single-copy .xpc-button,.xpc-service-copy .xpc-button,.xpc-location-single .xpc-button{align-self:flex-start;margin-top:25px}.xpc-meta-line{font-size:12px;color:#6c6461}.xpc-meta-line strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:var(--rose);margin-bottom:5px}
.xpc-filter-row{display:flex;justify-content:space-between;gap:30px;padding:0 0 45px;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.xpc-filter-row div{display:flex;flex-wrap:wrap;gap:15px}.xpc-filter-row a{border-bottom:1px solid var(--line);padding-bottom:3px}.xpc-filter-row a:hover{color:var(--rose)}
.xpc-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding-top:80px;padding-bottom:130px}.xpc-journal-card img{width:100%;aspect-ratio:1.2;object-fit:cover}.xpc-journal-card div{padding:24px 0}.xpc-journal-card h2{font:500 42px/1 var(--serif);margin:0 0 15px}.xpc-journal-card span{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.xpc-post{max-width:1000px;margin:auto;padding:100px 35px}.xpc-post-header{text-align:center;padding-bottom:60px}.xpc-post-image{margin-bottom:70px}.xpc-post-image img{width:100%}.xpc-post .xpc-prose{max-width:750px;margin:auto}
.xpc-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:90px;padding-bottom:130px}.xpc-service-grid article{background:var(--cream)}.xpc-service-grid article img{width:100%;aspect-ratio:1.25;object-fit:cover}.xpc-service-grid article>div{padding:35px}.xpc-service-grid h2{font:500 46px/1 var(--serif);margin:0 0 15px}.xpc-service-grid p{color:#665e5e}
.xpc-location-list{padding-top:80px;padding-bottom:130px}.xpc-location-list article{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:50px 0;border-top:1px solid var(--line);align-items:center}.xpc-location-list article img{width:100%;height:420px;object-fit:cover}.xpc-location-list h2{font:500 55px/1 var(--serif);margin:0 0 20px}
.xpc-about-story{max-width:var(--max);margin:auto;padding:110px 42px 140px;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.xpc-about-image img{width:100%;height:680px;object-fit:cover}.xpc-about-story h2,.xpc-philosophy h2{font:500 clamp(50px,6vw,82px)/.9 var(--serif);margin:0 0 25px}.xpc-about-story p{color:#665e5e}.xpc-about-story .xpc-button{margin-top:20px}.xpc-philosophy{background:var(--charcoal);color:#fff;padding:115px max(42px,calc((100vw - var(--max))/2 + 42px)) 130px}.xpc-philosophy .xpc-eyebrow{color:var(--rose-mist)}.xpc-philosophy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:60px}.xpc-philosophy-grid>div{border-top:1px solid rgba(255,255,255,.18);padding-top:24px}.xpc-philosophy-grid p{color:#c7bfbb;font-size:13px}
.xpc-contact-grid{max-width:var(--max);margin:auto;padding:100px 42px 140px;display:grid;grid-template-columns:1.25fr .75fr;gap:80px}.xpc-contact-form{background:#f1ebe4;padding:55px}.xpc-contact-form h2{font:500 56px/1 var(--serif);margin:0 0 35px}.xpc-contact-details{padding:25px 0}.xpc-contact-details>div{padding:25px 0;border-bottom:1px solid var(--line)}.xpc-contact-details span{display:block;text-transform:uppercase;letter-spacing:.15em;color:var(--rose);font-size:9px;margin-bottom:8px}.xpc-contact-details strong,.xpc-contact-details a{font:500 24px/1.15 var(--serif)}.xpc-contact-details p{font-size:13px;color:#665e5e}.xpc-contact-form form input,.xpc-contact-form form textarea,.xpc-contact-form form select{width:100%;border:0;border-bottom:1px solid #cfc5bd;background:transparent;padding:14px 0;margin:4px 0 16px;font:14px var(--sans);outline:0}.xpc-contact-form form textarea{min-height:120px;resize:vertical}.xpc-contact-form form label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#766d69}.xpc-contact-form form input:focus,.xpc-contact-form form textarea:focus,.xpc-contact-form form select:focus{border-bottom-color:var(--wine)}.xpc-contact-form form input[type=submit],.xpc-contact-form form button{width:auto;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:14px 24px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;cursor:pointer;margin-top:8px}.xpc-form-fallback{padding:18px;background:#fff;border:1px solid var(--line)}
.xpc-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.xpc-area-card{background:var(--ivory);padding:30px}.xpc-area-card h2{font:500 34px/1 var(--serif);margin:0 0 10px}.xpc-area-card p{font-size:13px;color:#665e5e}.xpc-page-intro{max-width:780px;margin:auto;padding:90px 30px 50px;text-align:center}.xpc-page-intro h2{font:500 clamp(44px,5vw,72px)/.93 var(--serif);margin:0 0 20px}.xpc-page-intro p{color:#665e5e}
.xpc-breadcrumbs{max-width:var(--max);margin:auto;padding:18px 42px 0;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#847a76}.xpc-breadcrumbs a:hover{color:var(--rose)}
.xpc-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.xpc-reveal.xpc-in-view{opacity:1;transform:none}
@keyframes xpcZoom{from{transform:scale(1.04)}to{transform:scale(1)}}

/* Tablet */
@media(max-width:1100px){
  .xpc-header-inner{padding-left:24px;padding-right:24px}.xpc-nav-list{gap:16px}.xpc-quote-link{padding:12px 15px}
  .xpc-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.xpc-process-grid,.xpc-philosophy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.xpc-process-grid>div{margin-right:0}
  .xpc-why{grid-template-columns:1fr}.xpc-why-image{min-height:560px}.xpc-contact-grid{grid-template-columns:1fr;gap:40px}
}
/* Mobile navigation + layout */
@media(max-width:900px){
  body.admin-bar .xpc-header{top:46px}.xpc-announcement{font-size:9px;letter-spacing:.12em;padding:8px 14px}.xpc-header-inner{min-height:72px;padding:10px 18px}.xpc-brand img{width:145px;max-height:50px}
  .xpc-menu-toggle{display:block;flex:0 0 44px}.xpc-nav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,253,250,.99);border-bottom:1px solid var(--line);padding:22px 20px 25px;box-shadow:0 14px 30px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:22px}.xpc-nav.is-open{display:flex}.xpc-nav-list{flex-direction:column;align-items:stretch;gap:0}.xpc-nav-list li{border-bottom:1px solid var(--line)}.xpc-nav-list a{display:block;padding:13px 0;font-size:12px}.xpc-quote-link{text-align:center;width:100%}
  .xpc-hero{display:flex;flex-direction:column;min-height:0}.xpc-hero-media,.xpc-hero-luxe .xpc-hero-media{order:1;height:min(72vw,560px);min-height:390px}.xpc-hero-copy,.xpc-hero-luxe .xpc-hero-copy{order:2;padding:58px 22px 68px}.xpc-hero h1,.xpc-hero-luxe h1{font-size:clamp(52px,12vw,76px);max-width:100%;line-height:.86}.xpc-hero-text{font-size:16px}.xpc-actions{flex-wrap:wrap}
  .xpc-intro{padding:95px 22px 90px}.xpc-intro h2,.xpc-section-head h2,.xpc-story-panel h2,.xpc-testimonial-band>h2,.xpc-location-copy h2,.xpc-final-cta h2{font-size:clamp(46px,11vw,68px)}
  .xpc-services-showcase,.xpc-process,.xpc-faq-section,.xpc-cake-edit,.xpc-archive,.xpc-post-grid,.xpc-service-grid,.xpc-location-list,.xpc-instagram{padding-left:18px;padding-right:18px}.xpc-services-showcase,.xpc-process,.xpc-faq-section{padding-top:80px;padding-bottom:90px}
  .xpc-section-head{align-items:flex-start;flex-direction:column;margin-bottom:28px}.xpc-service-cards{grid-template-columns:1fr}.xpc-service-image{aspect-ratio:1.02}.xpc-service-body{min-height:auto}
  .xpc-story-split,.xpc-single-hero,.xpc-single-service,.xpc-location-single{grid-template-columns:1fr}.xpc-story-image{min-height:430px}.xpc-story-panel{padding:70px 22px}.xpc-process-grid,.xpc-philosophy-grid{grid-template-columns:1fr}.xpc-process-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:26px 0}.xpc-process-grid>div:last-child{border-bottom:0}
  .xpc-masonry{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(95px,24vw,125px);gap:8px}.xpc-cake-card,.xpc-cake-card.large{grid-column:span 1;grid-row:span 4}.xpc-cake-card.large{grid-row:span 5}.xpc-cake-overlay{padding:15px}.xpc-cake-overlay span:first-child{font-size:20px}.xpc-cake-overlay span:last-child{font-size:8px}
  .xpc-why{grid-template-columns:1fr}.xpc-why-image{min-height:460px}.xpc-why-copy{padding:65px 22px}.xpc-trust-points div{display:block}.xpc-trust-points span{display:block;text-align:left;margin-top:4px}
  .xpc-testimonial-band{padding:80px 18px 85px}.xpc-testimonial-grid{grid-template-columns:1fr}.xpc-testimonial-grid article{padding:26px}.xpc-testimonial-grid blockquote{font-size:22px}
  .xpc-faq-list summary{font-size:22px;padding:20px 0;gap:15px}.xpc-faq-list details>div{font-size:14px}
  .xpc-location-feature{grid-template-columns:1fr;padding:85px 18px;gap:35px}.xpc-location-image img{height:470px}
  .xpc-final-cta{padding:75px 22px;flex-direction:column;align-items:flex-start}.xpc-footer{padding:65px 18px 20px}.xpc-footer-top{flex-direction:column;align-items:flex-start;padding-bottom:45px}.xpc-footer-grid{grid-template-columns:1fr;gap:24px;padding:35px 0}.xpc-footer-area-list{grid-template-columns:repeat(2,minmax(0,1fr))}.xpc-footer-bottom{flex-direction:column;gap:8px}
  .xpc-page-hero{padding:80px 22px}.xpc-page-hero h1,.xpc-page-heading h1,.xpc-post-header h1{font-size:clamp(52px,12vw,76px)}.xpc-page-hero>p:last-child{font-size:16px}.xpc-page-wrap{padding:75px 22px}.xpc-filter-row{flex-direction:column;gap:15px;padding-bottom:30px}
  .xpc-single-image,.xpc-service-image,.xpc-location-single>div:last-child{min-height:430px}.xpc-single-copy,.xpc-service-copy,.xpc-location-single>div:first-child{padding:65px 22px}.xpc-single-copy h1,.xpc-service-copy h1,.xpc-location-single h1{font-size:clamp(50px,11vw,72px)}
  .xpc-post-grid{grid-template-columns:1fr;padding-top:50px;padding-bottom:90px;gap:25px}.xpc-journal-card h2{font-size:36px}.xpc-post{padding:70px 22px}.xpc-post-header{padding-bottom:40px}.xpc-post-image{margin-bottom:45px}
  .xpc-service-grid{grid-template-columns:1fr;padding-top:55px;padding-bottom:90px}.xpc-service-grid article>div{padding:28px 22px}.xpc-service-grid h2{font-size:40px}
  .xpc-location-list{padding-top:50px;padding-bottom:90px}.xpc-location-list article{grid-template-columns:1fr;gap:25px;padding:35px 0}.xpc-location-list article img{height:360px}.xpc-location-list h2{font-size:44px}
  .xpc-about-story{grid-template-columns:1fr;padding:70px 18px 90px;gap:40px}.xpc-about-image img{height:500px}.xpc-philosophy{padding:80px 18px 90px}.xpc-philosophy-grid{gap:0}.xpc-philosophy-grid>div{padding:22px 0;border-top:1px solid rgba(255,255,255,.18)}
  .xpc-contact-grid{padding:65px 18px 90px;grid-template-columns:1fr;gap:30px}.xpc-contact-form{padding:30px 20px}.xpc-contact-form h2{font-size:44px}.xpc-contact-form form input,.xpc-contact-form form textarea,.xpc-contact-form form select{font-size:16px}.xpc-contact-form form input[type=submit],.xpc-contact-form form button{width:100%;min-height:48px}.xpc-contact-details{padding:0}.xpc-contact-details strong,.xpc-contact-details a{font-size:22px}.xpc-area-grid{grid-template-columns:1fr}.xpc-area-card{padding:25px 22px}.xpc-breadcrumbs{padding:15px 18px 0}
}
@media(max-width:520px){
  .xpc-announcement{font-size:8px;line-height:1.4}.xpc-header-inner{padding-left:14px;padding-right:14px}.xpc-brand img{width:130px}.xpc-hero-media,.xpc-hero-luxe .xpc-hero-media{height:115vw;min-height:360px;max-height:500px}.xpc-hero-stamp{width:78px;height:78px;font-size:7px;right:14px;bottom:14px}.xpc-actions{flex-direction:column;align-items:stretch;gap:16px}.xpc-actions .xpc-button,.xpc-actions .xpc-text-link{width:100%;text-align:center}.xpc-cake-overlay span:last-child{display:none}.xpc-cake-overlay span:first-child{font-size:18px}.xpc-location-image img{height:380px}.xpc-page-hero h1,.xpc-page-heading h1,.xpc-post-header h1{font-size:clamp(48px,13vw,62px)}.xpc-page-hero{padding-top:70px;padding-bottom:70px}.xpc-about-image img{height:430px}.xpc-contact-form h2{font-size:40px}.xpc-footer-top .xpc-button{width:100%}
}
@media(max-width:360px){.xpc-brand img{width:118px}.xpc-header-inner{gap:10px}.xpc-hero-copy{padding-left:18px;padding-right:18px}.xpc-hero h1,.xpc-hero-luxe h1{font-size:49px}.xpc-intro h2,.xpc-section-head h2,.xpc-story-panel h2,.xpc-testimonial-band>h2,.xpc-location-copy h2,.xpc-final-cta h2{font-size:43px}.xpc-contact-form{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.xpc-reveal{opacity:1;transform:none;transition:none}.xpc-hero-media img{animation:none}.xpc-cake-card img,.xpc-service-image img{transition:none}}

/* V2.2.2 — stronger branding, hygiene trust block and conversion popup */
.xpc-brand img{width:205px;max-height:66px;object-fit:contain;filter:contrast(1.08) saturate(1.04)}
.xpc-footer-hygiene{margin-top:18px;display:flex;align-items:center;gap:12px}.xpc-footer-hygiene img{width:88px;height:auto;border:1px solid rgba(255,255,255,.16)}.xpc-footer-hygiene span{font-size:10px;line-height:1.45;color:#c9c0bc}.xpc-footer-hygiene strong{color:#fff}
.xpc-hygiene-section{padding:95px 42px;background:var(--paper)}.xpc-hygiene-card{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;align-items:center;background:#f1ebe4}.xpc-hygiene-image{padding:38px;background:#fff}.xpc-hygiene-image img{width:100%;max-width:560px;margin:auto;height:auto}.xpc-hygiene-copy{padding:55px clamp(30px,6vw,95px)}.xpc-hygiene-copy h2{font:500 clamp(44px,5vw,72px)/.92 var(--serif);margin:0 0 20px;letter-spacing:-.03em}.xpc-hygiene-copy p{max-width:600px;color:#665e5e}.xpc-hygiene-copy strong{color:var(--ink)}.xpc-hygiene-note{font-size:13px!important;margin-top:24px}
.xpc-popup{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}.xpc-popup.is-visible{display:flex}.xpc-popup-backdrop{position:absolute;inset:0;background:rgba(25,20,21,.68);backdrop-filter:blur(5px)}.xpc-popup-panel{position:relative;z-index:1;width:min(920px,100%);max-height:min(90vh,820px);overflow:auto;background:var(--paper);display:grid;grid-template-columns:.82fr 1.18fr;box-shadow:0 30px 90px rgba(0,0,0,.28)}.xpc-popup-copy{background:var(--ink);color:#fff;padding:55px clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.xpc-popup-copy .xpc-eyebrow{color:#d9aaa9}.xpc-popup-copy h2{font:500 clamp(48px,5vw,76px)/.9 var(--serif);letter-spacing:-.035em;margin:0 0 22px}.xpc-popup-copy h2 em{color:#e7c9c8;font-style:italic}.xpc-popup-copy p:not(.xpc-eyebrow){color:#d3cbca;font-size:14px;max-width:390px}.xpc-popup-form{padding:40px clamp(25px,4vw,55px);background:#f7f1eb}.xpc-popup-form form input,.xpc-popup-form form textarea,.xpc-popup-form form select{width:100%;border:0;border-bottom:1px solid #cfc5bd;background:transparent;padding:12px 0;margin:3px 0 13px;font:14px var(--sans);outline:0}.xpc-popup-form form textarea{min-height:95px}.xpc-popup-form form label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#766d69}.xpc-popup-form form input[type=submit],.xpc-popup-form form button{width:auto;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:14px 24px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;cursor:pointer;margin-top:7px}.xpc-popup-close{position:absolute;right:12px;top:10px;z-index:3;border:0;background:transparent;color:#fff;font-size:30px;line-height:1;width:40px;height:40px;cursor:pointer}.xpc-popup-form .wpcf7-spinner{display:block}.xpc-popup-form .wpcf7-not-valid-tip{font-size:11px}.xpc-popup-form .wpcf7-response-output{font-size:11px;margin:12px 0 0}
@media(max-width:900px){.xpc-brand img{width:165px;max-height:58px}.xpc-hygiene-section{padding:75px 18px}.xpc-hygiene-card{grid-template-columns:1fr}.xpc-hygiene-image{padding:22px}.xpc-hygiene-copy{padding:48px 24px 55px}.xpc-popup{padding:12px}.xpc-popup-panel{grid-template-columns:1fr;max-height:92vh}.xpc-popup-copy{padding:34px 24px 28px}.xpc-popup-copy h2{font-size:50px}.xpc-popup-form{padding:28px 22px 34px}.xpc-popup-close{color:#fff;right:8px;top:5px}.xpc-footer-hygiene{align-items:flex-start}}
@media(max-width:520px){.xpc-brand img{width:145px;max-height:52px}.xpc-hygiene-copy h2{font-size:46px}.xpc-hygiene-image{padding:16px}.xpc-popup{padding:0}.xpc-popup-panel{width:100%;max-height:100dvh;height:auto}.xpc-popup-copy{padding:42px 22px 24px}.xpc-popup-copy h2{font-size:45px}.xpc-popup-copy p:not(.xpc-eyebrow){font-size:13px;margin-bottom:0}.xpc-popup-form{padding:22px 18px 30px}.xpc-popup-form form input,.xpc-popup-form form textarea,.xpc-popup-form form select{font-size:16px}.xpc-popup-form form input[type=submit],.xpc-popup-form form button{width:100%;min-height:50px}.xpc-footer-hygiene img{width:80px}}

body.xpc-popup-open{overflow:hidden}

/* V2.3 — WordPress-editor content layer */
.xpc-editorial-page{max-width:980px;margin:0 auto;padding:clamp(52px,7vw,96px) 24px;}
.xpc-editorial-page .xpc-prose{max-width:820px;margin:0 auto;}
.xpc-editorial-page .xpc-prose h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.02;margin:0 0 22px;}
.xpc-editorial-page .xpc-prose h3{font-family:"Cormorant Garamond",serif;font-size:clamp(1.45rem,2.5vw,2rem);margin:34px 0 10px;}
.xpc-editorial-page .xpc-prose p{font-size:1.05rem;line-height:1.85;margin:0 0 20px;}
.xpc-editorial-page .xpc-prose a{font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.xpc-home-editorial{background:#f7f2eb;}
@media (max-width:600px){.xpc-editorial-page{padding:44px 20px}.xpc-editorial-page .xpc-prose p{font-size:.98rem;line-height:1.75}.xpc-editorial-page .xpc-prose h2{font-size:2.15rem}}
