*{box-sizing:border-box}:root{--bg: #f9f7f2;--text: #3a3633;--line: rgba(58, 54, 51, .1);--panel: rgba(255, 255, 255, .45);--header-height: 88px;--container: 1180px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif-hero: "Cormorant Garamond", Georgia, "Times New Roman", serif}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{background:none;border:none;color:inherit;cursor:pointer}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.app{min-height:100vh;background:var(--bg)}.site-main{padding-top:var(--header-height)}.section-content{width:min(var(--container),calc(100% - 40px));margin:0 auto;padding:28px 0 56px}.section-content h2{font-size:clamp(2rem,3vw,3rem);font-weight:300;letter-spacing:-.02em;margin:0 0 16px}.section-content>p{max-width:760px;font-size:1rem;margin:0 0 12px}.site-header{position:fixed;inset:0 0 auto 0;z-index:1000;height:var(--header-height);background:#f9f7f2eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.site-header.scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px #0000000a}.header-content{width:min(var(--container),calc(100% - 40px));height:100%;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.site-title{grid-column:1;justify-self:start;font-size:clamp(1.35rem,1.85vw,1.95rem);font-weight:300;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:var(--text)}.nav-links{grid-column:2;justify-self:center;display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.2vw,36px);min-width:0}.nav-links button{position:relative;padding:4px 0;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.nav-links button:after,.portfolio-categories button:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--text);transition:width .2s ease}.nav-links button:hover:after,.nav-links button.active:after,.portfolio-categories button:hover:after,.portfolio-categories button.active:after{width:100%}.lang-switch{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px}.lang-switch button{font-size:.9rem;opacity:.58;transition:opacity .2s ease}.lang-switch button.active,.lang-switch button:hover{opacity:1}.lang-switch button.active{text-decoration:underline;text-underline-offset:4px}.lang-divider{opacity:.45}.home-shell,.page-shell{min-height:100vh;padding-top:var(--header-height)}.home-view{min-height:calc(100vh - var(--header-height));display:flex;flex-direction:column;padding-bottom:48px}.inner-view{width:min(var(--container),calc(100% - 40px));margin:0 auto;padding:28px 0 48px}.hero-top{width:min(var(--container),calc(100% - 40px));margin:0 auto;padding:52px 12px 36px}.hero-quote{font-family:var(--font-sans);font-size:clamp(1.75rem,2.4vw,2.35rem);line-height:1.35;font-weight:300;letter-spacing:.02em;max-width:min(38rem,100%);text-align:center;margin:0 auto;text-transform:lowercase;color:var(--text)}.hero-quote span{font-family:var(--font-serif-hero);font-style:italic;font-weight:400;letter-spacing:.03em}.hero-stage{width:min(var(--container),calc(100% - 40px));margin:0 auto;flex:1 1 auto;display:flex;align-items:flex-start;justify-content:center;padding:12px 0 40px;min-height:0}.hero-main-image{display:block;width:100%;max-width:100%;height:auto;max-height:min(64vh,700px);object-fit:contain;object-position:center;border-radius:10px}.text-panel,.contact-panel,.portfolio-panel{width:100%}.text-panel h2,.contact-panel h2,.portfolio-panel h2{font-size:clamp(2rem,3vw,3rem);font-weight:300;letter-spacing:-.02em;margin-bottom:16px}.text-panel p,.contact-panel p{max-width:760px;font-size:1rem}.section-secondary-text{margin-top:14px;opacity:.82}.services-grid{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.services-section h2{font-size:clamp(1.35rem,1.8vw,1.75rem);letter-spacing:.08em;text-transform:uppercase;opacity:.72;text-align:left;margin-bottom:10px}.service-card{position:relative;isolation:isolate;border:1px solid var(--line);border-radius:18px;background:#ffffffb8;padding:24px;overflow:hidden}.service-card h3{font-size:1.12rem;font-weight:500;margin-bottom:10px}.service-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center 38%;filter:grayscale(1);opacity:.08;z-index:0}.service-card>*{position:relative;z-index:1}.service-card--artistic:before{background-image:url(/assets/proyectos/sonia-chapelet-retrato-mujer-joven-rubia.jpg);background-size:120%;background-position:center 28%}.service-card--commercial:before{background-image:url(/assets/trabajo/sonia-chapelet-fotografia-bebe-siesta-bajo-un-arbol.jpg);background-size:145%;background-position:center 84%}.services-cta{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.services-cta p{margin:0;font-size:1rem}.services-cta-btn{border:1px solid var(--text);border-radius:999px;padding:9px 16px;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;transition:background .2s ease,color .2s ease}.services-cta-btn:hover{background:var(--text);color:#fff}.section-content.section-portfolio{width:100%;max-width:none;margin:0 auto;padding:28px 0 48px}.portfolio-header{width:min(var(--container),calc(100% - 40px));margin:0 auto;padding:0 0 20px}.portfolio-header h2{margin:0 0 12px}.project-series-intro{max-width:820px;margin-top:18px}.project-series-intro h3{margin:0 0 10px;font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:400;letter-spacing:.01em}.project-series-intro p{margin:0 0 10px;font-size:1rem;line-height:1.65;text-align:justify}.portfolio-view{padding-top:24px}.portfolio-panel{margin:0;padding:0}.portfolio-categories{display:flex;align-items:center;gap:24px;flex-wrap:nowrap;overflow-x:auto;margin:0;padding-bottom:4px;scrollbar-width:thin}.portfolio-categories button{position:relative;flex:0 0 auto;white-space:nowrap;padding:4px 0;font-size:1rem}.portfolio-grid-wrap{width:100%;padding:0 max(10px,env(safe-area-inset-left)) 0 max(10px,env(safe-area-inset-right));background:#fff}.portfolio-grid{column-count:3;column-gap:4px}.portfolio-item{display:inline-block;width:100%;margin:0 0 4px;padding:0;border-radius:0;overflow:hidden;background:transparent;break-inside:avoid;line-height:0;vertical-align:top}.portfolio-item img{width:100%;height:auto;display:block;border-radius:0;transition:opacity .25s ease}.portfolio-item:hover img{opacity:.92}.contact-intro{max-width:760px}.contact-location{margin-top:14px;opacity:.82}.contact-details{display:grid;gap:18px;margin-top:28px}.contact-item{display:grid;gap:4px}.contact-label{font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;opacity:.56}.contact-link{font-size:1rem}.contact-whatsapp-btn{display:inline-block;margin-top:2px;padding:10px 18px;font-size:.95rem;letter-spacing:.03em;color:#fff;background:#25d366;border-radius:999px;text-decoration:none;width:fit-content;transition:filter .2s ease,transform .15s ease}.contact-whatsapp-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#12100fe0;display:flex;align-items:center;justify-content:center;padding:24px}.lightbox-inner{position:relative;max-width:min(1100px,100%);max-height:100%}.lightbox-inner img{max-width:100%;max-height:88vh;border-radius:16px}.lightbox img{max-width:100%;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:16px}.lightbox-close{position:absolute;top:-16px;right:-8px;width:42px;height:42px;border-radius:999px;background:#ffffffeb;color:var(--text);font-size:1.8rem;line-height:1}@media (max-width: 980px){:root{--header-height: 128px}.header-content{width:min(var(--container),calc(100% - 28px));grid-template-columns:1fr;justify-items:center;align-content:center;gap:8px;padding:10px 0}.site-title,.nav-links,.lang-switch{grid-column:1}.site-title,.lang-switch{justify-self:center}.nav-links{gap:18px;flex-wrap:wrap;justify-self:center}.inner-view,.hero-top,.hero-stage,.section-content{width:min(var(--container),calc(100% - 28px))}.section-content.section-portfolio{width:100%;max-width:none}.portfolio-header{width:min(var(--container),calc(100% - 28px))}.services-grid{grid-template-columns:1fr}.portfolio-grid{column-count:2;column-gap:4px}.portfolio-item{margin-bottom:4px}}@media (max-width: 640px){:root{--header-height: 118px}.site-title{font-size:1.35rem;text-align:center}.nav-links{gap:14px}.nav-links button{font-size:.9rem}.inner-view,.hero-top,.hero-stage,.section-content{width:min(var(--container),calc(100% - 24px))}.section-content.section-portfolio{width:100%;max-width:none}.portfolio-header{width:min(var(--container),calc(100% - 24px))}.hero-top{padding:36px 10px 28px}.hero-quote{font-size:clamp(1.45rem,4.2vw,1.95rem);max-width:none;padding:0 8px;white-space:normal;line-height:1.32}.hero-main-image{max-height:min(54vh,500px);border-radius:8px}.portfolio-grid{column-count:2;column-gap:3px}.portfolio-item{margin-bottom:3px}.portfolio-categories{gap:16px}}@media (max-width: 380px){.portfolio-grid{column-count:1;column-gap:0}.portfolio-item{margin-bottom:3px}}html,body,#root{margin:0;padding:0;min-width:100%;min-height:100%}body{margin:0}
