/* Figma 4872:6011; intentionally scoped to the blog main element. */
.pyp-blog { --blog-ink:#1f2822; --blog-paper:#f1ede4; --blog-line:rgba(31,40,34,.15); --blog-accent:#a66132; color:var(--blog-ink); background:var(--blog-paper); font-synthesis:none; }
.pyp-blog *, .pyp-blog *::before, .pyp-blog *::after { box-sizing:border-box; }
.pyp-blog :is(h1,h2,h3,p) { margin:0; }
.pyp-blog a { color:inherit; text-decoration:none; }
.pyp-blog a:focus-visible { outline:2px solid var(--blog-accent); outline-offset:5px; }
.pyp-blog .blog-shell { width:min(100%,1360px); padding-inline:48px; margin-inline:auto; }
.pyp-blog .blog-hero { padding-block:48px; border-bottom:1px solid var(--blog-line); }
.pyp-blog .blog-breadcrumb { display:flex; align-items:center; gap:10px; font-size:12px; line-height:16.8px; color:#77786e; }
.pyp-blog .blog-introduction { display:grid; grid-template-columns:837fr 411fr; gap:16px; padding-block:48px 24px; }
.pyp-blog .blog-introduction h1 { max-width:624px; font-size:48px; font-weight:600; line-height:58px; letter-spacing:-1px; }
.pyp-blog .blog-kicker { color:var(--blog-accent); text-transform:uppercase; }
.pyp-blog .blog-stat { display:flex; align-items:baseline; gap:11.828125px; border-top:1px solid var(--blog-line); margin-top:34px; padding-top:18px; }
.pyp-blog .blog-stat strong { font-size:44px; line-height:44px; font-weight:500; }
.pyp-blog .blog-stat span { font-size:13px; line-height:19.5px; color:#666d66; font-weight:500; }
.pyp-blog .blog-topics { display:flex; flex-wrap:wrap; gap:8px; max-width:624px; padding-bottom:2px; }
.pyp-blog .blog-topics a { display:flex; align-items:center; min-height:38px; padding:12px 17px; background:rgba(255,255,255,.4); border:1px solid var(--blog-line); font-size:12px; line-height:12px; letter-spacing:.42px; }
.pyp-blog .blog-topics a:is(:hover,[aria-current]) { background:var(--blog-ink); border-color:var(--blog-ink); color:#fff; }
.pyp-blog .blog-featured { padding-block:96px; }
.pyp-blog .blog-featured-card { display:grid; grid-template-columns:623fr 639fr; min-height:560px; border:1px solid var(--blog-line); background:#fff; }
.pyp-blog .blog-featured-image { min-width:0; overflow:hidden; position:relative; }
.pyp-blog .blog-featured-image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; display:block; }
.pyp-blog .blog-featured-copy { padding:48px; align-self:center; }
.pyp-blog .blog-meta { display:flex; flex-wrap:wrap; align-items:center; gap:16px; font-size:12px; line-height:14px; text-transform:uppercase; color:#7d776c; font-weight:400; }
.pyp-blog .blog-accent { color:var(--blog-accent); }
.pyp-blog .blog-featured-copy .blog-meta { gap:8px; }
.pyp-blog .blog-featured-copy h2 { font-size:32px; line-height:38px; letter-spacing:-1px; font-weight:600; padding-block:24px; color:#20261f; }
.pyp-blog .blog-text-link { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; font-size:12px; line-height:18px; font-weight:600; text-transform:uppercase; padding-bottom:2px; border-bottom:1px solid var(--blog-ink); }
.pyp-blog .blog-text-link span { letter-spacing:1.32px; }
.pyp-blog .blog-featured-copy .blog-text-link { margin-top:30px; padding-bottom:5px; }
.pyp-blog .blog-text-link:hover { color:var(--blog-accent); border-color:var(--blog-accent); }
.pyp-blog .blog-index { padding-block:96px; background:#fff; scroll-margin-top:95px; }
.pyp-blog .blog-section-heading { display:grid; grid-template-columns:789fr 411fr; gap:64px; align-items:end; }
.pyp-blog .blog-section-heading h2,.pyp-blog .blog-library h2 { padding-top:8px; font-size:48px; font-weight:600; line-height:58px; letter-spacing:-1px; }
.pyp-blog .blog-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 16px; padding-top:48px; }
.pyp-blog .blog-card { min-height:560.998px; background:#f5f5f5; display:flex; flex-direction:column; gap:24px; min-width:0; }
.pyp-blog .blog-card-image { display:block; height:253.998px; overflow:hidden; }
.pyp-blog .blog-card-image img { width:100%; height:100%; object-fit:cover; display:block; }
.pyp-blog .blog-card-body { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; padding:0 24px 24px; flex:1; gap:24px; }
.pyp-blog .blog-card h3 { font-size:24px; font-weight:600; line-height:24px; margin-top:8px; margin-bottom:16px; }
.pyp-blog .blog-clear { display:inline-block; margin-top:24px; text-decoration:underline; }
.pyp-blog .blog-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:48px; }
.pyp-blog .blog-pagination > * { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid #eee; font-size:14px; line-height:20px; color:#2b1a10; }
.pyp-blog .blog-pagination [aria-current] { background:#2b1a10; border-color:#2b1a10; color:#fff; }
.pyp-blog .blog-pagination [aria-disabled] { opacity:.35; }
.pyp-blog .blog-pagination a:hover { border-color:#2b1a10; }
.pyp-blog .blog-library { padding-block:100px 110px; }
.pyp-blog .blog-library h2 { letter-spacing:-1.6px; }
.pyp-blog .blog-list { padding-top:48px; }
.pyp-blog .blog-row { display:grid; grid-template-columns:624fr 592fr; gap:48px; align-items:center; padding-block:24px; border-bottom:1px solid rgba(0,0,0,.1); }
.pyp-blog .blog-row:first-child { border-top:1px solid rgba(0,0,0,.1); }
.pyp-blog .blog-row-body { display:flex; flex-direction:column; align-items:flex-start; gap:32px; min-width:0; }
.pyp-blog .blog-row h3 { padding-block:8px 24px; font-size:32px; line-height:28.8px; font-weight:600; }
.pyp-blog .blog-row .blog-meta { gap:18px; font-weight:500; }
.pyp-blog .blog-row-image { display:block; height:326px; overflow:hidden; }
.pyp-blog .blog-row-image img { display:block; height:100%; width:100%; object-fit:cover; }
/* The existing shared layer marks prose typography important. Resolve it in that
   same layer, scoped to this main only, without changing shared components. */
@layer pyp-site-typography {
  html body #main-content.pyp-blog,html body #main-content.pyp-blog * { font-family:"BR Segma Figma Web",Arial,sans-serif!important; font-synthesis:none; }
  html body #main-content.pyp-blog p { font-size:16px!important; line-height:26px!important; font-weight:500!important; color:#999; }
  html body #main-content.pyp-blog .blog-intro-copy > p { font-weight:400!important; color:#505b53; }
  html body #main-content.pyp-blog p.blog-kicker { font-size:12px!important; line-height:14px!important; font-weight:500!important; color:#a66132; }
  html body #main-content.pyp-blog .blog-hero p.blog-kicker { line-height:14.4px!important; }
  html body #main-content.pyp-blog .blog-index p.blog-kicker { font-weight:600!important; }
  html body #main-content.pyp-blog .blog-section-heading > p { line-height:25.6px!important; }
  html body #main-content.pyp-blog .blog-row p { font-size:14px!important; line-height:22px!important; }
}
@media (max-width:1100px) {
  .pyp-blog .blog-shell { padding-inline:32px; }
  .pyp-blog .blog-introduction { grid-template-columns:3fr 2fr; gap:32px; }
  .pyp-blog .blog-introduction h1 { font-size:42px; line-height:50px; }
  .pyp-blog .blog-featured-copy { padding:32px; }
  .pyp-blog .blog-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pyp-blog .blog-section-heading { grid-template-columns:3fr 2fr; gap:32px; }
  .pyp-blog .blog-row { gap:32px; }
}
@media (max-width:700px) {
  .pyp-blog .blog-shell { padding-inline:20px; }
  .pyp-blog .blog-hero { padding-block:28px 32px; }
  .pyp-blog .blog-introduction { grid-template-columns:1fr; gap:24px; padding-block:32px 24px; }
  .pyp-blog .blog-introduction h1 { font-size:36px; line-height:42px; letter-spacing:-.7px; }
  .pyp-blog .blog-stat { margin-top:20px; padding-top:16px; }
  .pyp-blog .blog-topics { gap:8px; }
  .pyp-blog .blog-topics a { min-height:44px; padding:13px 12px; letter-spacing:0; }
  .pyp-blog .blog-featured { padding-block:48px; }
  .pyp-blog .blog-featured-card { display:flex; flex-direction:column; min-height:0; }
  .pyp-blog .blog-featured-image { width:100%; aspect-ratio:1.2; }
  .pyp-blog .blog-featured-copy { padding:24px; }
  .pyp-blog .blog-featured-copy h2 { font-size:28px; line-height:32px; padding-block:20px; letter-spacing:-.5px; }
  .pyp-blog .blog-index { padding-block:48px; }
  .pyp-blog .blog-section-heading { grid-template-columns:1fr; gap:20px; }
  .pyp-blog .blog-section-heading h2,.pyp-blog .blog-library h2 { font-size:34px; line-height:40px; letter-spacing:-.7px; }
  .pyp-blog .blog-card-grid { grid-template-columns:1fr; gap:24px; padding-top:32px; }
  .pyp-blog .blog-card { min-height:0; }
  .pyp-blog .blog-card-image { height:auto; aspect-ratio:411/253.998; }
  .pyp-blog .blog-card-image img { aspect-ratio:411/253.998; }
  .pyp-blog .blog-card h3 { line-height:28px; }
  .pyp-blog .blog-pagination { margin-top:32px; }
  .pyp-blog .blog-pagination > * { width:44px; height:44px; }
  .pyp-blog .blog-library { padding-block:48px; }
  .pyp-blog .blog-list { padding-top:32px; }
  .pyp-blog .blog-row { display:flex; flex-direction:column-reverse; align-items:stretch; gap:24px; padding-block:24px; }
  .pyp-blog .blog-row-image { height:auto; aspect-ratio:592/326; }
  .pyp-blog .blog-row h3 { font-size:28px; line-height:32px; padding-bottom:16px; }
  .pyp-blog .blog-row-body { gap:24px; }
}

/* Exact image containers and focal positions from the supplied Figma nodes. */
.pyp-blog .blog-featured{background:#f7f4ed;}
.pyp-blog .blog-breadcrumb{line-height:17px;}
.pyp-blog .blog-card-grid{grid-template-columns:minmax(0,411fr) minmax(0,410fr) minmax(0,411fr);}
.pyp-blog .blog-card-image,.pyp-blog .blog-row-image{position:relative;}
.pyp-blog .blog-card-image img,.pyp-blog .blog-row-image img{position:absolute;max-width:none;left:var(--image-left,50%);top:var(--image-top,50%);width:var(--image-width,100%);height:var(--image-height,100%);transform:translate(-50%,-50%);object-fit:cover;}
.pyp-blog .blog-pagination img{display:block;width:16px;height:16px;}
.pyp-blog .blog-card[data-article="european-outdoor-furniture-design-lessons"]{--image-width:210.2189781021898%;--image-height:240.55307522106472%;--image-left:101.21654501216545%;--image-top:24.999803148056284%;}
.pyp-blog .blog-card[data-article="cohesive-outdoor-furniture-collection"]{--image-width:110.94890510948905%;--image-height:101.18189907007142%;--image-left:50.121654501216554%;--image-top:49.80314805628391%;}
.pyp-blog .blog-card[data-article="coastal-outdoor-furniture-materials"]{--image-width:109.48905109489051%;--image-height:100.00078740777487%;--image-left:50.121654501216554%;--image-top:50%;}
.pyp-blog .blog-card[data-article="rope-furniture-hospitality"]{--image-width:99.7566909975669%;--image-height:99.60708352034268%;--image-left:50.121654501216554%;--image-top:49.80314805628391%;}
.pyp-blog .blog-card[data-article="hotel-pool-deck-furniture-planning"]{--image-width:111.92214111922141%;--image-height:101.96930684493579%;--image-left:50.121654501216554%;--image-top:49.80314805628391%;}
.pyp-blog .blog-card[data-article="one-container-fourteen-villas"]{--image-width:112.16545012165452%;--image-height:101.18189907007142%;--image-left:50%;--image-top:49.80275435239648%;}
.pyp-blog .blog-card[data-article="fob-vs-ddp-outdoor-furniture"]{--image-width:112.89537712895377%;--image-height:101.96930684493579%;--image-left:50.121654501216554%;--image-top:49.80314805628391%;}
.pyp-blog .blog-card[data-article="tariff-rules-outdoor-furniture"]{--image-width:114.11192214111922%;--image-height:103.15041850723235%;--image-left:50%;--image-top:50%;}
.pyp-blog .blog-card[data-article="custom-outdoor-furniture-development-process"]{--image-width:110.2189781021898%;--image-height:99.60708352034268%;--image-left:55.1094890510949%;--image-top:50.19685194371609%;}
.pyp-blog .blog-row[data-article="european-outdoor-furniture-design-lessons"]{--image-width:101.6891891891892%;--image-height:251.840490797546%;--image-left:0.8445945945945965%;--image-top:-41.41104294478528%;}
.pyp-blog .blog-row[data-article="cohesive-outdoor-furniture-collection"]{--image-width:102.7027027027027%;--image-height:104.60122699386503%;--image-left:50%;--image-top:50.15337423312884%;}
.pyp-blog .blog-row[data-article="coastal-outdoor-furniture-materials"]{--image-width:104.39189189189189%;--image-height:106.44171779141105%;--image-left:50%;--image-top:50.15337423312884%;}
.pyp-blog .blog-row[data-article="hotel-pool-deck-furniture-planning"]{--image-width:105.74324324324324%;--image-height:107.97546012269939%;--image-left:50%;--image-top:50%;}
.pyp-blog .blog-row[data-article="fob-vs-ddp-outdoor-furniture"]{--image-width:106.75675675675676%;--image-height:129.14110429447854%;--image-left:50%;--image-top:35.42944785276074%;}
.pyp-blog .blog-row[data-article="custom-outdoor-furniture-development-process"]{--image-width:102.02702702702702%;--image-height:104.60122699386503%;--image-left:50%;--image-top:49.84662576687116%;}
.pyp-blog .blog-row[data-article="rope-furniture-hospitality"]{--image-width:100%;--image-height:102.1472392638037%;--image-left:50%;--image-top:49.84662576687116%;}
.pyp-blog .blog-row[data-article="one-container-fourteen-villas"]{--image-width:100%;--image-height:102.1472392638037%;--image-left:50%;--image-top:49.84662576687116%;}
.pyp-blog .blog-row[data-article="tariff-rules-outdoor-furniture"]{--image-width:105.74324324324324%;--image-height:107.97546012269939%;--image-left:50%;--image-top:50%;}
@layer pyp-site-typography{html body #main-content.pyp-blog .blog-hero p.blog-kicker{line-height:15px!important;}}
@media(max-width:1100px){.pyp-blog .blog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.pyp-blog .blog-card-grid{grid-template-columns:1fr;}.pyp-blog .blog-row-image{aspect-ratio:592/326;}}

.pyp-blog .blog-row[data-article="european-outdoor-furniture-design-lessons"]{--image-width:101.6891891891892%;--image-height:251.840490797546%;--image-left:50.8445945945946%;--image-top:34.5092024539877%;}
@media(max-width:700px){
  @layer pyp-site-typography {
    html body #main-content.pyp-blog .blog-introduction h1 {font-size:36px!important;line-height:42px!important;letter-spacing:-.7px!important;}
  }
}

/* Image-only refresh from Figma 4954:1681. */
.pyp-blog .blog-featured-image img{inset:auto;left:102.32744783306582%;top:29.749103942652326%;width:212.0385232744783%;height:167.38351254480287%;max-width:none;transform:translate(-50%,-50%);object-fit:cover;}
.pyp-blog .blog-card[data-article="rope-furniture-hospitality"] img{object-fit:fill;}
