/* Scoped to the structured template. Native global shell and invitation stay native. */
.pf-doc { --pf-ink:#1d231f; --pf-muted:#59635c; --pf-sage:#dbe4dc; --pf-line:rgba(29,35,31,.2); color:var(--pf-ink); width:min(1160px,calc(100% - 64px)); margin:0 auto; padding:44px 0 88px; font:400 16px/1.8 Inter,Arial,sans-serif; }
.pf-doc *, .pf-doc *::before, .pf-doc *::after { box-sizing:border-box; }
.pf-doc a { color:inherit; text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; }
.pf-doc a:hover { text-decoration-thickness:2px; }
.pf-doc a:focus-visible { outline:2px solid var(--pf-ink); outline-offset:5px; }
.pf-doc [id] { scroll-margin-top:120px; }
.pf-doc h1,.pf-doc h2,.pf-doc h3 { color:var(--pf-ink); font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; letter-spacing:-.025em; text-wrap:balance; }
.pf-doc h1 { font-size:clamp(42px,4.5vw,68px); line-height:1.03; margin:18px 0 24px; }
.pf-doc h2 { font-size:clamp(32px,3.1vw,46px); line-height:1.12; margin:0 0 24px; }
.pf-doc h3 { font-size:30px; line-height:1.2; margin:32px 0 14px; }
.pf-doc p { margin:0 0 20px; }
.pf-doc p:last-child { margin-bottom:0; }
.pf-doc__breadcrumb { display:flex; flex-wrap:wrap; gap:8px 12px; font-size:12px; line-height:1.6; color:var(--pf-muted); padding-bottom:30px; }
.pf-doc__breadcrumb [aria-current] { max-width:100%; }
.pf-doc__hero { padding:12px 0 64px; border-bottom:1px solid var(--pf-line); }
.pf-doc__hero--with-image { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.84fr); gap:clamp(32px,6vw,88px); align-items:center; }
.pf-doc__intro { max-width:660px; }
.pf-doc__eyebrow { font-size:11px; line-height:1.5; letter-spacing:.16em; text-transform:uppercase; }
.pf-doc .pf-doc__lead { color:var(--pf-muted); font-size:17px; line-height:1.75; max-width:560px; }
.pf-doc__jump { display:inline-flex; align-items:center; gap:28px; min-height:44px; font-size:13px; }
.pf-doc__figure { margin:0; min-width:0; }
.pf-doc__figure img { display:block; max-width:100%; width:100%; height:auto; }
.pf-doc figcaption { margin-top:12px; font-size:12px; line-height:1.7; color:var(--pf-muted); }
.pf-doc__hero .pf-doc__figure { width:100%; max-width:460px; justify-self:end; }
.pf-doc__body { padding-top:64px; }
.pf-doc__module { width:min(100%,760px); margin:0 auto 64px; }
.pf-doc__module:last-child { margin-bottom:0; }
.pf-doc__module ul,.pf-doc__module ol { margin:20px 0; padding-left:24px; }
.pf-doc__module li { margin-bottom:10px; padding-left:4px; }
.pf-doc__module--comparison,.pf-doc__module--gallery { width:100%; }
.pf-doc__module--comparison > p { max-width:760px; margin-bottom:28px; }
.pf-doc__comparison { display:grid; grid-template-columns:repeat(var(--pf-columns),minmax(0,1fr)); border-block:1px solid var(--pf-line); }
.pf-doc__comparison > section { min-width:0; padding:32px 36px; background:rgba(219,228,220,.26); }
.pf-doc__comparison > section:nth-child(even) { background:rgba(219,228,220,.55); }
.pf-doc__comparison h3 { margin:0 0 28px; font-size:34px; }
.pf-doc__comparison dl { margin:0; }
.pf-doc__comparison dl > div { margin-bottom:24px; }
.pf-doc__comparison dl > div:last-child { margin-bottom:0; }
.pf-doc__comparison dt { font-size:11px; line-height:1.5; text-transform:uppercase; letter-spacing:.09em; margin-bottom:8px; }
.pf-doc__comparison dd { margin:0; font-size:15px; line-height:1.75; }
.pf-doc__gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.pf-doc__faq { margin:0; }
.pf-doc__faq > div { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:30px; padding:26px 0; border-top:1px solid var(--pf-line); }
.pf-doc__faq > div:last-child { border-bottom:1px solid var(--pf-line); }
.pf-doc__faq dt { font:500 26px/1.25 'Cormorant Garamond',Georgia,serif; letter-spacing:-.015em; }
.pf-doc__faq dd { margin:0; color:var(--pf-muted); }
.pf-doc__module--callout { background:rgba(219,228,220,.5); border-left:2px solid var(--pf-ink); padding:28px 32px; }
.pf-doc__module--callout h2 { font-size:29px; margin-bottom:14px; }
.pf-doc__quote { margin:0; padding:12px 0 12px 30px; border-left:1px solid var(--pf-ink); }
.pf-doc__quote blockquote { margin:0; font:500 clamp(27px,2.8vw,38px)/1.3 'Cormorant Garamond',Georgia,serif; }
.pf-doc__module .pf-doc__links { list-style:none; padding:0; margin:0; border-top:1px solid var(--pf-line); }
.pf-doc__links li { margin:0; padding:20px 0; border-bottom:1px solid var(--pf-line); }
.pf-doc__links a { min-height:44px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:17px; }
.pf-doc__links p { color:var(--pf-muted); font-size:14px; margin:6px 0 0; }
@media(min-width:768px) and (max-width:1000px) { .pf-doc__comparison { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
  .pf-doc { width:calc(100% - 40px); padding:28px 0 52px; font-size:16px; }
  .pf-doc__breadcrumb { font-size:11px; padding-bottom:24px; }
  .pf-doc__breadcrumb [aria-current] { display:none; }
  .pf-doc__hero--with-image { grid-template-columns:minmax(0,1fr); gap:30px; }
  .pf-doc__hero { padding:0 0 36px; }
  .pf-doc h1 { font-size:clamp(40px,10.5vw,58px); margin-top:16px; }
  .pf-doc .pf-doc__lead { font-size:16px; }
  .pf-doc__hero .pf-doc__figure { max-width:none; }
  .pf-doc__body { padding-top:36px; }
  .pf-doc__module { margin-bottom:40px; }
  .pf-doc__comparison { grid-template-columns:minmax(0,1fr); }
  .pf-doc__comparison > section { padding:26px 24px; }
  .pf-doc__gallery { grid-template-columns:minmax(0,1fr); gap:24px; }
  .pf-doc__faq > div { grid-template-columns:minmax(0,1fr); gap:12px; padding:22px 0; }
  .pf-doc__module--callout { padding:24px; }
  .pf-doc__quote { padding-left:24px; }
}
