/* Production content and official identity; approved motion and layouts stay in site.css. */
:root{--paper:#F1E6D7;--cream:#F1E6D7;--ink:#070707;--dark:#070707;--copper:#B86330}
a:focus-visible,button:focus-visible{outline-color:var(--copper)}
.pill:hover{background:var(--copper)}
.hero-wordmark,.hero-note,.home-hero h1{color:var(--cream)}
.brand{max-width:270px;font-size:13px;white-space:nowrap}
.official-logo{width:240px;height:auto;object-fit:contain;max-width:100%}
.brand:has(.official-logo){padding:0 10px}
.brand .official-logo{width:215px;height:44px}
.menu-open .brand:has(.official-logo){background:var(--cream)}
.mobile-menu{background:var(--dark);color:var(--cream)}
.page-portfolio .mobile-menu:before{background:var(--dark)}
.footer-about .official-logo{margin-top:12px;background:var(--cream);padding:6px 10px;border-radius:8px}
.desktop-nav{gap:0}.nav-link{padding-left:10px;padding-right:10px;font-size:14px}
.narrative h2{color:var(--ink)}
.service-card p,.page-portfolio .opening-desc{color:#59524a}
.page-home .service-card p{color:#59524a}
.tag,.faq-item,.principle{background:#e7d9c9}
.offer{background:#f6eee3}.offer-featured{border:2px solid var(--copper)}
.price{font-size:32px!important;line-height:1.25!important;color:var(--copper)}
.rate-list{width:min(100%,760px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;text-align:left}
.rate-list>div{padding:24px;border:1px solid var(--copper);border-radius:16px}
.rate-list h3{font-size:21px}.rate-list p{margin-top:12px;font-size:24px}
.page-portfolio .category-label{color:var(--ink)}
/* Keep each portfolio cover in its original photographic proportions. */
.categories{align-items:start}
.category{aspect-ratio:auto}
.category img,.category:hover img,.category:focus-visible img,
.page-portfolio .category img,.page-portfolio .category:hover img,.page-portfolio .category:focus-visible img{
 position:static;left:auto;top:auto;translate:none;width:100%;height:auto;object-fit:contain
}
.natural-mosaic{columns:3;column-gap:16px;margin-bottom:24px}
.natural-photo{break-inside:avoid;overflow:hidden;border-radius:12px;margin-bottom:16px}
.natural-mosaic img{width:100%;height:auto;object-fit:contain}
.offers .offer{min-height:0;align-items:start}
.offer .offer-photo{height:auto;min-height:0;align-self:start}
.offer .offer-photo img{width:100%;height:auto;object-fit:contain}
.offer .offer-copy{padding-top:8px;gap:18px;min-width:0}
.offer .offer-copy p{font-size:16px;line-height:1.6}
.offer .offer-copy .offer-audience{font-size:20px;line-height:1.4;font-weight:600}
.offer-copy h4{margin:4px 0 0;font-size:16px;font-weight:600}
.offer .offer-copy li{margin:10px 0}
.offer .offer-copy .price{margin-top:8px}
.offers .section-heading>p{max-width:760px}
.offer-guidance{max-width:880px;margin:48px auto 16px;padding:32px;background:var(--cream);border:1px solid var(--copper);border-radius:20px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.offer-guidance h3{font-size:26px}.offer-guidance p{font-size:18px;line-height:1.6}
.page-executive .executive-narrative,.page-one .one-narrative{min-height:0}
.service-investment{min-height:0;height:auto;padding-top:80px;padding-bottom:80px;gap:48px;align-items:stretch}
.service-investment>div:first-child{max-width:900px;margin:0 auto;gap:24px}
.service-investment p{max-width:none;margin:0;line-height:1.65}
.included-services,.service-guidance{width:100%;max-width:1040px;margin:0 auto;text-align:left}
.included-services>h3,.service-guidance>h3{font-size:28px;margin-bottom:24px;line-height:1.25}
.included-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.included-grid article{padding:24px;border-radius:16px;background:var(--cream)}
.included-grid h4{font-size:20px;line-height:1.4;margin:0 0 12px;font-weight:500}
.service-guidance{padding:28px;border:1px solid var(--copper);border-radius:16px}
.service-guidance p+p{margin-top:16px}.service-guidance a{text-decoration:underline;text-underline-offset:3px}
.service-investment .rate-list{width:100%;max-width:1040px;margin:0 auto}
.service-investment .rate-list>div{display:flex;flex-direction:column;gap:16px}
.service-investment .rate-list .rate-price{font-size:24px;color:var(--copper)}
.service-investment .rate-list .rate-detail{font-size:16px;line-height:1.6}
.service-investment>.pill{align-self:center}
.page-one[data-route="/fotografia-institucional"] .rate-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-gallery .gallery-hero-natural{height:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;padding:80px 0 24px}
.gallery-hero-natural .gallery-hero-window{position:static;inset:auto;background:transparent}
.gallery-hero-natural .gallery-hero-window img{width:100%;height:auto;object-fit:contain}
.gallery-hero-natural .gallery-intro{position:static;width:auto;transform:none;padding:32px;background:transparent}
.gallery-hero-natural .gallery-intro .pill{margin-top:24px}
.page-gallery .natural-collection{display:block;columns:2;column-gap:16px}
.natural-collection .collection-photo{display:block;break-inside:avoid;aspect-ratio:auto;width:100%;margin-bottom:16px}
.natural-collection .collection-photo img{width:100%;height:auto;object-fit:contain}
.gallery-cta .photo-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;background:var(--dark);gap:24px}
.gallery-cta .photo-transform{position:static;inset:auto;transform:none}
.gallery-cta .photo-transform img{width:100%;height:auto;object-fit:contain}
.gallery-cta .photo-shade{display:none}
.gallery-cta .cta-title{padding:32px;font-size:clamp(42px,6vw,90px);letter-spacing:-2px}
.gallery-cta .cta-title em{font-size:inherit;line-height:1.2}
@media(min-width:810px) and (max-width:1199px){.natural-mosaic{columns:2}.offers .offer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}}
@media(max-width:809px){
 .natural-mosaic{columns:1;column-gap:0}.natural-photo{margin-bottom:12px}
 .offer .offer-copy{padding-top:20px}.offer-guidance{padding:24px;margin-top:32px}.offer-guidance p{font-size:16px}
 .service-investment{padding:48px 20px;gap:32px;min-height:0}
 .included-grid{grid-template-columns:1fr;gap:16px}.included-grid article{padding:20px}.service-guidance{padding:20px}
 .service-investment .rate-list,.page-one[data-route="/fotografia-institucional"] .rate-list{grid-template-columns:1fr}
 .page-gallery .gallery-hero-natural{grid-template-columns:1fr;padding-top:72px;gap:0}
 .gallery-hero-natural .gallery-intro{padding:24px 12px}
 .page-gallery .natural-collection{columns:1;column-gap:0}
 .natural-collection .collection-photo{margin-bottom:12px}
 .gallery-cta .photo-cta{grid-template-columns:1fr;gap:0}
 .gallery-cta .cta-title{padding:36px 20px;font-size:48px}
 .gallery-cta .cta-title em{font-size:inherit}
}
.article-title{max-width:1050px;margin:auto;font-size:48px;letter-spacing:-1.5px;line-height:1.15}
.blog-article{padding:104px 32px 64px}
.article-header{max-width:960px;margin:0 auto 48px}
.article-back{display:inline-block;margin-bottom:32px;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.article-kicker{color:#675647;font-size:14px;margin-bottom:16px}
.article-header h1{font-family:var(--sans);font-size:clamp(34px,4.5vw,60px);line-height:1.15;letter-spacing:-1.5px}
.article-byline{margin-top:24px;font-size:15px}
.article-body{max-width:760px;margin:0 auto;font-size:19px;line-height:1.8}
.article-body>p,.article-body>ul{margin:0 0 24px}
.article-body h2{font-size:30px;line-height:1.3;margin:52px 0 24px;letter-spacing:-.5px}
.article-body li{margin:8px 0}
.article-body strong{font-weight:600}
.article-figure{margin:40px 0}
.article-figure img{width:100%;height:auto;object-fit:contain;border-radius:12px}
.article-figure figcaption{font-size:14px;line-height:1.6;color:#675647;margin-top:12px}
.article-portrait{max-width:480px;margin-left:auto;margin-right:auto}
.article-related{padding:24px;background:#e7d9c9;border-radius:16px;margin:32px 0;font-size:17px}
.article-related a,.article-secondary{text-decoration:underline;text-underline-offset:4px}
.article-related small{display:block;margin-top:10px}
.article-contact{padding:32px;background:#e7d9c9;border-radius:20px;margin-top:48px}
.article-contact h2{margin-top:0}.article-contact p{margin-bottom:24px}
.article-contact-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.article-secondary{font-size:16px}
@media(max-width:809px){
 .blog-article{padding:88px 20px 40px}.article-header{margin-bottom:32px}.article-back{margin-bottom:24px}
 .article-header h1{font-size:34px;letter-spacing:-.8px}.article-body{font-size:18px;line-height:1.75}
 .article-body h2{font-size:26px;margin-top:36px}.article-contact,.article-related{padding:20px}
}
.article-pending{padding:64px;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:center;min-height:300px}
.article-pending p{flex-basis:100%;text-align:center}
.page-home .article-card:hover .article-image>span:before,.page-home .article-card:focus-visible .article-image>span:before{content:'Ver'}
.footer-groups>div{min-width:0}.footer-groups a{overflow-wrap:anywhere}.footer-about>p{min-height:0!important}
footer{min-height:460px}.footer-groups{padding-bottom:90px}
.page-portfolio .portfolio-menu-brand{max-width:calc(100vw - 120px)}
.page-portfolio .portfolio-menu-brand .official-logo{width:175px;height:32px;margin-top:3px}
@media(min-width:810px) and (max-width:1199px){
 .desktop-nav{display:none}.menu-toggle{display:block;margin-left:0}.header-contact{margin-left:auto;margin-right:12px}
 .page-portfolio .header>.brand,.page-portfolio .header>.header-contact{display:block}
}
@media(max-width:809px){
 .brand{max-width:calc(100vw - 110px);font-size:11px;padding-left:10px;padding-right:10px;white-space:normal;line-height:18px;min-height:38px;display:flex;align-items:center}
 .brand .official-logo{width:180px;height:44px}
 .mobile-menu{padding:76px 20px 60px;overflow-y:auto}.mobile-menu nav{gap:14px}
 .mobile-menu a{font-size:clamp(24px,5.4vw,36px);text-align:center;line-height:1.12}
 .mobile-menu .menu-caption{position:static;margin-top:30px}
 .page-portfolio .mobile-menu nav{gap:14px}.page-portfolio .mobile-menu:before{position:fixed}
 .page-portfolio .mobile-menu{padding:78px 20px 40px}
 .rate-list{grid-template-columns:1fr;gap:14px}.rate-list>div{padding:20px}
 .rate-list p{font-size:21px}.rate-list h3{font-size:20px}
 .investment{height:auto;min-height:844px}.article-title{font-size:32px;letter-spacing:-.8px}
 .article-pending{padding:36px 20px;flex-direction:column;align-items:stretch}
 .article-pending .pill{text-align:center;font-size:13px}
 footer,.page-portfolio>footer{min-height:1120px}.footer-groups{padding-left:20px;padding-right:20px}
 .page-home .home-cta-title{font-size:clamp(36px,10vw,56px)}
 .page-home .home-cta-title em{font-size:clamp(40px,11vw,64px)}
}
@media(max-width:360px){.category-label{font-size:13px;gap:4px;padding-left:10px;padding-right:10px}.page-portfolio .category-label{font-size:13px}.faq-intro .mixed{font-size:36px}.faq-intro .mixed em{font-size:36px}.one-opening .mixed,.one-opening .mixed em{font-size:36px}.pill{font-size:13px}.hero-note{font-size:23px}.page-home .service-card>div{padding-left:0;padding-right:0}}

.article-inline-link{text-decoration:underline;text-underline-offset:4px}

.article-body h3{font-size:23px;line-height:1.4;margin:32px 0 18px}.article-service-links{margin:0 0 24px;padding-left:22px}
