/* Scoped portfolio styles reuse the site's shared tokens and navigation. */
.re-page{background:var(--black);color:var(--offwhite)}
.re-page a{color:inherit}.re-page a:focus-visible,.re-page button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.re-page .nav{background:var(--black);border-color:#333}.re-page .nav__logo,.re-page .nav__links a{color:var(--offwhite)}.re-page .nav__links a.active,.re-page .nav__links a:hover{border-color:var(--gold)}.re-page .nav__cta{background:var(--offwhite);color:var(--black)}.re-page .nav__toggle span{background:var(--offwhite)}.re-page .nav.open .nav__links{background:var(--black)}
.re-page .nav__submenu{background:var(--black);border-color:#333}
.re-container{max-width:1440px;padding:0 clamp(1.25rem,5vw,5rem);margin:auto}.re-header{padding:3rem 0 3.5rem}.re-back{display:inline-block;font-size:.8rem;color:#bbb!important;margin-bottom:2.5rem}.re-eyebrow{font-family:var(--f-mono);text-transform:uppercase;font-size:.65rem;letter-spacing:.13em;color:#bbb;line-height:1.7;margin-bottom:.75rem}.re-header h1{font-family:var(--f-body);font-weight:300;font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.13;letter-spacing:-.035em}.re-header h1 em{font-family:var(--f-serif);font-weight:400;color:var(--gold)}.re-intro{color:#bbb;font-size:.95rem;line-height:1.8;margin-top:1.25rem}.re-section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #333;padding-bottom:1rem}.re-section-heading h2,.re-section-heading span{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;font-weight:400;letter-spacing:.12em}.re-section-heading span{color:#bbb}.re-note{color:#bbb;font-size:.8rem;line-height:1.8;max-width:680px;margin:1.25rem 0 2rem}.re-projects,.re-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem}.re-photo{position:relative;margin:0;background:#262926;overflow:hidden}.re-photo img{width:100%;height:auto}.re-photo--warm img{filter:sepia(.3)}.re-photo figcaption{position:absolute;bottom:1rem;left:1rem;background:#0d0d0de6;color:#eee;padding:.5rem .7rem;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.04em;max-width:calc(100% - 2rem)}.re-card-info{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem}.re-card h3{font-size:1.4rem;font-weight:400;letter-spacing:-.02em}.re-location{color:#bbb;font-size:.8rem;margin-top:.5rem}.re-link{display:inline-block;font-size:.75rem;border-bottom:1px solid #777;padding-bottom:.35rem;white-space:nowrap}.re-card:hover .re-link,.re-link:hover{color:var(--gold);border-color:var(--gold)}.re-header--detail h1{font-size:clamp(2.5rem,6vw,5rem)}.re-gallery{margin-top:2rem;align-items:start;gap:2rem}.re-photo--portrait img{aspect-ratio:3/4;object-fit:cover}.re-project-nav{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid #333;margin-top:3rem;padding-top:1.5rem;font-size:.75rem;color:#bbb}.re-project-nav a:last-child{text-align:right}.re-project-nav span{display:block;font-size:1.1rem;color:var(--offwhite);margin-top:.65rem}.re-inquiry{border-top:1px solid #333;margin-top:5rem;padding:3.5rem 0 4rem}.re-inquiry h2{font-weight:300;font-size:clamp(1.75rem,3.5vw,3rem);margin-bottom:1.5rem;letter-spacing:-.025em}.re-contact{display:block;width:fit-content;color:#bbb!important;font-size:.75rem;margin-top:1.2rem}.re-footer{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #333;padding:1.5rem clamp(1.25rem,5vw,5rem);font-size:.7rem;color:#bbb}.re-skip{position:fixed;top:-100px;left:1rem;z-index:2000;background:var(--black);padding:1rem}.re-skip:focus{top:1rem}
@media(max-width:700px){.re-projects,.re-gallery{grid-template-columns:1fr;gap:2rem}.re-header{padding:2rem 0 2.5rem}.re-back{margin-bottom:2rem}.re-card-info{align-items:flex-start}.re-card h3{font-size:1.2rem}.re-inquiry{margin-top:3rem}.re-footer{flex-wrap:wrap}.re-project-nav span{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.re-page *{animation:none!important;transition:none!important}}
/* Match the supplied portfolio mockup's restrained captions and compact gallery. */
.re-card-info{position:relative;padding-right:1.5rem;align-items:flex-start}.re-card-info>.re-link{position:absolute;right:0;top:1.25rem;font-size:0;border:0}.re-card-info>.re-link::after{content:'→';font-size:1rem}.re-card h3{font-size:1rem}.re-card .re-eyebrow{font-size:.55rem;margin-bottom:.4rem}.re-gallery{gap:1rem}.re-inquiry h2{font-size:clamp(1.15rem,2vw,1.5rem)}.re-inquiry{padding:2.5rem 0 3rem}.re-photo--portrait img{aspect-ratio:auto;object-fit:contain}

/* Video projects share the expanding portfolio grid. */
.re-equipment{margin-top:5rem}
.re-equipment-list{display:grid;gap:1rem;margin-top:1.5rem;font-family:var(--f-body);font-size:.95rem;line-height:1.8}
.re-equipment-list>div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1rem}.re-equipment-list dt{font-weight:700;color:var(--offwhite)}.re-equipment-list dd{color:#bbb;min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.re-equipment{margin-top:3rem}.re-equipment-list>div{grid-template-columns:4.5rem minmax(0,1fr);gap:.75rem}}


.re-video{aspect-ratio:16/9;background:#262926}.re-video iframe{display:block;width:100%;height:100%;border:0}.re-video-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:1rem;color:#bbb;font-size:.8rem}.re-video-cover img{aspect-ratio:3/2;object-fit:cover}

/* Portfolio typography follows the main Photography page. */
.re-page--portfolio .re-header h1{font-family:var(--f-serif);font-weight:700;font-size:clamp(1rem,6vw,4.2rem);line-height:1.15;letter-spacing:-.03em;white-space:nowrap}
.re-page--portfolio .re-intro{font-family:var(--f-body);font-size:1.1rem}
.re-page--portfolio .re-note{font-family:var(--f-body);font-size:.95rem;line-height:1.8;max-width:760px}
.re-page--portfolio .re-card h3{font-family:var(--f-serif);font-size:1.45rem;font-weight:400}
.re-page--portfolio .re-location{font-family:var(--f-body);font-size:.85rem}
.re-page--portfolio .re-card .re-eyebrow{font-size:.62rem}
.re-page--portfolio .re-inquiry h2{font-family:var(--f-serif);font-size:clamp(1.8rem,3vw,2.8rem)}

/* One vertical pricing chart with a shared right-aligned price column. */
.re-pricing{margin:4rem auto 0;max-width:900px;scroll-margin-top:6rem;background:#fff;color:#0d0d0d;padding:clamp(1.5rem,4vw,3rem)}
.re-pricing-jump{margin-top:1.25rem}
.re-pricing .re-section-heading{border:0;padding:0;display:block}
.re-pricing .re-section-heading h2{font-family:var(--f-serif);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.025em;text-transform:none;line-height:1.2}
.re-page--portfolio .re-pricing .re-note{color:#333;margin:1rem 0 2rem;max-width:100%}
.re-pricing-grid{display:grid;grid-template-columns:1fr;gap:0}
.re-price-card{border-top:1px solid #d6d6d6;padding:1.5rem 0}
.re-price-card h3{font-family:var(--f-serif);font-size:1.45rem;font-weight:400;margin-bottom:1rem}
.re-price-card dl>div{display:grid;grid-template-columns:minmax(0,1fr) 6rem;align-items:baseline;gap:1rem;margin-top:.8rem}
.re-price-card dt{font-family:var(--f-body);font-size:1rem;color:#222;line-height:1.6}
.re-price-card dd{font-family:var(--f-body);font-size:1.2rem;font-weight:700;white-space:nowrap;text-align:right}
.re-price-addon{display:grid;grid-template-columns:minmax(0,1fr) 6rem;align-items:center;gap:1rem;border-top:1px solid #d6d6d6;padding:1.5rem 0;font-family:var(--f-body);font-size:1rem}
.re-price-addon small{display:block;font-size:.85rem;color:#444;margin-top:.5rem}
.re-price-addon strong{font-size:1.2rem;white-space:nowrap;text-align:right}
.re-pricing .re-link{color:#0d0d0d;border-color:#0d0d0d;font-size:.9rem}
.re-pricing .re-link:hover{color:#555;border-color:#555}
@media(max-width:700px){.re-pricing{margin-top:3rem}.re-price-card dl>div,.re-price-addon{grid-template-columns:minmax(0,1fr) 4.5rem;gap:.75rem}}

.re-service-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;font-family:var(--f-body);font-size:.95rem;line-height:1.7}
.re-service-details dt{font-weight:700}.re-service-details dd{color:#333}
.re-tours{border-top:1px solid #d6d6d6;margin-top:2rem;padding-top:1.5rem}.re-tours h3{font-family:var(--f-serif);font-weight:400;font-size:1.45rem}.re-tours p{font-size:.95rem;color:#333;line-height:1.7;margin:.75rem 0 1rem}
.re-inquiry .re-intro{margin:0 0 1.5rem;max-width:700px}
@media(max-width:700px){.re-service-details{grid-template-columns:1fr}}

.re-card .re-photo--floorplan img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:var(--white)}

/* Keep the approved logo visible on dark real-estate headers. */
.re-page .nav__logo .brand-logo{filter:invert(1)}
