
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/f/982538ce965491bddd0cd96f81c7c694ce19a3f4af7efbc9316ead7820b34c14.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/f/c80b489f34b4bb27a716682b8f8a5c3efec50fb8156e1088a43ed206003b6951.woff2") format("woff2")}

:root{--paper:#f5f0e8;--ivory:#eee5d8;--ink:#342a22;--muted:#746656;--gold:#9b7a4b;--line:#d6c9b7;--dark:#2e271f;--serif:"Cormorant Garamond",Georgia,serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;text-wrap:balance}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:white}img{display:block;max-width:100%}svg{display:block}em{font-weight:400}button[hidden],[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:16px;padding:12px 22px;z-index:100;background:var(--ink);color:white}.skip:focus{top:16px}.shell{width:min(1140px,calc(100% - 112px));margin:auto}.kicker{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.section-number{display:block;margin-bottom:22px;color:var(--gold);font:italic 18px var(--serif)}.arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1;flex:none}
.site-header{position:absolute;inset:0 0 auto;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:39px 4.4% 28px;column-gap:30px;background:linear-gradient(180deg,rgba(244,236,225,.94),rgba(244,236,225,.6) 50%,transparent)}.header-nav{display:flex;gap:32px;padding-top:12px;font:9px/1.6 var(--sans);letter-spacing:.17em;text-transform:uppercase}.header-nav a{padding-block:8px;position:relative}.header-nav a:after{content:"";position:absolute;bottom:2px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s}.header-nav a:hover:after{width:100%}.nav-right{justify-content:flex-end}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2;flex:none;font-family:Arial,Helvetica,sans-serif;color:var(--ink);width:max-content}.brand-name{font-size:24px;font-weight:400;letter-spacing:.015em;white-space:nowrap}.brand-name b{font-weight:300;display:inline-block;border-left:1px solid currentColor;width:0;height:28px;margin:0 10px;vertical-align:middle;opacity:.6}.brand-sub{font-size:9.6px;font-weight:500;letter-spacing:.37em;margin-top:7px;padding-left:.37em}.menu-toggle{display:none}.mobile-nav{grid-column:1/-1}
.entrance{position:relative;isolation:isolate;height:max(780px,100svh);max-height:1140px;overflow:hidden;background:var(--ivory)}.entrance-scene{position:absolute;inset:0;z-index:-2}.entrance-scene img{width:100%;height:100%;object-fit:cover;object-position:center center}.entrance-copy{position:absolute;top:47%;left:5%;width:49%;max-width:710px;transform:translateY(-42%);text-align:center;padding-inline:20px}.entrance-copy .kicker{font-size:9px;letter-spacing:.26em;margin-bottom:27px;color:#6d5843}.entrance h1{font:400 clamp(52px,5.7vw,88px)/.94 var(--serif);letter-spacing:-.04em}.entrance h1 em{display:block}.hero-rule{display:block;width:178px;height:1px;margin:35px auto 29px;background:linear-gradient(90deg,transparent,var(--gold) 18%,var(--gold) 82%,transparent)}.hero-description{max-width:320px;margin:auto;font-size:9px;line-height:2.15;letter-spacing:.2em;text-transform:uppercase;color:#64503f}.entrance-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid #a98b65;padding:14px 24px;margin-top:29px;font-size:9px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;transition:background .25s,color .25s}.entrance-button:hover{background:#6c5139;color:#fff9ee;border-color:#6c5139}.entrance-location{position:absolute;bottom:40px;left:5%;width:49%;text-align:center;font-size:8px;letter-spacing:.23em;text-transform:uppercase;color:#796550}.entrance-location span{display:block;height:34px;width:1px;background:var(--gold);margin:17px auto 0}
.welcome{padding:120px 0 115px}.welcome-heading{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.welcome h2{font:48px/1.05 var(--serif);letter-spacing:-.02em;margin-top:28px}.welcome h2 em{display:block}.welcome-copy{padding-top:49px;color:var(--muted);font-size:14px;line-height:1.95}.welcome-copy p+p{margin-top:20px}.text-link{display:inline-flex;align-items:center;gap:24px;margin-top:27px;padding-bottom:6px;border-bottom:1px solid var(--gold);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.signature{margin-top:30px;font:italic 26px var(--serif);color:var(--ink)}.signature small{display:block;font:9px/1.6 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-top:10px;color:var(--muted)}
.practice{padding:105px 0;background:#ede5d8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:52px}.section-top h2{font:52px/1.03 var(--serif);letter-spacing:-.025em;max-width:600px;margin-top:20px}.section-top>p{max-width:300px;font-size:13px;color:var(--muted)}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.service{border-top:1px solid #cbbcaa}.service summary{display:grid;grid-template-columns:25px 1fr 24px;gap:16px;align-items:center;padding:26px 0;cursor:pointer;list-style:none}.service summary::-webkit-details-marker{display:none}.service-number{font:italic 15px var(--serif);color:var(--gold)}.service h3{font:29px/1.1 var(--serif)}.service-plus{font-size:20px;font-weight:300;color:var(--gold);text-align:right;transition:transform .2s}.service[open] .service-plus{transform:rotate(45deg)}.service-body{padding:0 28px 30px 41px;color:var(--muted);font-size:13px;line-height:1.9}.service-body ul{padding-left:17px;margin:15px 0 0}.service-body li{margin-bottom:6px}.service-body .text-link{font-size:9px;margin-top:19px}.practice-note{margin-top:30px;font-size:10px;color:var(--muted)}
.approach{padding:110px 0 120px}.approach-head{text-align:center;margin-bottom:65px}.approach h2{font:52px/1.08 var(--serif);margin-top:23px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.step{border-top:1px solid var(--line);padding-top:26px}.step>span{font:italic 20px var(--serif);color:var(--gold)}.step h3{font:30px/1.1 var(--serif);margin:24px 0 17px}.step p{font-size:13px;line-height:1.9;color:var(--muted)}
.contact{padding:105px 0 95px;background:var(--dark);color:#eee4d6}.contact .kicker{color:#bfa580}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font:68px/.98 var(--serif);margin:24px 0 26px;letter-spacing:-.025em}.contact h2 em{display:block}.contact-intro{color:#c2b4a2;font-size:13px;max-width:310px}.contact-links{padding-top:12px}.contact-item{display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-bottom:1px solid #57483a;gap:20px}.contact-item small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:8px;color:#bfa580;margin-bottom:7px}.contact-item strong{font:400 23px var(--serif);overflow-wrap:anywhere}.contact-item .arrow{color:#bfa580}.contact-item:hover .arrow{transform:translate(2px,-2px)}.contact-meta{margin-top:28px;font-size:10px;line-height:2;color:#c2b4a2;letter-spacing:.025em}
.site-footer{display:flex;align-items:center;justify-content:space-between;padding:42px 5%;gap:30px;background:var(--paper)}.site-footer .brand-name{font-size:17px}.site-footer .brand-name b{height:21px;margin-inline:7px}.site-footer .brand-sub{font-size:7px}.site-footer p{font-size:9px;color:var(--muted)}.back-top{font-size:9px;text-transform:uppercase;letter-spacing:.13em;display:flex;gap:24px;align-items:center}.back-top span{font-size:18px;color:var(--gold)}
@media(min-aspect-ratio:17/10) and (min-width:901px){.entrance-scene img{object-position:center 60%}.entrance{min-height:740px}}
@media(max-width:1100px){.header-nav{gap:20px;font-size:8px}.site-header{padding-inline:3%;column-gap:22px}.brand-name{font-size:21px}.brand-name b{height:25px;margin-inline:7px}.brand-sub{font-size:8px}.welcome-heading{gap:60px}.shell{width:calc(100% - 80px)}.contact-grid{gap:60px}}
@media(max-width:900px){.site-header{align-items:center;padding:29px 24px 30px;grid-template-columns:1fr auto 1fr}.site-header>.brand{grid-column:2;grid-row:1}.header-nav{display:none}.menu-toggle{grid-column:3;grid-row:1;justify-self:end;display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:42px;height:42px;padding:8px;border:0;background:transparent}.menu-toggle span{width:21px;height:1px;background:var(--ink);transition:transform .2s}.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)}.mobile-nav{margin-top:22px;background:#f5eee3;padding:10px 24px 16px;box-shadow:0 16px 30px #342a2212}.mobile-nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.entrance{min-height:900px;height:100svh;max-height:1200px}.entrance-scene img{object-position:center center}.entrance-copy{left:0;width:49%;top:48%;padding-inline:22px}.entrance h1{font-size:clamp(43px,6.8vw,66px)}.entrance-copy .kicker{font-size:8px;line-height:1.8;margin-bottom:22px}.hero-description{font-size:8px;letter-spacing:.15em}.hero-rule{width:130px;margin:28px auto 24px}.entrance-button{padding:13px 17px;gap:15px;font-size:8px}.entrance-location{left:0;width:49%;bottom:34px;font-size:7px}.welcome{padding:85px 0}.welcome h2,.section-top h2,.approach h2{font-size:43px}.welcome-heading{gap:45px}.welcome-copy{padding-top:46px;font-size:13px}.practice{padding:80px 0}.section-top{gap:35px}.section-top>p{max-width:230px}.practice-grid{gap:0 36px}.service h3{font-size:26px}.service summary{grid-template-columns:20px 1fr 18px;gap:12px}.steps{gap:30px}.step h3{font-size:26px}.contact h2{font-size:59px}.contact-grid{gap:40px}.site-footer{flex-wrap:wrap}.site-footer p{order:3;flex-basis:100%;text-align:center}}
@media(max-width:600px){.shell{width:calc(100% - 44px)}.site-header{padding:27px 15px 24px}.brand-name{font-size:18px;letter-spacing:.01em}.brand-name b{height:23px;margin-inline:5px}.brand-sub{font-size:7px;margin-top:6px}.menu-toggle{width:36px;height:42px;padding:5px}.menu-toggle span{width:18px}.entrance{min-height:730px;height:100svh;max-height:950px}.entrance-scene img{object-fit:cover;object-position:42% center}.entrance-copy{width:50%;top:47%;padding:0 10px;transform:translateY(-35%)}.entrance h1{font-size:clamp(32px,7.6vw,45px);line-height:.99;letter-spacing:-.035em}.entrance-copy .kicker{font-size:6.8px;letter-spacing:.16em;max-width:145px;margin:0 auto 20px;line-height:1.9}.hero-rule{width:95px;margin:23px auto 21px}.hero-description{font-size:7px;line-height:2;letter-spacing:.12em;max-width:150px}.entrance-button{font-size:7px;letter-spacing:.13em;gap:9px;padding:12px 10px;margin-top:23px}.entrance-button .arrow{width:13px;height:13px}.entrance-location{font-size:6px;letter-spacing:.12em;bottom:25px;width:48%}.entrance-location span{height:24px;margin-top:12px}.welcome{padding:68px 0}.welcome-heading{grid-template-columns:1fr;gap:25px}.welcome h2{font-size:43px;margin-top:22px}.welcome-copy{padding-top:0;max-width:420px}.kicker{font-size:9px}.practice{padding:67px 0}.section-top{display:block;margin-bottom:32px}.section-top h2{font-size:43px}.section-top>p{max-width:340px;margin-top:24px}.practice-grid{grid-template-columns:1fr}.service summary{padding:23px 0}.service-body{padding-left:32px}.practice-note{font-size:9px}.approach{padding:68px 0}.approach-head{margin-bottom:40px;text-align:left}.approach h2{font-size:43px}.steps{grid-template-columns:1fr;gap:32px}.step{display:grid;grid-template-columns:32px 1fr;gap:0 14px;padding-top:22px}.step>span{grid-row:1/3;margin-top:5px}.step h3{font-size:28px;margin:0 0 14px}.step p{grid-column:2}.contact{padding:68px 0}.contact-grid{grid-template-columns:1fr;gap:28px}.contact h2{font-size:58px}.contact-links{padding:0}.contact-item strong{font-size:25px}.site-footer{padding:34px 22px;gap:25px}.site-footer .brand-name{font-size:14px}.site-footer .brand-name b{height:18px;margin-inline:5px}.site-footer .brand-sub{font-size:6px}.back-top{font-size:7px;gap:12px}.site-footer p{font-size:8px}}
@media(max-width:600px){.entrance{min-height:690px;height:100svh;max-height:820px;background:#eee5d8}.entrance-scene{top:auto;bottom:0;width:100%;aspect-ratio:2/3}.entrance-scene:after{content:"";position:absolute;inset:0 0 auto;height:110px;background:linear-gradient(#eee5d8,transparent);pointer-events:none}.entrance-scene img{object-fit:contain;object-position:center bottom}.entrance-copy{top:48%;width:50%}.hero-description{font-size:8px;letter-spacing:.09em;line-height:1.9}.entrance-copy .kicker{font-size:7px}.entrance-button{font-size:7.5px;letter-spacing:.1em}.entrance-location{display:none}}
/**/
.site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.site-header>.brand{grid-column:2;grid-row:1}
.header-nav.nav-left{grid-column:1;grid-row:1;display:flex;flex-wrap:nowrap;gap:clamp(12px,1.3vw,22px);padding-top:12px;justify-self:start;align-items:center;white-space:nowrap;letter-spacing:.1em}
@media(max-width:1200px) and (min-width:901px){.header-nav.nav-left{gap:8px;font-size:8px;letter-spacing:.04em}}
@media(max-width:900px){.header-nav.nav-left{display:none}.menu-toggle{grid-column:3;justify-self:end}.mobile-nav{justify-self:end;width:min(320px,calc(100vw - 48px));padding:10px 16px 16px}.mobile-nav a{font-size:9px;letter-spacing:.12em}}
/**/
.practice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.service.service-card{border:0;background:#f7f1e8;box-shadow:0 18px 45px rgba(38,28,20,.09)}
.service-card summary{position:relative;display:block;aspect-ratio:4/3;padding:0;overflow:hidden;isolation:isolate;background:#241d18;cursor:pointer}
.service-card summary::-webkit-details-marker{display:none}
.service-card .service-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.001);transition:transform 1.4s cubic-bezier(.22,.61,.36,1)}
.service-card summary:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,12,9,.16) 22%,rgba(16,12,9,.78) 100%);opacity:.42;transition:opacity 1s ease}
.service-card .service-number,.service-card .service-plus{position:absolute;top:20px;z-index:3;color:#f2dfbd;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.service-card .service-number{left:22px;font:italic 16px var(--serif)}
.service-card .service-plus{right:22px;font-size:24px;line-height:1;transition:transform .35s ease}
.service-card .service-title{position:absolute;left:24px;right:24px;bottom:24px;z-index:3;opacity:0;transform:translateY(16px);transition:opacity .95s ease,transform .95s cubic-bezier(.22,.61,.36,1)}
.service-card h3{font:clamp(25px,2.1vw,35px)/1.05 var(--serif);color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.service-card summary:hover .service-title,.service-card summary:focus-visible .service-title,.service-card[open] .service-title{opacity:1;transform:translateY(0)}
.service-card summary:hover .service-image,.service-card summary:focus-visible .service-image,.service-card[open] .service-image{transform:scale(1.045)}
.service-card summary:hover:after,.service-card summary:focus-visible:after,.service-card[open] summary:after{opacity:.68}
.service-card[open] .service-plus{transform:rotate(45deg)}
.service-card .service-body{padding:24px 25px 28px;color:var(--muted);font-size:13px;line-height:1.8;border-top:1px solid rgba(128,99,67,.18)}
.service-card .service-body ul{padding-left:17px;margin:14px 0 0}
.service-card .service-body .text-link{font-size:9px;margin-top:18px}
.practice-note{margin-top:34px}
@media(max-width:1100px){.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:700px){.practice-grid{grid-template-columns:1fr;gap:20px}.service-card .service-title{opacity:1;transform:none}.service-card summary:after{opacity:.62}.service-card .service-image{transform:scale(1.001)}.service-card h3{font-size:31px}}
@media(hover:none){.service-card .service-title{opacity:1;transform:none}.service-card summary:after{opacity:.62}}
@keyframes entranceDoorBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
.entrance-scene img{animation:entranceDoorBreath 18s cubic-bezier(.45,0,.55,1) infinite;transform-origin:50% 50%;will-change:transform;backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/**/
#servicios,#servicios .shell,.practice-grid{overflow:visible}
.service-card{position:relative;overflow:visible;isolation:auto}
.service-card[open]{z-index:30}
details.service-card>.service-body,
details.service-card:not([open])>.service-body{
  display:block;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:20;
  margin:0;
  background:rgba(247,241,232,.985);
  border-top:2px solid var(--gold);
  box-shadow:0 26px 55px rgba(38,28,20,.24);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-14px) scaleY(.94);
  transform-origin:50% 0;
  clip-path:inset(0 0 100% 0);
  transition:clip-path .68s cubic-bezier(.22,.61,.36,1),opacity .42s ease,transform .68s cubic-bezier(.22,.61,.36,1),visibility 0s linear .68s;
}
details.service-card[open]>.service-body{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scaleY(1);
  clip-path:inset(0);
  transition:clip-path .68s cubic-bezier(.22,.61,.36,1),opacity .52s ease,transform .68s cubic-bezier(.22,.61,.36,1),visibility 0s;
}
@media(prefers-reduced-motion:reduce){
  details.service-card>.service-body,
  details.service-card:not([open])>.service-body,
  details.service-card[open]>.service-body{transition:none;transform:none}
}

/**/
.section-reveal-text{
  opacity:0;
  transform:translateY(34px);
  filter:blur(3px);
  transition:opacity 1.35s cubic-bezier(.22,.61,.36,1),transform 1.35s cubic-bezier(.22,.61,.36,1),filter 1.2s ease;
  will-change:opacity,transform,filter;
}
.section-reveal-active .section-reveal-text{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
.section-reveal-active .section-reveal-text{will-change:auto}
@media(prefers-reduced-motion:reduce){
  .section-reveal-text{opacity:1;transform:none;filter:none;transition:none}
}

/**/
html.intro-active,
html.intro-active body{overflow:hidden}
.page-intro{
  position:fixed;
  inset:0;
  z-index:2147483646;
  display:grid;
  place-items:center;
  min-height:100svh;
  padding:32px 20px;
  overflow:hidden;
  background:#fff;
  color:#080808;
  transform:translate3d(0,0,0);
  transition:transform .9s cubic-bezier(.76,0,.24,1),visibility 0s linear .9s;
  will-change:transform;
}
.page-intro.is-leaving{
  transform:translate3d(0,-100%,0);
  visibility:hidden;
  pointer-events:none;
}
.page-intro-card{
  display:flex;
  width:min(86vw,520px);
  flex-direction:column;
  align-items:center;
  transform:translateY(-1.5vh);
}
.page-intro-door{
  position:relative;
  display:grid;
  place-items:center;
  width:clamp(112px,11vw,154px);
  height:clamp(154px,17vw,202px);
  margin-bottom:clamp(24px,3vw,38px);
  overflow:hidden;
  opacity:0;
  transform:translateY(20px) scale(.97);
  animation:introDoorIn .82s cubic-bezier(.22,1,.36,1) .08s forwards;
}
.page-intro-door::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:#111;
  opacity:.22;
  transform:scaleX(0);
  animation:introRuleIn .72s cubic-bezier(.22,1,.36,1) .5s forwards;
}
.page-intro-door img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:grayscale(1) contrast(1.05);
  transform:scale(1.07);
  animation:introDoorBreathe 1.8s cubic-bezier(.22,1,.36,1) .08s forwards,introDoorColor 1s cubic-bezier(.65,0,.35,1) .92s forwards;
}
.page-intro-wordmark{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(30px,4.1vw,54px);
  font-weight:500;
  line-height:.95;
  letter-spacing:.055em;
  text-align:center;
  white-space:nowrap;
  opacity:0;
  transform:translateY(14px);
  animation:introTypeIn .72s cubic-bezier(.22,1,.36,1) .6s forwards;
}
.page-intro-divider{
  display:inline-block;
  margin:0 .12em;
  font-weight:300;
}
.page-intro-sub{
  margin-top:12px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(9px,1vw,11px);
  font-weight:500;
  line-height:1;
  letter-spacing:.48em;
  text-indent:.48em;
  opacity:0;
  transform:translateY(9px);
  animation:introTypeIn .65s cubic-bezier(.22,1,.36,1) .78s forwards;
}
.page-intro-line{
  width:min(210px,48vw);
  height:1px;
  margin-top:22px;
  overflow:hidden;
  background:rgba(0,0,0,.12);
  opacity:0;
  animation:introFadeIn .4s ease .9s forwards;
}
.page-intro-line::after{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:#0a0a0a;
  transform:translateX(-101%);
  animation:introProgress 1s cubic-bezier(.65,0,.35,1) .92s forwards;
}
.page-intro.is-leaving .page-intro-card{
  opacity:0;
  transform:translateY(-18px);
  transition:opacity .36s ease,transform .55s cubic-bezier(.22,1,.36,1);
}
@keyframes introDoorIn{
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes introDoorBreathe{
  to{transform:scale(1)}
}
@keyframes introDoorColor{
  from{filter:grayscale(1) contrast(1.05)}
  to{filter:grayscale(0) contrast(1)}
}
@keyframes introTypeIn{
  to{opacity:1;transform:translateY(0)}
}
@keyframes introRuleIn{
  to{transform:scaleX(1)}
}
@keyframes introFadeIn{
  to{opacity:1}
}
@keyframes introProgress{
  to{transform:translateX(0)}
}
@media(max-width:600px){
  .page-intro-card{transform:translateY(-3vh)}
  .page-intro-door{width:116px;height:174px;margin-bottom:27px}
  .page-intro-wordmark{font-size:31px;letter-spacing:.035em}
  .page-intro-sub{font-size:9px;letter-spacing:.4em;text-indent:.4em}
}
@media(prefers-reduced-motion:reduce){
  .page-intro,
  .page-intro-card{transition-duration:.25s}
  .page-intro-door,
  .page-intro-door img,
  .page-intro-door::after,
  .page-intro-wordmark,
  .page-intro-sub,
  .page-intro-line,
  .page-intro-line::after{animation-duration:.01ms;animation-delay:0s}
}

/**/
.contact{position:relative;min-height:520px;overflow:hidden;isolation:isolate}
.contact .contact-grid{position:relative;z-index:2}
.contact .contact-links{padding-right:clamp(190px,18vw,255px)}
.contact-phone{
  position:absolute;
  right:clamp(10px,2.8vw,44px);
  top:50%;
  bottom:auto;
  z-index:1;
  width:clamp(210px,20vw,290px);
  aspect-ratio:878/1578;
  overflow:visible;
  transform:translateY(-32%);
  pointer-events:none;
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.3));
}
.contact-phone-base{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.contact-phone-dial{
  position:absolute;
  top:34.54%;
  left:28.82%;
  z-index:2;
  width:35.08%;
  aspect-ratio:1;
  overflow:visible;
  transform-origin:50% 50%;
  animation:rotaryDial 10.8s cubic-bezier(.45,.05,.55,.95) infinite;
  will-change:transform;
  backface-visibility:hidden;
}
.contact-phone-dial img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
@keyframes rotaryDial{
  0%,8%{transform:rotate(0deg)}
  15%,19%{transform:rotate(72deg)}
  29%,39%{transform:rotate(0deg)}
  47%,51%{transform:rotate(144deg)}
  63%,73%{transform:rotate(0deg)}
  81%,85%{transform:rotate(108deg)}
  95%,100%{transform:rotate(0deg)}
}
@media(max-width:900px){
  .contact{min-height:500px}
  .contact .contact-links{padding-right:155px}
  .contact-phone{right:8px;width:205px}
}
@media(max-width:600px){
  .contact{min-height:0}
  .contact .contact-links{padding-right:0}
  .contact-phone{right:4px;top:auto;bottom:-48px;width:190px;transform:none}
  .contact-meta{min-height:210px;padding-left:0;padding-right:196px}
}

/**/
.language-switch{
  grid-column:2;
  grid-row:1;
  align-self:start;
  justify-self:center;
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:58px;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:8px;
  font-weight:600;
  letter-spacing:.1em;
  line-height:1;
  white-space:nowrap;
}
.language-switch button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:0;
  padding:3px 2px 5px;
  border:0;
  border-bottom:1px solid transparent;
  background:transparent;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  cursor:pointer;
  opacity:.48;
  transition:opacity .3s ease,border-color .3s ease;
}
.language-switch button:hover,
.language-switch button:focus-visible{opacity:.82}
.language-switch button[aria-pressed="true"]{border-bottom-color:currentColor;opacity:1}
.language-switch button:focus-visible{outline:1px solid currentColor;outline-offset:3px}
.language-flag{display:block;flex:none;width:18px;height:12px;box-sizing:border-box;border:1px solid rgba(17,17,17,.22);border-radius:0;overflow:hidden}
.language-divider{opacity:.38}
@media(max-width:900px){.language-switch{margin-top:68px}}
@media(max-width:600px){.language-switch{margin-top:66px;font-size:7px;gap:3px}.language-switch button{gap:3px}.language-flag{width:16px;height:11px}}


/**/
html.intro-pending .entrance-copy,
html.intro-revealing .entrance-copy{--intro-copy-y:-42%}
@media(max-width:600px){
  html.intro-pending .entrance-copy,
  html.intro-revealing .entrance-copy{--intro-copy-y:-35%}
}
html.intro-pending .site-header{opacity:0;transform:translateY(-18px)}
html.intro-pending .entrance-copy{opacity:0;transform:translateY(calc(var(--intro-copy-y) + 28px))}
html.intro-pending .entrance-location{opacity:0;transform:translateY(18px)}
html.intro-pending .site-header,
html.intro-pending .entrance-copy,
html.intro-pending .entrance-location,
html.intro-revealing .site-header,
html.intro-revealing .entrance-copy,
html.intro-revealing .entrance-location{will-change:opacity,transform}
html.intro-revealing .entrance-copy{animation:introPageContentIn 1.35s cubic-bezier(.22,1,.36,1) .42s both}
html.intro-revealing .entrance-location{animation:introPageLocationIn 1.1s cubic-bezier(.22,1,.36,1) .78s both}
html.intro-revealing .site-header{animation:introPageHeaderIn .8s cubic-bezier(.22,1,.36,1) .52s both}
@keyframes introPageContentIn{
  from{opacity:0;transform:translateY(calc(var(--intro-copy-y) + 28px))}
  to{opacity:1;transform:translateY(var(--intro-copy-y))}
}
@keyframes introPageLocationIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes introPageHeaderIn{
  from{opacity:0;transform:translateY(-18px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  html.intro-pending .site-header,
  html.intro-pending .entrance-copy,
  html.intro-pending .entrance-location,
  html.intro-revealing .site-header,
  html.intro-revealing .entrance-copy,
  html.intro-revealing .entrance-location{
    opacity:1;transform:none;animation:none;will-change:auto;
  }
}
