@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(images/fuente-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(images/fuente-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(images/fuente-latin-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(images/fuente-latin-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(images/fuente-latin-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(images/fuente-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(images/fuente-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(images/fuente-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(images/fuente-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#24211d;--paper:#f8f6f1;--white:#fff;--gold:#80683f;--line:#ded8cd;--muted:#777167;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--space:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06}h1{font-size:clamp(50px,6.2vw,96px);letter-spacing:-.035em}h2{font-size:clamp(40px,4.5vw,68px);letter-spacing:-.03em}h3{font-size:32px}p{max-width:620px}em{font-weight:400;color:var(--gold)}.container{max-width:1440px;margin:auto;padding-inline:var(--space)}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.24em;display:block;margin-bottom:23px;color:var(--gold)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.topline{background:#24211d;color:#ded5c6;text-align:center;font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:8px 16px}.site-header{background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;height:101px}.brand{display:flex;align-items:center;gap:16px}.brand img{width:57px;height:53px;object-fit:contain}.brand span{display:block;font-size:12px;letter-spacing:.13em;font-weight:600;line-height:1.5}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:.32em;margin-top:5px}.nav{display:flex;align-items:center;gap:30px;font-size:11px}.nav a{position:relative}.nav a:not(.button):after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--gold);transition:width .2s}.nav a:hover:after,.nav a[aria-current=page]:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--ink);color:#fff;padding:16px 23px;font-size:10px;letter-spacing:.09em;border:1px solid var(--ink);transition:background .2s,transform .2s;min-height:46px}.button:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:32px;font-size:11px;border-bottom:1px solid var(--gold);padding:10px 0;line-height:1.4}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:10px 15px}.hero{position:relative;min-height:590px;height:min(660px,calc(100svh - 137px));background:#302a22;overflow:hidden;color:white}.hero>picture,.hero>picture img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,16,13,.78),rgba(16,16,13,.42) 35%,transparent 67%)}.hero-content{position:relative;z-index:1;padding-top:88px;max-width:1440px;margin:auto;padding-inline:var(--space)}.hero h1{max-width:620px;font-size:clamp(54px,5.7vw,88px)}.hero h1 em{color:#d6be92}.hero .eyebrow{color:#d8c5a1}.hero p{max-width:365px;color:#e2ded7;font-size:12px;margin-top:25px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.hero .text-link{color:white;border-color:#c2b08b}.hero-foot{position:absolute;bottom:28px;left:var(--space);right:var(--space);z-index:1;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#e0d6c8}.intro-band{border-bottom:1px solid var(--line);padding-block:30px}.intro-band .container{display:flex;justify-content:space-between;align-items:center;gap:25px}.intro-band p{font-family:var(--serif);font-size:25px}.intro-band span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.section{padding-block:100px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:48px}.section-heading p{font-size:12px;color:var(--muted);max-width:280px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,110px);align-items:center}.feature-photo{position:relative}.feature-photo img{height:620px;object-fit:cover}.photo-note{position:absolute;right:-25px;bottom:30px;background:var(--paper);padding:20px 28px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--line)}.split-copy{max-width:460px}.split-copy p{color:var(--muted);margin-top:28px;font-size:13px}.split-copy .text-link{margin-top:24px}.number-row{display:flex;align-items:baseline;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:35px}.number-row span{font-size:10px;color:var(--gold)}.number-row p{margin:0;font-size:12px}.service-section{background:#efebe3}.service-list{border-top:1px solid #d7cfc1}.service-row{display:grid;grid-template-columns:50px 1fr 1fr 30px;gap:20px;align-items:center;border-bottom:1px solid #d7cfc1;padding:25px 0;transition:padding .25s,color .25s}.service-row:hover{padding-inline:12px;color:var(--gold)}.service-row .num{font-size:10px;color:var(--gold)}.service-row h3{font-size:34px}.service-row p{font-size:11px;color:var(--muted);max-width:400px}.service-row .arrow{font-size:24px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.work{margin:0}.work img{height:440px;object-fit:cover;transition:transform .5s}.work a{display:block;overflow:hidden}.work a:hover img{transform:scale(1.025)}.work figcaption{display:flex;justify-content:space-between;margin-top:16px;font-size:10px}.work figcaption span{color:var(--muted);font-size:9px}.studio{background:#25231f;color:var(--paper)}.studio .split-copy p{color:#bdb6aa}.studio .eyebrow{color:#c5ab7b}.studio h2 em{color:#c5ab7b}.studio .text-link{color:#f8f6f1}.studio img{height:560px;object-fit:cover}.quote{font-family:var(--serif);font-size:32px;line-height:1.3;margin-top:32px;border-left:1px solid var(--gold);padding-left:25px;color:#e8dfce}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-intro p{color:var(--muted);font-size:12px;margin-top:25px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--gold);font-size:20px;line-height:1}details[open] summary:after{content:'−'}details p{padding:0 25px 25px 0;color:var(--muted);font-size:12px}.contact-banner{padding:70px 0;background:#e9e2d5}.contact-banner .container{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-banner h2{font-size:clamp(38px,4vw,58px)}.contact-banner .eyebrow{margin-bottom:15px}.footer{background:var(--paper);padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px}.footer h3{font:600 10px var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:20px}.footer p,.footer a:not(.brand){font-size:11px;color:var(--muted)}.footer-links{display:flex;flex-direction:column;gap:9px}.footer .brand{margin-bottom:20px}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.floating-wa{position:fixed;bottom:22px;right:22px;z-index:25;width:51px;height:51px;background:var(--ink);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0002;border:1px solid #b6a17d}.floating-wa svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5}.page-hero{padding:38px 0 70px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:10px;color:var(--muted);margin-bottom:50px;display:flex;gap:12px;flex-wrap:wrap}.page-hero h1{max-width:900px}.page-hero .lead{font-size:14px;color:var(--muted);max-width:550px;margin-top:25px}.page-hero .button{margin-top:30px}.service-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.service-hero img{height:540px;object-fit:cover}.service-hero h1{font-size:clamp(52px,5.5vw,82px)}.detail-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.detail-grid h2{font-size:48px}.offering{border-top:1px solid var(--line);padding:25px 0}.offering h3{font-size:30px;margin-bottom:12px}.offering p{color:var(--muted);font-size:13px}.guidance{background:#eeebe4;padding:35px;margin-top:25px}.guidance h3{margin-bottom:16px}.guidance p{color:var(--muted);font-size:13px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.filter{border:1px solid var(--line);padding:10px 20px;background:transparent;font-size:11px;cursor:pointer}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}[hidden]{display:none!important}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.contact-item{border-top:1px solid var(--line);padding:28px 0}.contact-item h3{font-size:30px;margin-bottom:12px}.contact-item p{color:var(--muted)}.contact-item a{display:inline-block;margin-top:15px}.location-panel{background:#e9e2d5;padding:45px;display:flex;flex-direction:column;justify-content:center;min-height:460px}.location-panel .big-address{font-family:var(--serif);font-size:70px;line-height:1.05;margin:20px 0}.location-panel p{font-size:13px}.reveal{opacity:1}.js .reveal.pending{opacity:0;transform:translateY(20px)}.js .reveal{transition:opacity .6s,transform .6s}.all-services{margin-top:35px}.empty-photo{background:#e9e2d5;min-height:420px;display:flex;flex-direction:column;justify-content:center;padding:50px}.empty-photo span{font-family:var(--serif);font-size:clamp(70px,10vw,140px);line-height:1;color:#c0af91}.empty-photo p{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:25px}.service-related{display:flex;gap:25px;flex-wrap:wrap;margin-top:30px}
@media(min-width:1600px){.hero{height:720px}.hero-content{padding-top:110px}}@media(max-width:1100px){.nav{gap:18px}.brand span{font-size:10px}.nav .button{padding:13px 16px}.feature-photo img{height:540px}.gallery-grid{gap:18px}.work img{height:360px}.service-hero{gap:35px}.faq-layout{gap:45px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.hero{min-height:610px}.hero h1{max-width:500px}}
@media(max-width:780px){.topline{font-size:8px}.header-inner{height:82px}.brand img{width:44px;height:44px}.brand{gap:12px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:25px var(--space);border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:5px}.nav.open{display:flex}.nav a{padding:12px 0}.nav .button{margin-top:10px}.nav a:after{display:none}.hero{height:auto;min-height:700px}.hero>picture img{object-position:61% center}.hero:after{background:linear-gradient(0deg,#151510e8 0%,#15151085 55%,#1515101a 100%)}.hero-content{padding-top:275px;padding-bottom:115px}.hero h1{font-size:58px;max-width:430px}.hero p{font-size:12px;max-width:340px}.hero .eyebrow{margin-bottom:18px}.hero-actions{gap:22px;flex-wrap:wrap}.hero-foot{font-size:8px}.hero-foot span:last-child{display:none}.intro-band{padding:24px 0}.intro-band .container{align-items:start;flex-direction:column;gap:9px}.intro-band p{font-size:23px}.section{padding-block:65px}.section-heading{align-items:start;flex-direction:column;gap:22px;margin-bottom:32px}.section-heading p{max-width:400px}.split{grid-template-columns:1fr;gap:40px}.feature-photo img{height:500px}.photo-note{right:12px;bottom:20px;padding:14px 20px}.split-copy{max-width:100%}.service-row{grid-template-columns:27px 1fr 22px;gap:14px;padding:23px 0}.service-row h3{font-size:29px}.service-row p{grid-column:2/3;grid-row:2;max-width:100%}.service-row .arrow{grid-column:3;grid-row:1}.gallery-grid{grid-template-columns:1fr 1fr}.work img{height:330px}.gallery-grid .work:nth-child(3):last-child{display:none}.studio img{height:480px}.faq-layout{grid-template-columns:1fr;gap:35px}.contact-banner .container{align-items:start;flex-direction:column}.contact-banner{padding-block:50px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/3}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px;padding-right:45px}.page-hero{padding-bottom:50px}.breadcrumb{margin-bottom:35px}.service-hero{grid-template-columns:1fr;gap:35px}.service-hero img{height:400px}.service-hero h1{font-size:58px}.detail-grid{grid-template-columns:1fr;gap:35px}.detail-grid h2{font-size:42px}.contact-grid{grid-template-columns:1fr;gap:35px}.location-panel{padding:30px;min-height:350px}.empty-photo{min-height:250px}.floating-wa{width:48px;height:48px;right:15px;bottom:15px}.quote{font-size:29px}.all-services{margin-top:25px}}
@media(max-width:430px){.hero h1{font-size:51px}.hero-content{padding-top:270px}.hero-actions{gap:16px}.hero-actions .button{gap:17px;padding:15px 18px}.hero-actions .text-link{gap:14px;font-size:10px}.feature-photo img{height:440px}.gallery-grid{gap:14px}.work img{height:250px}.work figcaption{flex-direction:column;gap:3px}.footer-grid{gap:25px}.service-hero h1{font-size:48px}.location-panel .big-address{font-size:57px}.service-row h3{font-size:26px}}@media(prefers-reduced-motion:reduce){html:not(.motion-user){scroll-behavior:auto}html:not(.motion-user) *,html:not(.motion-user) *:before,html:not(.motion-user) *:after{transition:none!important;animation:none!important}.js .reveal.pending{opacity:1;transform:none}}

@keyframes enter{from{transform:translateY(14px)}to{transform:translateY(0)}}.revealed{animation:enter .6s ease-out}.gallery-status{margin-bottom:20px;font-size:11px;color:var(--muted)}
@media(max-width:780px){.hero{min-height:0;background:#24211d}.hero>picture{display:block;position:relative;height:285px}.hero>picture img{object-position:65% center}.hero:after{display:none}.hero-content{padding-top:34px;padding-bottom:28px}.hero h1{font-size:52px}.hero p{margin-top:22px}.hero-actions{margin-top:25px}.hero-foot{position:static;padding:0 var(--space) 25px}.hero .eyebrow{font-size:9px}}@media(max-width:430px){.hero>picture{height:255px}.hero h1{font-size:48px}}
/* Motion system: photography, editorial entrances and interaction feedback. */
@keyframes photograph-breathe{from{transform:translateY(var(--photo-y,0px)) scale(1.035)}to{transform:translateY(var(--photo-y,0px)) scale(1.095)}}
@keyframes editorial-enter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@keyframes image-unveil{from{clip-path:inset(0 0 12% 0);opacity:.5}to{clip-path:inset(0);opacity:1}}
@keyframes gallery-enter{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.motion .hero>picture img{animation:photograph-breathe 16s ease-in-out infinite alternate;transform-origin:62% 45%;will-change:transform}
.motion .hero>picture img.motion-paused{animation-play-state:paused}
.motion .hero-content>.eyebrow{animation:editorial-enter .8s .1s both}
.motion .hero-content>h1{animation:editorial-enter 1.1s .22s both}
.motion .hero-content>p{animation:editorial-enter .9s .4s both}
.motion .hero-actions{animation:editorial-enter .9s .56s both}
.motion .hero-foot{animation:editorial-enter .9s .7s both}
.motion .motion-wait{opacity:0;transform:translateY(35px)}
.motion .motion-enter{animation:editorial-enter .95s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms) both}
.motion .feature-photo.motion-enter{animation:image-unveil 1.2s cubic-bezier(.2,.7,.2,1) both}
.motion-frame{overflow:hidden;position:relative;width:100%}
.motion-photo{transform:translateY(var(--photo-y,0px)) scale(1.1);transition:transform .25s linear;will-change:transform}
.motion .work.motion-enter:not([hidden]){animation:gallery-enter .8s cubic-bezier(.2,.7,.2,1) both}
.motion .work:nth-child(3n+2){animation-delay:.1s}.motion .work:nth-child(3n+3){animation-delay:.2s}
.work a{position:relative}.work a:after{content:'↗';position:absolute;right:18px;bottom:18px;border:1px solid #fff8;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;color:white;background:#24211d70;opacity:0;transform:translateY(10px);transition:opacity .35s,transform .35s}
.work a:hover:after,.work a:focus-visible:after{opacity:1;transform:translateY(0)}
.work img{transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s}.work a:hover img{transform:scale(1.07);filter:brightness(1.035)}
.button{position:relative;overflow:hidden;transition:background .35s,border-color .35s,transform .35s,box-shadow .35s}.button:hover{box-shadow:0 8px 22px #24211d18}
.button span,.text-link span,.service-row .arrow{display:inline-block;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.button:hover span,.text-link:hover span,.service-row:hover .arrow{transform:translate(4px,-4px)}
.text-link{transition:color .3s,gap .3s}.text-link:hover{color:var(--gold);gap:39px}
.service-row{transition:padding .4s,color .4s,background .4s}.service-row:hover{background:#fff4}
.filter{transition:background .3s,color .3s,border-color .3s,transform .3s}.filter:hover{border-color:var(--gold);transform:translateY(-2px)}
.motion body:before{content:'';position:fixed;left:0;top:0;width:100%;height:2px;background:#b69a69;z-index:50;transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
@media(prefers-reduced-motion:reduce){html:not(.motion-user) .motion-photo{transform:none;will-change:auto}html:not(.motion-user) .motion-wait{opacity:1;transform:none}html:not(.motion-user) .work a:after{transform:none}html:not(.motion-user) .button:hover,html:not(.motion-user) .filter:hover{transform:none}}

.motion-control{position:fixed;bottom:24px;left:24px;z-index:26;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 14px;font-size:9px;letter-spacing:.06em;min-height:44px;cursor:pointer;box-shadow:0 3px 15px #0001}.motion-control:hover{border-color:var(--gold)}html:not(.motion) .motion-photo{transform:none;will-change:auto}@media(max-width:780px){.motion-control{bottom:16px;left:15px;font-size:8px;padding:9px 12px}}
/* Signature materials: fibrous paper, brushed gold and charcoal grain. */
body,.site-header,.footer,.intro-band,.page-hero,.photo-note{background-image:url('images/textura-papel.svg');background-size:240px 240px}
.service-section,.guidance,.contact-banner,.location-panel,.empty-photo{background-image:url('images/textura-papel.svg');background-size:170px 170px}
.studio,.topline{background-image:url('images/textura-carbon.svg');background-size:190px 190px}
.section:not(.studio):not(.service-section){background-image:url('images/textura-papel.svg');background-size:240px 240px}
.service-section{background-color:#e7e1d4}.contact-banner{background-color:#dfd3bc}.studio{background-color:#201f1b}
.page-hero{position:relative}.page-hero:after{content:'';position:absolute;bottom:0;left:var(--space);width:80px;height:3px;background:var(--gold)}
@keyframes full-text-enter{0%{opacity:0;transform:translateY(58px);clip-path:inset(0 0 100% 0)}100%{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes full-photo-enter{0%{opacity:.15;clip-path:inset(8% 6% 8% 6%);transform:translateY(35px)}100%{opacity:1;clip-path:inset(0);transform:translateY(0)}}
@keyframes full-hero-drift{from{transform:translateY(var(--photo-y,0px)) scale(1.055)}to{transform:translateY(var(--photo-y,0px)) scale(1.15)}}
html[data-motion=full] .hero>picture img{animation:full-hero-drift 9s ease-in-out infinite alternate}
html[data-motion=full] .hero-content h1{animation:full-text-enter 1.5s .25s both}
html[data-motion=full] .hero-content>p{animation:editorial-enter 1.2s .65s both}
html[data-motion=full] .hero-actions{animation:editorial-enter 1.2s .85s both}
html[data-motion=full] .motion-enter{animation:editorial-enter 1.25s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) both}
html[data-motion=full] h1.motion-enter,html[data-motion=full] h2.motion-enter{animation:full-text-enter 1.4s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) both}
html[data-motion=full] .feature-photo.motion-enter{animation:full-photo-enter 1.5s cubic-bezier(.16,1,.3,1) both}
html[data-motion=full] .work.motion-enter{animation:gallery-enter 1.2s var(--reveal-delay,0ms) both}
html[data-motion=full] .hero>picture img.motion-paused{animation-play-state:paused}
/* Readability and action semantics. */
:root{--muted:#575147}
body{font-size:16px;font-weight:500}
h1,h2,h3{font-weight:600}em{font-weight:500}
.hero p,.split-copy p,.section-heading p,.service-row p,.faq-intro p,.offering p,.guidance p,.page-hero .lead,.contact-item p,.location-panel p{font-size:16px;line-height:1.8}
.hero p{max-width:440px;color:#f1ede6}.studio .split-copy p{color:#ddd5c9}
details summary,details p{font-size:16px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em}
.nav{font-size:14px;font-weight:600;gap:23px}.nav .button{font-size:13px}
.button,.text-link{font-size:14px;font-weight:600;letter-spacing:.025em;gap:16px}
.button{padding:16px 22px}.text-link:hover{gap:22px}
.hero .text-link{color:#fff}.hero-foot{font-size:11px}
.footer h3{font-size:13px}.footer p,.footer a:not(.brand){font-size:14px}.footer-bottom{font-size:12px}
.work figcaption{font-size:15px;font-weight:600}.work figcaption span{font-size:11px}.filter{font-size:14px;font-weight:600}
.breadcrumb,.gallery-status{font-size:14px}.photo-note,.number-row p,.intro-band span{font-size:12px}.topline{font-size:11px}.brand span{font-size:13px}.brand small{font-size:10px}
.action-icon{display:inline-block;width:21px;height:21px;min-width:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0;transition:transform .3s}
.footer-links a{display:flex;align-items:center;gap:8px}.footer-links .action-icon{width:17px;height:17px;min-width:17px}
.button:hover .action-icon,.text-link:hover .action-icon{transform:scale(1.1)}.service-row .action-icon{grid-column:4;justify-self:end}
.floating-wa{width:56.1px;height:56.1px;isolation:isolate;overflow:visible;box-shadow:0 4px 18px #0003}
.floating-wa .action-icon{width:26px;height:26px;stroke-width:1.65}
.floating-wa:before,.floating-wa:after{content:'';position:absolute;inset:-1px;border-radius:50%;pointer-events:none;z-index:-1;border:1px solid #b59b6f66;background:#a58a5d22}
.floating-wa:before{animation:whatsapp-pulse 3s ease-out infinite}.floating-wa:after{animation:whatsapp-pulse 3s 1.5s ease-out infinite}
@keyframes whatsapp-pulse{0%{transform:scale(1);opacity:.65;box-shadow:0 0 0 0 #a58a5d44}75%,100%{transform:scale(1.5);opacity:0;box-shadow:0 0 12px 10px #a58a5d00}}
@media(min-width:781px){.hero{height:760px;min-height:760px}.hero-content{padding-top:65px}.hero h1{max-width:680px}.hero-foot{bottom:30px}}
@media(max-width:1100px) and (min-width:781px){.brand span{font-size:11px}.brand small{font-size:8px}.nav{gap:13px;font-size:12px}.nav .button{font-size:12px;padding:14px}}
@media(max-width:780px){.hero .eyebrow{font-size:11px}.hero-actions{gap:18px}.hero-actions .button{font-size:14px;padding:15px 18px;gap:12px}.hero-actions .text-link{font-size:14px;gap:12px}.hero h1{font-size:50px}.floating-wa{width:52.8px;height:52.8px}.service-row .action-icon{grid-column:3;grid-row:1}.hero-foot{font-size:10px}.topline{font-size:9px}.brand span{font-size:12px}.brand small{font-size:9px}}
@media(max-width:430px){.work figcaption{font-size:14px}.hero h1{font-size:46px}.button{max-width:100%}.photo-note{font-size:10px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-grid>div:last-child{grid-column:auto}}

.work a:after{content:"";background:#24211d70 url("images/icono-ampliar.svg") center/22px no-repeat}
/* Google Maps inside the studio's paper-and-gold visual system. */
.contact-grid{grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,75px);align-items:start}
.location-map{padding:30px;min-height:0;border:1px solid #b7a280;box-shadow:0 12px 35px #24211d0d;position:relative}
.location-map:before{content:'';position:absolute;top:-1px;left:30px;width:65px;height:3px;background:var(--gold)}
.map-heading{padding:6px 3px 26px}.map-heading .eyebrow{margin-bottom:16px}.map-heading h2{font-size:clamp(36px,3.2vw,49px);margin-bottom:18px}.map-heading p{font-size:15px;color:var(--ink)}
.map-frame{border:1px solid #b7a280;padding:7px;background:var(--paper) url('images/textura-papel.svg');overflow:hidden}
.map-frame iframe{display:block;width:100%;height:380px;filter:grayscale(.85) sepia(.12);transition:filter .5s;background:#dfd8ca}
.map-frame:focus-within iframe,.map-frame:hover iframe{filter:grayscale(.35) sepia(.06)}
.map-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:23px}.map-footer>span{font-family:var(--serif);font-size:21px;font-weight:600;max-width:160px;line-height:1.3}.map-footer .button{font-size:13px;gap:12px;padding:14px 18px}
@media(max-width:1050px){.map-footer{align-items:start;flex-direction:column}.location-map{padding:24px}.map-frame iframe{height:350px}}
@media(max-width:780px){.contact-grid{grid-template-columns:1fr;gap:40px}.map-frame iframe{height:350px}.map-footer{flex-direction:row;align-items:center}.map-heading h2{font-size:43px}}
@media(max-width:430px){.location-map{padding:19px}.map-frame{padding:4px}.map-frame iframe{height:330px}.map-footer{flex-direction:column;align-items:start;gap:14px}.map-footer>span{max-width:none}}
.contact-item .button,.contact-item .text-link{display:inline-flex}
/* A compact, horizontal window into the studio. */
.action-section{background-color:#e9e2d5;border-block:1px solid #c8b99f;padding-block:75px}
.action-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:65px;align-items:center}
.action-intro h2{font-size:65px}.action-intro>p{font-size:16px;color:var(--muted);margin-top:24px}
.video-navigation{display:flex;align-items:center;gap:12px;margin-top:28px}
.video-navigation button{width:47px;height:47px;display:grid;place-items:center;background:transparent;border:1px solid #aa9673;cursor:pointer;color:var(--ink);transition:background .3s,color .3s}
.video-navigation button:hover{background:var(--ink);color:var(--paper)}.video-navigation button:disabled{opacity:.3;cursor:default;background:transparent;color:var(--ink)}
.video-position{font-size:12px;margin-left:9px;font-weight:600;font-variant-numeric:tabular-nums}
.video-hint{display:block;font-size:12px;color:var(--muted);margin-top:17px}
.video-stage{min-width:0}.video-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-padding:2px;padding:2px 2px 18px;scrollbar-width:thin;scrollbar-color:#a89169 #d7cbbb}
.video-card{flex:0 0 230px;scroll-snap-align:start;min-width:0;margin:0}.video-media{position:relative;background:#25231f;aspect-ratio:9/16;overflow:hidden;border:1px solid #a89169}
.video-media video{display:block;width:100%;height:100%;object-fit:contain}
.video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;background:linear-gradient(0deg,#17151070,transparent 60%);color:#fff;border:0}
.video-play svg{width:60px;height:60px;padding:17px;border:1px solid #f8f6f1bb;border-radius:50%;background:#24211d88;fill:currentColor;transition:transform .35s,background .35s;backdrop-filter:blur(3px)}
.video-play:hover svg{transform:scale(1.1);background:#80683fcc}.video-play>span{font-size:12px;font-weight:600;text-shadow:0 1px 4px #000}
.video-number{position:absolute;top:12px;left:12px;color:#fff;background:#24211d9c;padding:3px 9px;font-size:10px;font-weight:600;pointer-events:none}.video-media.is-playing .video-number{display:none}
.video-caption{padding-top:13px}.video-caption h3{font-family:var(--sans);font-size:14px;line-height:1.5;font-weight:600}.video-caption>span{font-size:9px;letter-spacing:.12em;color:var(--muted)}
.video-status{font-size:13px;color:var(--muted);margin-top:8px}.video-status:empty{display:none}
@media(max-width:1100px){.action-layout{grid-template-columns:230px minmax(0,1fr);gap:35px}.action-intro h2{font-size:56px}.video-card{flex-basis:215px}}
@media(max-width:780px){.action-section{padding-block:55px}.action-layout{grid-template-columns:1fr;gap:25px}.action-intro{position:relative}.action-intro h2{font-size:49px}.action-intro h2 br{display:none}.action-intro>p{max-width:480px;margin-top:18px}.video-navigation{margin-top:20px}.video-hint{margin-top:12px}.video-card{flex-basis:200px}.video-track{gap:15px}}
@media(max-width:430px){.video-card{flex-basis:190px}.action-intro h2{font-size:46px}}
.studio img.facundo-portrait{object-position:center 25%}
/* Content-first hierarchy: no decorative numbering. */
.service-row{grid-template-columns:1fr 1fr 30px}.service-row .action-icon{grid-column:3}
.cut-caption{border-top:1px solid var(--line);padding-top:24px;margin-top:35px}.cut-caption p{margin:0;font-size:14px;color:var(--muted)}
@media(max-width:780px){.service-row{grid-template-columns:1fr 24px;gap:12px}.service-row p{grid-column:1;grid-row:2}.service-row .action-icon{grid-column:2;grid-row:1}}

/* Gallery overlay uses the studio's dark and gold palette. */
.gallery-lightbox{border:1px solid #a89169;background:#24211d;color:#faf7ef;padding:0;width:min(1100px,94vw);max-width:94vw;max-height:94dvh;overflow:hidden;box-shadow:0 24px 90px #0008}
.gallery-lightbox::backdrop{background:#15130fea;backdrop-filter:blur(6px)}
.lightbox-shell{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:16px;padding:54px 20px 20px}
.lightbox-shell figure{margin:0;min-width:0;text-align:center}
.lightbox-shell img{display:block;width:100%;height:min(72dvh,760px);object-fit:contain}
.lightbox-shell figcaption{font-size:14px;font-weight:500;line-height:1.5;padding-top:16px;color:#eee4d3}
.lightbox-shell button{border:1px solid #a89169;background:transparent;color:#faf7ef;cursor:pointer;width:48px;height:48px;font-size:34px;line-height:1;display:grid;place-items:center}
.lightbox-shell button:hover{background:#a8916933}.lightbox-shell button:focus-visible{outline:3px solid #e3c990;outline-offset:3px}
.lightbox-close{position:absolute;right:14px;top:10px}.lightbox-shell button[hidden]{display:none}
@media(max-width:600px){.lightbox-shell{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px;padding:64px 7px 18px}.lightbox-shell button{width:36px;height:44px}.lightbox-shell img{height:65dvh}.lightbox-shell figcaption{font-size:12px}.lightbox-close{right:10px}}
