.fp-hero{position:relative;min-height:70vh;display:flex;align-items:flex-end;padding:160px 48px 80px;overflow:hidden}
.fp-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05)}
.fp-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,12,.4) 0%, rgba(15,14,12,.2) 40%, rgba(15,14,12,.95) 100%)}
.fp-hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;width:100%}
.fp-back{display:inline-block;color:var(--accent-2);font-size:14px;margin-bottom:24px;letter-spacing:.05em;transition:transform .2s}
.fp-back:hover{transform:translateX(-4px)}
.fp-title{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6vw,84px);line-height:1.05;letter-spacing:-.02em;margin-bottom:24px;max-width:900px}
.fp-lead{font-size:clamp(16px,1.4vw,20px);max-width:640px;color:rgba(246,239,228,.88)}

.fp-body{padding:96px 48px}
.fp-body-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;max-width:1280px;margin:0 auto;align-items:start}
.fp-desc p{margin-bottom:22px;font-size:17px;color:rgba(246,239,228,.85);line-height:1.65}
.fp-desc p:first-child{font-size:20px;color:var(--cream)}
.fp-aside{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;position:sticky;top:100px;display:flex;flex-direction:column;gap:16px}
.fp-aside h3{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:8px}
.fp-includes{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.fp-includes li{padding-left:24px;position:relative;font-size:15px;color:rgba(246,239,228,.85);line-height:1.5}
.fp-includes li:before{content:'';position:absolute;left:0;top:8px;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}

.fp-gallery-section{background:var(--bg-2)}
.fp-gallery{column-count:3;column-gap:14px;max-width:1380px;margin:0 auto}
.fp-gallery .tile{break-inside:avoid;margin-bottom:14px;border-radius:14px;overflow:hidden;cursor:zoom-in;transition:transform .35s}
.fp-gallery .tile:hover{transform:scale(1.015)}
.fp-gallery img{width:100%;height:auto;display:block;transition:filter .3s}
.fp-gallery .tile:hover img{filter:brightness(1.08)}

.fp-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;max-width:1280px;margin:0 auto}
.rel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .3s, border-color .3s;display:flex;flex-direction:column}
.rel-card:hover{transform:translateY(-4px);border-color:rgba(201,123,63,.4)}
.rel-img{aspect-ratio:4/3;background-size:cover;background-position:center}
.rel-body{padding:20px}
.rel-body span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.rel-body h4{font-family:var(--serif);font-size:20px;font-weight:400;margin-top:8px;line-height:1.2}

@media (max-width:1080px){
  .fp-body-grid{grid-template-columns:1fr;gap:40px}
  .fp-aside{position:static}
  .fp-gallery{column-count:2}
}
@media (max-width:760px){
  .fp-hero{padding:140px 20px 60px}
  .fp-body,.fp-gallery-section,.fp-related-section{padding:64px 20px}
  .fp-gallery{column-count:1}
  .fp-aside{padding:24px}
}
