:root{--ink:#221714;--deep:#1a110f;--warm:#f4eee6;--paper:#faf7f2;--muted:#6b5b53;--line:#d4c7ba;--accent:#b79b7b;--white:#fffaf3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:absolute;left:-9999px;top:1rem;z-index:50;background:#fff;color:#111;padding:.7rem 1rem}.skip:focus{left:1rem}::selection{background:#c9ae90;color:var(--deep)}
.site-header{height:92px;position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4.4vw,84px);color:var(--white);border-bottom:1px solid rgba(255,255,255,.22)}.brand,.footer-brand{display:flex;align-items:center;gap:15px}.brand-symbol{font-family:'Italiana',Georgia,serif;font-size:36px;letter-spacing:-.13em;line-height:1}.brand-dot{color:var(--accent)}.brand-name,.footer-brand>span:last-child{font-size:12px;font-weight:700;letter-spacing:.21em;line-height:1.3}.brand-name small,.footer-brand small{display:block;font-size:8px;font-weight:500;letter-spacing:.29em;margin-top:4px}.nav{display:flex;align-items:center;gap:clamp(22px,2.4vw,44px);font-size:12px;font-weight:600;letter-spacing:.035em}.nav>a:not(.nav-cta){transition:opacity .25s}.nav>a:hover{opacity:.66}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:15px 19px;white-space:nowrap}.nav-cta span{margin-left:12px}.menu-toggle{display:none}
.hero{min-height:720px;height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;color:var(--white);background:var(--deep)}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background-image:url('assets/hero-editorial.png');background-size:cover;background-position:center 37%;transform:scale(1.04);animation:photo-arrive 1.6s cubic-bezier(.19,1,.22,1) forwards}.hero-shade{background:linear-gradient(90deg,rgba(17,10,8,.74) 0%,rgba(20,12,10,.58) 33%,rgba(20,12,10,.07) 75%),linear-gradient(0deg,rgba(20,12,10,.56),transparent 24%)}.hero-content{position:relative;z-index:1;max-width:760px;margin-left:clamp(24px,7.8vw,148px);padding-top:90px}.eyebrow,.section-index{font-size:11px;font-weight:700;letter-spacing:.23em}.hero-eyebrow{color:#d4bea8;margin:0 0 29px}.hero h1,.display{font-family:'Italiana',Georgia,serif;font-weight:400;letter-spacing:-.045em}.hero h1{font-size:clamp(84px,11.4vw,192px);line-height:.79;margin:0 0 28px}.hero h1 em,.display em,.statement em{font-style:normal;color:var(--accent)}.hero-subtitle{font-family:'Italiana',Georgia,serif;font-size:clamp(29px,3.2vw,49px);line-height:1.1;margin:0 0 17px}.hero-copy{font-size:15px;line-height:1.7;color:#f1e5d9;max-width:365px;margin:0 0 31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;padding:18px 23px;min-width:218px;font-size:12px;font-weight:700;letter-spacing:.06em;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-light{background:var(--white);color:var(--ink)}.button-light:hover{background:#dcc7b0}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#49362e}.button-outline{border:1px solid rgba(255,255,255,.65);color:var(--white)}.button-outline:hover{background:var(--white);color:var(--ink)}.hero-bottom{position:absolute;z-index:1;bottom:36px;left:clamp(24px,4.4vw,84px);right:clamp(24px,4.4vw,84px);display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.22em;color:#e6d9ca}
.section-pad{padding:clamp(88px,10vw,170px) clamp(24px,7.8vw,148px)}.intro{position:relative;min-height:690px;background:var(--paper);overflow:hidden}.intro-meta{display:flex;justify-content:space-between;gap:20px;max-width:1600px;margin:auto;color:var(--muted);font-size:10px;letter-spacing:.19em}.intro-grid{max-width:1600px;margin:85px auto 0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.54fr);gap:7vw;align-items:end}.display{font-size:clamp(55px,6vw,105px);line-height:.99;margin:0}.intro .display em{color:#a27e66}.intro-copy{padding-bottom:11px}.intro-copy p,.proof-right p,.academy-side p{font-size:clamp(15px,1.2vw,18px);line-height:1.85;color:var(--muted);margin:0 0 32px}.text-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:12px;font-weight:700}.text-link:hover{color:#98765e}.signature{position:absolute;right:-18px;bottom:-34px;font-family:'Italiana',Georgia,serif;font-size:clamp(80px,13.7vw,230px);white-space:nowrap;color:#eae2d9;z-index:0;pointer-events:none}.intro-grid,.intro-meta{position:relative;z-index:1}
.services{background:#eae0d4}.section-heading{max-width:1600px;margin:0 auto 80px;display:flex;justify-content:space-between;align-items:start;gap:50px}.section-heading .display{font-size:clamp(58px,6.5vw,112px)}.service-list{max-width:1600px;margin:auto;border-top:1px solid #bcae9f}.service-row{display:grid;grid-template-columns:12% 1fr auto;align-items:center;gap:20px;min-height:150px;border-bottom:1px solid #bcae9f;transition:padding .35s,background .35s}.service-row:hover{padding:0 25px;background:rgba(255,255,255,.26)}.service-number{font-size:12px;letter-spacing:.18em;color:#79695e}.service-text{display:flex;align-items:baseline;gap:35px}.service-text strong{font-family:'Italiana',Georgia,serif;font-weight:400;font-size:clamp(48px,5vw,83px);line-height:1}.service-text small{font-size:13px;color:#64564f}.service-arrow{font-size:31px;font-weight:300;transition:transform .25s}.service-row:hover .service-arrow{transform:translate(4px,-4px)}
.statement{position:relative;min-height:610px;background:#2a1b17;color:var(--white);display:grid;place-items:center;overflow:hidden;padding:110px 24px}.statement p{font-family:'Italiana',Georgia,serif;font-size:clamp(44px,5.3vw,90px);line-height:1.12;max-width:1180px;text-align:center;margin:0;position:relative;z-index:1}.statement-line{position:absolute;left:0;width:200%;font-family:'Italiana',Georgia,serif;font-size:clamp(80px,13vw,190px);line-height:1;white-space:nowrap;color:rgba(255,255,255,.035);pointer-events:none}.statement-line-one{top:4px;transform:translateX(-9%)}.statement-line-two{bottom:-28px;transform:translateX(-3%)}
.proof{background:var(--paper);display:grid;grid-template-columns:1fr minmax(320px,.55fr);gap:10vw}.proof-left,.proof-right{max-width:800px}.proof-left .display{margin-top:57px}.proof-right{padding-top:80px}.proof-right p{margin-bottom:46px}.proof-links{border-top:1px solid var(--line)}.proof-links a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:23px 0;font-family:'Italiana',Georgia,serif;font-size:34px;transition:padding .25s,color .25s}.proof-links a:hover{padding-left:12px;color:#977456}.proof-links a span:last-child{font-family:'DM Sans',sans-serif;font-size:20px}.proof-right small{display:block;margin-top:19px;color:#89786f;font-size:11px}
.academy{background:#46342d;color:var(--white)}.academy-inner{max-width:1600px;margin:auto}.academy .section-index{color:#ceb79f}.academy-content{display:grid;grid-template-columns:1fr minmax(280px,.42fr);gap:8vw;align-items:end;margin-top:86px}.academy .display{font-size:clamp(62px,7vw,122px)}.academy-side p{color:#e4d8ce}.academy-side .button{margin-top:6px}
.final-cta{text-align:center;background:#f3e9dc}.final-cta .display{font-size:clamp(62px,7.5vw,130px);margin:42px auto 25px}.final-cta p{color:var(--muted);font-size:16px;margin:0 auto 35px}.footer{background:var(--deep);color:var(--white);padding:65px clamp(24px,7.8vw,148px) 38px;display:grid;grid-template-columns:1fr auto;gap:80px}.footer-brand>span:last-child{display:block}.footer-links{display:flex;gap:32px;align-items:start;font-size:12px}.footer-links a:hover{color:#c7a98b}.footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:27px;color:#ab9a8c;font-size:11px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.hero .reveal:nth-child(2){transition-delay:.08s}.hero .reveal:nth-child(3){transition-delay:.16s}.hero .reveal:nth-child(4){transition-delay:.24s}.hero .reveal:nth-child(5){transition-delay:.32s}@keyframes photo-arrive{to{transform:scale(1)}}
@media(max-width:1050px){.nav{gap:16px}.nav>a:not(.nav-cta){font-size:11px}.hero-content{margin-left:6vw}.service-text{display:block}.service-text small{display:block;margin-top:8px}.intro-grid{gap:4vw}.proof{gap:5vw}}
@media(max-width:760px){.site-header{height:72px;padding:0 24px}.brand-symbol{font-size:31px}.brand-name{font-size:10px}.menu-toggle{display:grid;gap:6px;background:none;border:0;padding:15px;cursor:pointer;z-index:22}.menu-toggle span{display:block;width:23px;height:1px;background:var(--white);transition:transform .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{position:absolute;top:0;left:0;right:0;background:var(--deep);padding:100px 24px 32px;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 24px rgba(0,0,0,.25)}.nav.open{display:flex}.nav>a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:15px!important}.nav-cta{margin-top:18px;text-align:center;padding:16px!important}.hero{min-height:690px;height:100svh;align-items:end}.hero-photo{background-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(18,10,8,.92) 0%,rgba(18,10,8,.62) 37%,rgba(18,10,8,.12) 80%),linear-gradient(90deg,rgba(20,12,10,.16),transparent)}.hero-content{margin:0;padding:0 24px 105px;max-width:600px}.hero h1{font-size:clamp(76px,18vw,120px);margin-bottom:20px}.hero-eyebrow{font-size:9px;margin-bottom:22px}.hero-subtitle{font-size:33px}.hero-copy{font-size:13px;max-width:310px;margin-bottom:24px}.hero-bottom{bottom:23px;left:24px;right:24px;font-size:8px}.section-pad{padding:85px 24px}.intro{min-height:0;padding-bottom:140px}.intro-meta>span:last-child{display:none}.intro-grid{display:block;margin-top:55px}.intro .display{font-size:clamp(57px,13vw,88px)}.intro-copy{max-width:480px;margin-top:40px}.signature{font-size:90px;bottom:-11px;right:-80px}.section-heading{display:block;margin-bottom:55px}.section-heading .display{margin-top:31px;font-size:clamp(58px,12vw,85px)}.service-row{grid-template-columns:34px 1fr auto;min-height:120px;gap:10px}.service-text strong{font-size:clamp(42px,10vw,68px)}.service-text small{font-size:11px;line-height:1.4;max-width:220px}.service-arrow{font-size:24px}.statement{min-height:470px;padding:100px 24px}.statement p{font-size:clamp(44px,10vw,69px)}.proof{display:block}.proof-left .display{margin:31px 0 0}.proof-right{padding-top:42px}.proof-links a{font-size:30px}.academy-content{display:block;margin-top:46px}.academy .display{font-size:clamp(60px,13vw,93px)}.academy-side{margin-top:46px}.final-cta .display{font-size:clamp(60px,12vw,90px)}.footer{grid-template-columns:1fr;gap:38px;padding:55px 24px 30px}.footer-links{flex-wrap:wrap;gap:19px 28px}.footer>small{grid-column:1}}
@media(max-width:400px){.hero h1{font-size:70px}.hero-subtitle{font-size:29px}.hero-bottom span:first-child{display:none}.hero-bottom{justify-content:flex-end}.service-text strong{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo{animation:none;transform:none}.reveal{opacity:1;transform:none;transition:none}.button,.service-row,.service-arrow{transition:none}}

/* Shared inner pages and real client photography */
.hero-photo{background-image:url('assets/capa-leticia.jpeg');background-position:center 52%}
.inner-page .site-header{position:relative;background:var(--deep)}
.nav>a.active:not(.nav-cta){opacity:1}
.nav>a.active:not(.nav-cta)::after{transform:scaleX(1)}
.page-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:clamp(45px,8vw,130px);align-items:center;background:#f7f2eb}
.page-intro-copy{max-width:740px}.page-intro-copy .display{margin:35px 0 28px;font-size:clamp(68px,8vw,132px)}
.page-intro-copy>p,.about-copy p,.contact-intro>p,.contact-location-copy>p{max-width:510px;color:var(--muted);font-size:16px;line-height:1.85;margin:0 0 30px}
.page-portrait{margin:0}.page-portrait img{display:block;width:100%;height:min(68vw,720px);min-height:480px;object-fit:cover;object-position:center 54%;background:#dfd1c3}
.page-portrait figcaption{margin-top:12px;color:#85766c;font-size:11px;letter-spacing:.04em}
.about-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.76fr);gap:clamp(48px,9vw,150px);align-items:center;background:#eae0d4}
.about-photo img{display:block;width:100%;max-height:700px;aspect-ratio:1/1.12;object-fit:cover}
.about-copy .display{margin:32px 0}.about-copy p{max-width:570px;margin-bottom:20px}.about-copy .text-link{margin-top:15px}
.contact-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,.8fr);gap:clamp(55px,10vw,160px);align-items:start;background:#f7f2eb}
.contact-intro{position:sticky;top:40px}.contact-intro .display{margin:35px 0 28px;font-size:clamp(66px,7.5vw,120px)}
.contact-direct{display:flex;flex-direction:column;gap:9px;margin-top:45px;color:#817166;font-size:12px;letter-spacing:.08em}.contact-direct a{font-family:'Italiana',Georgia,serif;color:var(--ink);font-size:32px;letter-spacing:0}
.contact-form{display:flex;flex-direction:column;padding:clamp(28px,4vw,58px);background:#eee5db}
.contact-form label{margin:0 0 9px;color:#4e3c33;font-size:12px;font-weight:700;letter-spacing:.04em}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin:0 0 24px;padding:15px 0;border:0;border-bottom:1px solid #b9a99a;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:15px;outline:none}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:#7e5d47;box-shadow:0 1px 0 #7e5d47}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#96877b}.contact-form select:invalid{color:#96877b}.contact-form textarea{resize:vertical;min-height:120px}
.contact-form .button{align-self:flex-start;border:0;cursor:pointer}.form-note{margin:17px 0 0;color:#7d6c60;font-size:11px;line-height:1.6}
.contact-location{display:grid;grid-template-columns:minmax(0,.75fr) minmax(320px,1fr);gap:clamp(45px,8vw,125px);align-items:center;background:#eae0d4}
.contact-location-copy .display{margin:32px 0}.contact-location-copy>p{max-width:370px}.contact-map{display:block;width:100%;height:440px;border:0;filter:grayscale(.35) sepia(.15)}
@media(max-width:900px){.page-intro,.about-story{grid-template-columns:1fr 1fr;gap:40px}.contact-page{grid-template-columns:1fr 1fr;gap:36px}.contact-form{padding:28px}.contact-location{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:760px){.hero-photo{background-position:54% center}.page-intro,.about-story,.contact-page,.contact-location{grid-template-columns:1fr}.page-intro{gap:40px}.page-intro-copy .display,.contact-intro .display{font-size:clamp(62px,14vw,90px)}.page-portrait img{height:110vw;min-height:0;max-height:620px}.about-story{gap:40px}.about-photo img{aspect-ratio:1/1.05}.contact-intro{position:static}.contact-form{padding:26px 22px}.contact-location{gap:38px}.contact-map{height:300px}.nav>a.active:not(.nav-cta)::after{display:none}}

/* Result layout fallback: keeps the proof section stable even if the optional refinement layer is cached. */
.proof{display:block;background:#f7f2eb}
.proof-intro{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.2fr) minmax(240px,.55fr);gap:clamp(30px,6vw,100px);align-items:end;max-width:1600px;margin:0 auto 70px}
.proof-intro .display{margin:0}
.proof-intro p{max-width:330px;margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.result-gallery{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:clamp(14px,2vw,28px);max-width:1600px;margin:0 auto}
.result-card{margin:0}
.result-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;object-position:center;background:#e8ddd1;filter:saturate(.92) contrast(.98)}
.result-card figcaption{display:flex;flex-direction:column;gap:7px;padding-top:17px}
.result-card figcaption strong{color:#5f4638;font-size:11px;letter-spacing:.19em;text-transform:uppercase}
.result-card figcaption span{max-width:250px;color:var(--muted);font-size:13px;line-height:1.55}
.proof-right{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(300px,1fr);gap:clamp(30px,7vw,110px);align-items:end;max-width:1600px;margin:84px auto 0;padding-top:0}
.proof-right p{margin:0}.proof-links{align-self:end}.proof-right small{grid-column:2}
.micro-results{max-width:1600px;margin:clamp(94px,12vw,180px) auto 0;padding-top:clamp(70px,8vw,120px);border-top:1px solid #dfd2c5}
.micro-results-heading{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.1fr) minmax(240px,.6fr);gap:clamp(30px,6vw,100px);align-items:end}.micro-results-heading .display{margin:0}.micro-results-heading p{max-width:350px;margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.micro-results-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,.85fr) minmax(220px,.6fr);gap:clamp(22px,3vw,48px);align-items:end;margin-top:62px}.micro-results-grid .result-card img{aspect-ratio:1/1}.micro-results-cta{padding-bottom:8px}.micro-results-cta p{max-width:255px;margin:0 0 25px;color:var(--muted);font-size:15px;line-height:1.7}
@media(max-width:900px){.proof-intro{grid-template-columns:1fr 1.4fr}.proof-intro p{grid-column:2}.result-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.result-card-large{grid-column:1/-1}.proof-right{grid-template-columns:1fr}.proof-right small{grid-column:auto}.micro-results-heading{grid-template-columns:1fr 1.4fr}.micro-results-heading p{grid-column:2}.micro-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.micro-results-cta{grid-column:1/-1;padding-top:10px}}
@media(max-width:600px){.proof-intro{display:block;margin-bottom:47px}.proof-intro .display{margin:28px 0 30px}.result-gallery{grid-template-columns:1fr;gap:39px}.result-card-large{grid-column:auto}.proof-right{margin-top:64px}.micro-results-heading{display:block}.micro-results-heading .display{margin:27px 0 29px}.micro-results-grid{grid-template-columns:1fr;gap:39px;margin-top:46px}.micro-results-cta{grid-column:auto;padding-top:0}}
